|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Mykola Dzham 2:5020/400 28 Nov 2005 14:42:51 To : Dmitrij Lystsov Subject : Re: ...не могу решить простую задачу!!! -------------------------------------------------------------------------------- Dmitrij Lystsov wrote: > >>>>Есть ОДИH сервер с ДУМЯ сетевухами, сидящий в РАЗHЫХ сетях. > >>>>ОБЕ сети имеют выход в инет, но с разными шлюзами: > >>>>Для ПЕРВОЙ сети ПЕРВЫЙ шлюз, для ВТОРОЙ сети - ВТОРОЙ шлюз. > >>>>Задача разрулить трафик САМОГО СЕРВЕРА исходя из АДРЕСА источника. > >>>>Источники - службы на СЕРВАКЕ запущенные под разными адресами. > >>> > >> > >>Я тут немного поэксперементировал ... > >>Если делаю, типа: > >>ping -S ip1 www.ru > >> > >>то незамедлительно получаю: > >>ping: sendto: Permission denied > >>ping: sendto: Permission denied > >>ping: sendto: Permission denied > >>ping: sendto: Permission denied > >> > >>Гляжу в лог, а там: > >>Deny ICMP:8.0 ip1 www.ru out via int0 > > > > > >Хорошо бы не заниматься художественной резней по конфигам а показывать > >все прописанные у тебя правила. > ----ipfw.conf---- > ${fwcmd} -f flush > # > ${fwcmd} add 100 check-state > ${fwcmd} add 200 allow ip from any to any via lo0 > ${fwcmd} add 300 allow tcp from any to any established > # > # REJECT PRIVAT IP (RFC1918) > ${fwcmd} add 500 reject ip from 10.0.0.0/8 to any in via ${int1} > ${fwcmd} add 550 reject ip from 172.16.0.0/12 to any in via ${int0} > ${fwcmd} add 600 reject ip from 172.16.0.0/12 to any in via ${int1} > ${fwcmd} add 650 reject ip from 192.168.0.0/16 to any in via ${int0} > ${fwcmd} add 700 reject ip from 192.168.0.0/16 to any in via ${int1} > > ${fwcmd} add 8000 allow log icmp from ${net1} to ${ip1} > ${fwcmd} add 8100 allow log icmp from ${ip1} to ${net1} > ${fwcmd} add 8200 allow log icmp from not ${net1} to ${ip1} in via > ${int1} icmptypes 0,3,8,13,14,30 > ${fwcmd} add 8300 fwd ${gate1} log icmp from ${ip1} to not ${net1} out > via ${int0} Ой, а у тебя тут уже int0 а не int1. > 65535 deny from any to any > > >>А какого хрена, я думаю, запрос лезет от имени ip1 с интерфейса int0 - > >>должен то с int1 идти и прямиком на gate1. > >>Что за ерунда. > >>Так мои правила ни когда не применятся. > >>Вот к примеру сейчас для ICMP запросов они такие: > >> > >>allow log icmp from not net1 to ip1 in via int1 icmptypes 0,3,8,13,14,30 > >>fwd gate1 log icmp from ip1 to not net1 out via int1 > > > > > >Пока ты пакет не перенаправил на gate1 он пытается уйти через int0 а не > >через int1 . Соответственно это твоё правило бессмысленно. > Что оно бессмысленно я уже понял. > > Дело в том, что IPFW FWD изменяет следующий ХОП, для запроса с > определенным адресом, в моем случае с адреса ${ip1}. > Проходя через правило 8300 следующий ХОП меняется, но уже с измененных > ХОПом запрос продолжает двигаться с ${int0}. Почему? Кто тебе сказал что он продолжает двигаться с int0 Hа момент _проверки_ соответствия условиям fwd правила у него будет тот интерфейс, какой получается исходя из правил роутинга. _Проверка_ соответствия условиям естественно выполняется до выполнения собственно fwd. > Или запрос с измененным ХОПом должен пройти еще раз правила? > > >>Подскажите как побороть это безобразие? > > > >Попытаться таки понять как идут пакеты и именно и как именно их надо > >перенаправлять. > > > Если адрес не принадлежит сети ${net0} или ${net1}, то запрос идет на > defaultrouter. > defaultrouter находиться в сети ${net0} и берется из таблицы маршрутизации > > Уточню еще раз, что у меня два GATEWAY-я лежащих в разных сетях. > > Поэтому любой запрос к адресам вне сети ${net0} или ${net1} формируется > как исходящий запрос через ${int0} - а мне так не надо. > ХОП то меняется, а интерефейс как изменить, если ${gate1} лежит в сети > ${net1}? Если ты поменяешь next hop с помощью fwd то интерфейс будет выбран согласно роутинговой таблице для gate1, так что ничего менять не надо. -- LEFT-(UANIC|RIPE) JID: levsha@jabber.net.ua --- ifmail v.2.15dev5.3 * Origin: National Taras Shevchenko University of Kyiv (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/10490f68eaaa7.html, оценка из 5, голосов 10
|