Перейти к содержимому
Калькуляторы

Объясните, почему пакеты уходят по маршруту по-умолчанию.

FreeBSD 5.3. Eсть два врешних интерфейса ed0 и ed2. На оба повешан NAT. Таблица маршрутов default 10.1.216.129 - ed0, 10.1.216.129 - ed0, 192.168.0 - ed1, 192.168.0.240 - lo0, 192.168.0.241 - ed1, 192.168.254 - ed2.

Пакеты, преобразованные на интерфейсе ed2 в адрес 192.168.254.1 уходят по маршруту по-умолчанию через интерфейс ed0.

До полной переустановки системы пакеты через чужой интерфейс не уходили, а с помощью правила ipfw fwd 192.168.254.2 благополучно перенаправлялись на альтернативный шлюз. Сейчас правило обрабатывает пакеты, но уходят они всеравно через ed0. В Файрволе нет запщещающий правил.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

FreeBSD 5.3. Eсть два врешних интерфейса ed0 и ed2. На оба повешан NAT. Таблица маршрутов default 10.1.216.129 - ed0, 10.1.216.129 - ed0, 192.168.0 - ed1, 192.168.0.240 - lo0, 192.168.0.241 - ed1, 192.168.254 - ed2.

Пакеты, преобразованные на интерфейсе ed2 в адрес 192.168.254.1 уходят по маршруту по-умолчанию через интерфейс ed0.

До полной переустановки системы пакеты через чужой интерфейс не уходили, а с помощью правила ipfw fwd 192.168.254.2 благополучно перенаправлялись на альтернативный шлюз. Сейчас правило обрабатывает пакеты, но уходят они всеравно через ed0. В Файрволе нет запщещающий правил.

 

ядро собрано с поддержкой форварда?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

да, т.к. без опции ядра ipfw при добавлении правила перенаправления выдает (FW_ADD_FORWARDING) Invalid argument.

Подозреваю, что не работает перенаправление.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В FreeBSD 5.4-RELEASE и старше надо добавить в конфиг ядра строку:

 

options IPFIREWALL_FORWARD_EXTENDED

 

В 5.3-RELEASE надо применить простой патч:

 

Index: ip_output.c

===================================================================

RCS file: /FreeBSD-CVS/src/sys/netinet/ip_output.c,v

retrieving revision 1.225.2.3

diff -u -b -r1.225.2.3 ip_output.c

--- ip_output.c 15 Sep 2004 15:07:09 -0000 1.225.2.3

+++ ip_output.c 19 Sep 2004 15:51:42 -0000

@@ -713,7 +713,7 @@

/* Or forward to some other address? */

fwd_tag = m_tag_find(m, PACKET_TAG_IPFORWARD, NULL);

if (fwd_tag) {

- if (!in_localip(ip->ip_src) && !in_localaddr(ip->ip_dst)) {

+ if (!in_localaddr(ip->ip_dst)) {

dst = (struct sockaddr_in *)&ro->ro_dst;

bcopy((fwd_tag+1), dst, sizeof(struct sockaddr_in));

m->m_flags |= M_SKIP_FIREWALL;

 

И пересобрать ядро.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ыыы... Слов нет!!!!

Спасибо!! Это то, что нужно!

Ведь раньше это работало, потому что делал этот патч!!! А теперь забыл о нем!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ыыы... Слов нет!!!!

Спасибо!! Это то, что нужно!

Ведь раньше это работало, потому что делал этот патч!!! А теперь забыл о нем!!

а у меня на 5.3 fwd пашет без всяких патчей и просто с options IPFIREWALL_FORWARD

я что-то не так делал?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а у меня на 5.3 fwd пашет без всяких патчей и просто с options IPFIREWALL_FORWARD

я что-то не так делал?

 

без патча или ключа, указанных выше форвардинг неработает для локальных интерфейсов. ежели вы на рутере только какой-то чужой трафик форвардите то options IPFIREWALL_FORWARD достаточно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а у меня на 5.3 fwd пашет без всяких патчей и просто с options IPFIREWALL_FORWARD

я что-то не так делал?

 

без патча или ключа, указанных выше форвардинг неработает для локальных интерфейсов. ежели вы на рутере только какой-то чужой трафик форвардите то options IPFIREWALL_FORWARD достаточно.

 

нет, вроде не чужой, трафик из локалки на 127.0.0.1 (squid) заворачиваю.... :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Без патча ipfw не форвардит пакеты на любые адреса кроме 127.0.0.1 (возможно, на другие локальные).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.