Сам сторонник железных решений, но есть характерная ситуация, и на определенном этапе она всплывет. Это необходимость перенаправлять 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