|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Dmitrij Lystsov 2:5020/400 28 Nov 2005 13:31:40 To : Mykola Dzham Subject : Re: ...не могу решить простую задачу!!! -------------------------------------------------------------------------------- >>>>Есть ОДИ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} 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}. Почему? Или запрос с измененным ХОПом должен пройти еще раз правила? >>Подскажите как побороть это безобразие? > > Попытаться таки понять как идут пакеты и именно и как именно их надо > перенаправлять. > Если адрес не принадлежит сети ${net0} или ${net1}, то запрос идет на defaultrouter. defaultrouter находиться в сети ${net0} и берется из таблицы маршрутизации Уточню еще раз, что у меня два GATEWAY-я лежащих в разных сетях. Поэтому любой запрос к адресам вне сети ${net0} или ${net1} формируется как исходящий запрос через ${int0} - а мне так не надо. ХОП то меняется, а интерефейс как изменить, если ${gate1} лежит в сети ${net1}? -- Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru --- ifmail v.2.15dev5.3 * Origin: Talk.Mail.Ru (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/5606125fdcd8.html, оценка из 5, голосов 10
|