Главная страница


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Dmitrij Lystsov                      2:5020/400     28 Nov 2005  15:45:25
 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}
 > 
 > Ой, а у тебя тут уже int0 а не int1.
 
 Да, поменял на ${int0} и в итоге получил полный затык. 100% потеря 
 пакетов. Если поставить ${int1} - то правило не примениться, поскольку 
 пакет пытается выйти через ${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}. Почему?
 > 
 > 
 > Кто тебе сказал что он продолжает двигаться с int0
 
 После команды:
 #ping -S ${ip1} хх.ххх.ххх.ххх
 В логе вот что:
 - ---security.log---
 kernel: ipfw: 8300 Forward to ${gate1} ICMP:8.0 ${ip1} хх.ххх.ххх.ххх 
 out via ${int0}
 
 $tcpdump -i ${int0} icmp
 ...
 ${ip1} > хх.ххх.ххх.ххх: icmp 64: echo request seq 0
 ${ip1} > хх.ххх.ххх.ххх: icmp 64: echo request seq 1
 ${ip1} > хх.ххх.ххх.ххх: icmp 64: echo request seq 2
 ...
 
  >  Hа момент _проверки_ соответствия условиям fwd правила у него будет тот
 > интерфейс, какой получается исходя из правил роутинга. _Проверка_
 > соответствия условиям естественно выполняется до выполнения собственно
 > fwd.
 
 >>Или запрос с измененным ХОПом должен пройти еще раз правила?
 >>
 >>
 >>>>Подскажите как побороть это безобразие?
 >>>
 >>>Попытаться таки понять как идут пакеты и именно и как именно их надо
 >>>перенаправлять.
 >>>
 >>
 >>Если адрес не принадлежит сети ${net0} или ${net1}, то запрос идет на 
 >>defaultrouter.
 >>defaultrouter находиться в сети ${net0} и берется из таблицы маршрутизации
 >>
 >>Уточню еще раз, что у меня два GATEWAY-я лежащих в разных сетях.
 >>
 >>Поэтому любой запрос к адресам вне сети ${net0} или ${net1} формируется 
 >>как исходящий запрос через ${int0} - а мне так не надо.
 >>ХОП то меняется, а интерефейс как изменить, если ${gate1} лежит в сети 
 >>${net1}?
 > 
 > Если ты поменяешь next hop с помощью fwd то интерфейс будет выбран
 > согласно роутинговой таблице для gate1, так что ничего менять не надо.
 
 Вот только он не меняется что-то. :-(
 Может что-то еще кроме правил надо менять в системе?
 
 -- 
 Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
 --- ifmail v.2.15dev5.3
  * Origin: Talk.Mail.Ru (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 ...не могу решить простую задачу!!!   Dmitrij Lystsov   23 Nov 2005 15:32:08 
 Re: ...не могу решить простую задачу!!!   Andrew Filonov   23 Nov 2005 15:45:52 
 Re: ...не могу решить простую задачу!!!   Dmitrij Lystsov   23 Nov 2005 16:11:52 
 Re: ...не могу решить простую задачу!!!   Andrew Filonov   23 Nov 2005 16:23:32 
 Re: ...не могу решить простую задачу!!!   Dmitrij Lystsov   23 Nov 2005 16:54:02 
 Re: ...не могу решить простую задачу!!!   Mykola Dzham   23 Nov 2005 22:54:53 
 Re: ...не могу решить простую задачу!!!   Dmitrij Lystsov   24 Nov 2005 08:36:36 
 Re: ...не могу решить простую задачу!!!   Sergey Kolesnikov   24 Nov 2005 09:38:24 
 Re: ...не могу решить простую задачу!!!   Dmitrij Lystsov   24 Nov 2005 10:33:19 
 Re: ...не могу решить простую задачу!!!   Sergey Kolesnikov   25 Nov 2005 09:42:06 
 ...не могу решить простую задачу!!!   Alex Semenyaka   04 Dec 2005 21:38:40 
 ...не могу решить простую задачу!!!   Andrey Ostanovsky   23 Nov 2005 16:40:12 
 Re: ...не могу решить простую задачу!!!   Dmitrij Lystsov   23 Nov 2005 17:01:15 
 Re: ...не могу решить простую задачу!!!   Rick Atreides   23 Nov 2005 18:14:23 
 Re: ...не могу решить простую задачу!!!   Dmitrij Lystsov   24 Nov 2005 10:23:10 
 Re: ...не могу решить простую задачу!!!   Rick Atreides   24 Nov 2005 12:55:16 
 Re: ...не могу решить простую задачу!!!   Dmitrij Lystsov   28 Nov 2005 11:01:27 
 Re: ...не могу решить простую задачу!!!   Mykola Dzham   28 Nov 2005 11:15:44 
 Re: ...не могу решить простую задачу!!!   Dmitrij Lystsov   28 Nov 2005 13:31:40 
 Re: ...не могу решить простую задачу!!!   Mykola Dzham   28 Nov 2005 14:42:51 
 Re: ...не могу решить простую задачу!!!   Dmitrij Lystsov   28 Nov 2005 15:45:25 
 Re: ...не могу решить простую задачу!!!   Mykola Dzham   23 Nov 2005 22:59:55 
 Re: ...не могу решить простую задачу!!!   Dmitrij Lystsov   24 Nov 2005 10:28:44 
 Re: ...не могу решить простую задачу!!!   Mykola Dzham   24 Nov 2005 12:12:02 
 Re: ...не могу решить простую задачу!!!   Dmitrij Lystsov   24 Nov 2005 13:12:35 
 Re: ...не могу решить простую задачу!!!   Mykola Dzham   24 Nov 2005 13:24:06 
 Re: ...не могу решить простую задачу!!!   Dmitrij Lystsov   24 Nov 2005 14:11:03 
Архивное /ru.unix.bsd/560685d225d1.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional