6 июн. 2012 г.

Маршрутизация, CentOS

1. Первоначальная настройка:

Для того, чтобы разрешить пересылку сетевых пакетов между сетевыми интерфейсами в системе, необходимо изменить (добавить в конец файла) /etc/sysctl.conf следующую строку:
net.ipv4.ip_forward = 1

Для того что бы изменения вступили в силу:
sysctl -p

2. В чем может быть причина не работы асимметричного роутинга под Linux?

Linux отказывается маршрутизировать пакеты между двумя сетевыми картами, кода пакет входит через один интерфейс и выходит через другой, если включен rp_filter (RFC1812).

Необходимо отключить rp_filter:
/sbin/sysctl -w net.ipv4.conf.default.rp_filter=0
/sbin/sysctl -w net.ipv4.conf.all.rp_filter=0

Альтернативный вариант, который применял сам, редактируя файл /etc/sysctl.conf :

net.ipv4.conf.eth0.rp_filter=0 - Пришлось задавать явно, так как eth0 ни в какую не желал меняться.
net.ipv4.conf.all.rp_filter=0 - Для всех остальных интерфейсов, на 3 vlan'a распространилось без проблем.

Для FreeBSD можно посоветовать:
в /etc/rc.conf: tcp_extensions="NO"
или sysctl -w net.inet.tcp.rfc1323=0
А так же sysctl -w net.inet.tcp.rfc1644=1 и sysctl -w net.inet.tcp.rfc1323=0

3. Проверка

cat /proc/sys/net/ipv4/conf/default/forwarding
cat /proc/sys/net/ipv4/conf/eth0/rp_filter 
так же была полезной команда sysctl -a - вывод возможных параметров для всех интерфейсов.

Комментариев нет:

Отправить комментарий