Если у меня есть 4 (или более) Ethernet-порт linux, как настроить его в качестве маршрутизатора для обработки подсети 4 класса c? например, eth0 => 192.168.1.0/24, eth1 => 192.168.2.0/24, eth2 => 192.168.3.0/24, eth3 => 192.168.4.0/24, с которым может общаться каждый клиентский компьютер в этих 4 подсетях друг друга.
Есть сценарий?
В соответствии с настройками интерфейсов, вы должны разрешить ядру выполнять преобразование сетевых адресов для маршрутизации пакетов через эти подсети. Попробуйте сначала:
# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 192.168.2.0/24 -j SNAT --to 192.168.2.1
# iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -d 192.168.1.0/24 -j SNAT --to 192.168.1.1
Где 192.168.2.1
- это IP-адрес eth1 и шлюза по умолчанию для подсетей 192.168.2.0/24
, 192.168.1.1
.
И убедитесь, что у вас есть net.ipv4.ip_forward=1
в /etc/sysctl.conf
. И запустите sysctl -p
, чтобы это изменение вступило в силу.