Найти тему

Маршрутизатор на LINUX

Сам сторонник железных решений, но есть характерная ситуация, и на определенном этапе она всплывет. Это необходимость перенаправлять IP-пакеты из сети А в сеть Б. Данная функция необходима для маршрутизаторов, VPN-серверах и любых устройств живущих и работающих более чем в одной сети.

Пример: построен канал до Asterisk, а в нем несколько сетевых карт и надо перенаправить пакеты с одной на другую, где атс абонента

Для этого нужно включить обработку пакетов на уровне ядра систем

Настроим

1) Проверим включен ли IP Forwarding:

cat /proc/sys/net/ipv4/ip_forward , если результат =0, то выключен

2) Включаем, у нас есть даже несколько способов это сделать (как и многое в линуксе)

echo 1 > /proc/sys/net/ipv4/ip_forward или
sysctl -w net.ipv4.ip_forward=1


команды абсолютно равнозначны и про одно и тоже, но только с разных сторон в своем изначальном

3) Жестко включаем, чтобы и после перезагрузки действовало

grep forward /etc/sysctl.conf

net.ipv4.ip_forward = 1

4) Включаем NAT в iptables:

/sbin/iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
/sbin/iptables -A FORWARD -i eth1 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
/sbin/iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT

 Вот так все это выглядит в терминале:
Вот так все это выглядит в терминале: