Я постил нижележачюю проблему, спустя 1,5 месяца хочу рассказать всю историю полностью ввиду странных вещей, с к-рыми мне пришлось столкнуться.Невозможно сразу определить в какую именно рубрику запостить сию историю,
но держу пари, что она подходит по кр. мере под 2 темы - админ-ние и юмор/приколы .
Итак, сами мы сист. интеграторы, возник объект где моей вполне рутинной задачей была установка роутера (на базе FreeBSD 4.9) + прорубание окна
в направлении Инетских просторов по схеме :|---- внутр. сеть ----| гейт с FreeBSD на борту (NAT router) |-----|Conexant ADSL-рутер|---|Провы на 3 буквы | --- Внешний мир
Адреса гейта и адсл-рутера, смотрящего на наш гейт - из сети с маской /30 .
Сразу замечу, что harware - комплектация этой машины под рутер, состав софта, а також схема подключения к инету являлась ПОЛНЫМ
аналогом комплектации рутера, установленного в контексте пред. заказа
(т е. машины под гейт были настолько идентичны, что установка ПО на данный рутер свелась к операции dd if/of итд с винта пред. гейта),
прошу обратить на этой внимание и запомнить .
После такого вот переноса системы и настройки базовых её параметров (ip-адреса, рутинг/маскарадинг/firewalling ) и пред
варительного тестирования в оффисных условиях ("it works!...") свеже/быстровыпеченный гейт был препровожден в офис заказчика и там подключен
через ADSL-модем/рутером Conexant к инету (таким же образом как и и гейт пред. клиентов) .
Я и не знал на что меня обрекла судьба ...
Итак, боевая сводка .
В благостном неведении соединяюсь по ssh с новорожденной в качестве инет-шлюза машиной - нэт конэкт .
Щупаем пингом - щупается, и ишо как !! Со страшной силой - с 25 дуплицированными пакетами на каждый обычный пакет !
Характерно причем то , что дуп-пакеты кажет только *nixовый ping - с любой винды ping вам покажет только необходимое кол-во icmp-ответов ...
Пингуем ADSLку - пингуется со штатным энтузиазмом, не забывая передавать icmp-приветы в том числе И ОТ ПЛЮЮЩЕГОСЯ ДУП-ПАКЕТАМИ нашего гейта за ним !
Какие мысли возникали в эту пору - что конекзант настроен нерадивыми провами в дебаг-режиме, например .
Однако выяснить это у печально известных провов (это к-рые на 3 большие буквы откликаются, вы поняли, о ком я )
не представлялось возможным ооочень дооолго в силу характерных особенностей работы их службы поддержки (не могу об этом не упомянуть, достали, паразиты!).
Тем не менее, зазевавшийся (т е опрометчиво поднявший трубку на мой 3301 по счёту тел. звонок) и таки принявший заявку сотрудник техсаппорта
довольно скоро облегченно отрапортовал что с его машины все (наш гейт и адсл-рутер конекзант) пингуется и "простА нету нИкакИх прААблЕм!"
(Леонтьев В. (С))) . Точнее, проблемы есть, но они суть теперь только наши .
На осознании чего и закончилось плодотворное
сотрудничество с провским техсаппортом .
Чтож , копаем дальше .
Выясняем :
- пакеты из внутр. сети идущий через пресловутый гейт и далее по конекзанту во внешний мир и обратно ходят вполне успешно - они НЕ дублируются!
Проверено tcpdump'ом, доказано зануссей .
- Также не дублируются icmp-пакеты, пущенные с гейта с адресом сет. адаптера ВНУТРЕННЕЙ СЕТИ .
- tcp/udp соединения с гейта невозможны по причине "отсутствия маршрута к хосту" ... : - |
Icmp трафик тем не менее как то ходит .
- Весь остальной тип исходящего трафика с самого гейта неизменно вызывает дублирование пакетов.Переназначаем адреса на сет. адаптерах на гейте - картинка та ж .
И наконец откровение :
Коли выгрузить natd , то проблема исчезает ("И тут все стихло ...") ...
Пакеты ходят на гейт и обратно как стайки тропических рыбок в аквариуме . Есесьсьно, в лок. сеть уже не ходит ничего ))
Тем не менее, стОит только снова загрузить natd и , разумеется, забить divert - правило в файрволле, как праздник незамедлительно
берет свежий старт - снова начинается буйство неукротимых пакетов .Выводы .
Как известно, дублирование пакетов может наблюдаться коли что не впорядке на link - уровне, или же в ситуации когда IP - адрес представляется
как адрес широковещательный . Идиотизмом не страдаю - маска подсети выставлена корректно - была и есть.
Но вот причем тут natd ...PS
Как же решилась проблема ?Проблема решилась в добром согласии с наиболее тупыми предложении с форумов ("Поставь ЛинуХ !") - я сначала проверил как все будет
работать через Knoppix с настроенной марш-зацией и НАТом . Работает ! Поставил нормальный дистриб.Цыть, флеймеры ! Я поставил линух только по той причине, что не годится ставить например w2k в качестве гейта/файрволла с моей точки зрения .
И уж не для того, чтобы продемонстрировать доказательства того, что "линух в сети круче, чем фрюха" . У меня оставалось слишком мало времени,
для того, чтобы пробовать например ipnat и как следствие возиться с ipf. Поставил ту ось, к-рая в данной ситуации делает то, что велено и
к-рую я достаточно неплохо знаю .ИСКЛЮЧИТЕЛЬНО редко теперь можно увидеть только 1 дуп-ответ на пинг ...
Я прошерстил достаточно материала по аналогичным случаям - о ничем похожем никто слыхом не слыхивал .
Так ли это ?
Что скажете, коллеги ?Thanx for the patience .
Под сиим словесным поносом, трудно разобрать где косяки, хотелось бы посмотреть конфиги НАТа, а так же с чем собрано ядро и правила ipfw.
>Под сиим словесным поносом, трудно разобрать где косяки,
Согласен, изложение немного сумбурное .
Я это и публиковал больше как историю . С вопросом в конце .хотелось бы посмотреть конфиги
>НАТа, а так же с чем собрано ядро и правила ipfw.
>1. Нат пускается без хитростей : natd -n <внешний и-фейс> - конфигов нет.
2. Ядро собрано с теми же параметрами, что и успешно и без граблей работающий
гейт, с к-рого клонировали этот при помощи dd ввиду (опять же) ПОЛНОЙ ИДЕНТИЧНОСТИ hardware . То же проц, тот же винт (изготовитель и форм-фактор), та же мамка и почее - все ИДЕНТИЧНОЕ . И конекзанты и там и там - одинаковые - только вот в 1ом месте гейт-близнец работает, в другом - такая вот хрень .
3. Правила ipfw я выгружал на время диагностирования проблемы - так что нет смысла их публиковать .Что с ними, что без них пакеты как дублировались, так и продолжали это делать.
настройки не все менял вот и все. Лучше дублировать не настроенную систему, а настройки делать все по своему. Наверняка настройки nat не поменял, вот и получил. Кстати я не понял с какого компа ты делал копию, если роутер один на всех.
>настройки не все менял вот и все. Лучше дублировать не настроенную систему,
>а настройки делать все по своему. Наверняка настройки nat не поменял,
>вот и получил. Кстати я не понял с какого компа ты
>делал копию, если роутер один на всех.1. Настроек там раз-два - и обчелся :
- ip адреса внешнего и внутр. сет. и-фейсов .
- шлюз по умолчанию (ip - адрес ADSL-рутера ) .2. У ната НЕТ конфига - он в командной строке получает необходимые параметры, точнее они прописываются в rc.conf .
3. С идентичного в плане hardware роутера .
Подробнее :
Заказаны были 2 машины с абсолютно одинаковой комплектацией, 1 из них при описанной схеме подключения работает вполне успешно , со второй вот непонятки вышли . Обе работают с миром через идентичные же Conexant'ы .
а что мешает использовать ipnat и ipfw? Ipfilter вовсе и не обязательно мучить.
>а что мешает использовать ipnat и ipfw? Ipfilter вовсе и не обязательно
>мучить.Я не пробовал эту связку вместе, хотя скорее всего нет причин чтобы она не работала .
К тому же поздно - проблема то решена как такая, но не отпал вопрос ))Наблюдения приводят к выводу, что скорее всего тут комплекс причин - на
этом форуме говорили, что конекзанты - штука непредсказуемая, раз. Плюс явно
что то не то с natd - иначе с чего бы системе прекращать сыпать dup-пакетами
на каждый локально сгенерённый с гейта по выключению nat - демона и ликвидации divert-правила, два .А ты пробовал юзать связку inat+ipfw ?
ее и использую - нет необходимости делать DIVERT и все очень просто настраивается.
>>а что мешает использовать ipnat и ipfw? Ipfilter вовсе и не обязательно
>>мучить.
>
>Я не пробовал эту связку вместе, хотя скорее всего нет причин чтобы
>она не работала .
>К тому же поздно - проблема то решена как такая, но не
>отпал вопрос ))
>
>Наблюдения приводят к выводу, что скорее всего тут комплекс причин - на
>
>этом форуме говорили, что конекзанты - штука непредсказуемая, раз. Плюс явно
>что то не то с natd - иначе с чего бы системе
>прекращать сыпать dup-пакетами
>на каждый локально сгенерённый с гейта по выключению nat - демона и
>ликвидации divert-правила, два .
>
>А ты пробовал юзать связку inat+ipfw ?Для ната какие опции в ядро включал?
>а что мешает использовать ipnat и ipfw? Ipfilter вовсе и не обязательно
>мучить.Как ты можешь работать с ipnat без ipfilter?
ipfilter и есть твой ипнат и ипф.ipnat и ipfw - еще хуже, ты используешь 2-е опции в ядре и IPFIREWALL и IPFILTER, кстате, который не обязательно мучить.
Мучает сомнение, что в ipfw на nat пакеты заворачивались так, что получалось их дублирование.
>Мучает сомнение, что в ipfw на nat пакеты заворачивались так, что получалось
>их дублирование.Не мучайся :
ipfw add divert 8668 ip from any to any via <ext iface>
ipfw add allow ip from any to any via anyвот весь список правил .
natd -n <ext iface>
Все ! И ничего более . И все равно сыпало дупами ...
Конфиг ядра (и само ядро) ТАКИЕ ЖЕ, как и на нормально работающем гейте-близнеце, с диска к-рого делался имидж с помощью dd, только др. ip-адреса выставлял , разумеется .
>>Мучает сомнение, что в ipfw на nat пакеты заворачивались так, что получалось
>>их дублирование.
>
>Не мучайся :
>
>ipfw add divert 8668 ip from any to any via <ext iface>
>ipfw add allow ip from any to any via any
>
>вот весь список правил .
>
>natd -n <ext iface>
>
>Все ! И ничего более . И все равно сыпало дупами ...
>
>
>Конфиг ядра (и само ядро) ТАКИЕ ЖЕ, как и на нормально работающем
>гейте-близнеце, с диска к-рого делался имидж с помощью dd, только др.
>ip-адреса выставлял , разумеется .Да е.. посмотри в конфиг ядра, что ты ставил IPFIREWALL?
>Да е.. посмотри в конфиг ядра, что ты ставил IPFIREWALL?Пожаллста, конфиг ядра в этом плане у 2 машин одинаковый :
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_FORWARD
options IPDIVERTТолько вот 1 из них дупами не сыпет .
>
>>Да е.. посмотри в конфиг ядра, что ты ставил IPFIREWALL?
>
>Пожаллста, конфиг ядра в этом плане у 2 машин одинаковый :
>
>options IPFIREWALL
>options IPFIREWALL_VERBOSE
>options IPFIREWALL_FORWARD
>options IPDIVERT
>
>Только вот 1 из них дупами не сыпет .Задам интересный вопрос: sshd запускал? Как?
>Задам интересный вопрос: sshd запускал? Как?Вопрос действительно интересный .
/usr/sbin/sshd ))))
а ты пробывал посмотреть tcpdump'ом посмотреть что у тебя там творить в это время дупов?
>а ты пробывал посмотреть tcpdump'ом посмотреть что у тебя там творить в
>это время дупов?Воистину пробовал . И показал мне tcpdump то о чем сказано в моем посте - идущие с локалки пакеты и пакеты, сгенеренные pingом с гейта с указанием адреса его внутреннего и-фейса как источника (ключик -S) не дупятся . Все остальное с гейта дупится по 25 раз на пакет .
Повторяюсь уже ...
Столкнулся С ТАКОЙЖЕ ПРОБЛЕМОЙ!!!
Правда модем был aus.linx (точнее и сейчас есть:)
FreeBSD 5.3, ставил 5.2.1, НО пакеты дублировались ОТ МЕНЯ!
тем самым забивали канал...
привез к себе в офис поменял ТОЛЬКО IP адреса ВСЕ ПУЧКОМ...
Вот уже 3 день башню сносит, что делать не знаю.
Кто знает в чем дело, отпишите плз сюда
http://www.bsdportal.ru/viewtopic.php?t=3799
>Столкнулся С ТАКОЙЖЕ ПРОБЛЕМОЙ!!!
>Правда модем был aus.linx (точнее и сейчас есть:)
>FreeBSD 5.3, ставил 5.2.1, НО пакеты дублировались ОТ МЕНЯ!
>тем самым забивали канал...
>привез к себе в офис поменял ТОЛЬКО IP адреса ВСЕ ПУЧКОМ...
>Вот уже 3 день башню сносит, что делать не знаю.
>Кто знает в чем дело, отпишите плз сюда
>http://www.bsdportal.ru/viewtopic.php?t=3799
Слушай ка ... А какая была маска подсети для ПЕРВОГО IP, и какая сейчас ?
У меня .252 для внешнего, например . У меня появилось тихое подозрение ...