|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Mykola Dzham 2:5020/400 18 Mar 2005 14:35:39 To : Alexander Burylov Subject : Re: ipfw forward -------------------------------------------------------------------------------- Alexander Burylov wrote: > Hе совсем могу понять глубокий смысл форварда, вернее совсем не могу. > > Есть два ISP: > ISP1: x.x.x.x/32 - реальный ip, шлюз isp1_gw, интерфейс ng0. > ISP2: 192.168.200.23/32 - серый ip (за натом), шлюз 192.168.200.2, интерфейс > ng1. > Маршрут по умолчанию прописан на ISP1 (т.к нужны входящие снаружи, через нат > ничего не выйдет) > > Есть локалка 192.168.1.0/24 которая соединяется с сервером по pptp и получает > адреса из диапазона 192.268.255.0/24. > > Для хостов 192.168.255.4-20 необходимо весь внутригородской трафик пускать > через ISP1, а внешний (интернет) трафик пускать через ISP2 (ибо дешевле). > В то же время, для хостов 192.168.1.2-3 необходимо весь трафик пускать через > ISP1 (ибо канал толще). > > netstat -nr > > Destination Gateway Flags Refs Use Netif Expire > default isp1_gw UGS 0 19 ng0 > 127.0.0.1 127.0.0.1 UH 0 9399 lo0 > 192.168.1 link#1 UC 0 0 rl0 > 192.168.1.1 00:c0:26:a7:c6:49 UHLW 0 50 lo0 > 192.168.200.2 192.168.200.23 UH 0 0 ng1 > 192.168.200.23 lo0 UHS 0 0 lo0 > isp1_gw x.x.x.x UH 1 0 ng0 > > Запускаю два ната на алиасах х.х.х.х порт 8778 и 192.168.200.23 порт 8668 > пишу правила типа: > > table(0) - список городских сетей > > # Весь городской трафик на нат (ISP1) > ipfw add divert 8778 ip from 192.168.255.0/24\{4-20\} to table\(0\) > # Этим нужен толстый канал, весь трафик на нат (ISP1) > ipfw add divert 8778 ip from 192.168.255.0/24\{2-3\} to any > # Внешний трафик на нат (ISP2) > ipfw add divert 8668 ip from 192.168.255.0/24\{4-20\} to any > # Форвардим после ната на ISP1 > ipfw add fwd isp1_gw ip from x.x.x.x to any > # Форвардим после ната на ISP2 > ipfw add fwd 192.168.200.2 ip from 192.168.200.23 to any > # Входящие с ISP1 в нат > ipfw add divert 8778 ip from any to x.x.x.x > # Входящие с ISP2 в нат > ipfw add divert 8668 ip from any to 192.168.200.23 > > В итоге форвард на ISP2 вообще не работает, вернее он форвардит не на тот > интерфейс, А форвардит ли он у тебя вообще? Версия системы у тебя какая? Тут недавно обсужалось: в 5.3 форвард сломали: не работает если src или dst принадлежит одному из интерфейсов роутера. Похоже у тебя это и есть. > т.к, форвард использует локальную таблицу маршрутизации: > > man ipfw: > > If ipaddr is not a local address, then the port number (if speci- > fied) is ignored, and the packet will be forwarded to the remote > address, using the route as found in the local routing table for > that IP. > > Тогда спрашивается, зачем он вообще нужен? Почему он форвардит не на > интерфейс, а по таблице маршрутизации? Получается, что пакет с натовского > адреса улетает на шлюз по умолчанию, а не на тот интерфейс, к которому этот > адрес привязан. Все он правильно форвардит (если вообще форвардит: см выше). Ты форвардишь на 192.168.200.2, на который у тебя есть в таблице маршрутизации маршрут на нужный интерфейс, поэтому использоваться будет именно этот маршрут а не default. > Каким образом можно реализовать данную схему, как сказать что все пакеты с > такого-то адреса надо форвардить на конкретный шлюз через конкретный > интерфейс, не используя локальную таблицу маршрутизации (шлюз по умолчанию)? Шлюз по умолчанию это всего лишь один из маршрутов таблицы маршрутизации. Hичего плохого в использовании таблицы маршрутизации нет. > Или может быть я вообще ничего не понял в Policy Based Route... Тогда > поправьте и направьте меня на путь истинный. В policy based routing next hop (куда ты форвардишь), находится в directly conected network, поэтому к нему есть более специфичный маршрут чем default gw. -- LEFT-UANIC JID: levsha@jabber.kiev.ua --- ifmail v.2.15dev5.3 * Origin: National Taras Shevchenko University of Kyiv (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/63258213bf81.html, оценка из 5, голосов 10
|