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


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)
 
 

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

 Тема:    Автор:    Дата:  
 ipfw forward   Alexander Burylov   18 Mar 2005 13:49:30 
 Re: ipfw forward   Mykola Dzham   18 Mar 2005 14:35:39 
 Re: ipfw forward   Alexander Burylov   18 Mar 2005 19:03:47 
 Re: ipfw forward   Gleb Smirnoff   18 Mar 2005 18:23:35 
 ipfw forward   Ilya Kulagin   18 Mar 2005 14:46:08 
Архивное /ru.unix.bsd/63258213bf81.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional