Я использую Ubuntu 12.04.
На моем ПК есть 3 NIC, но я хочу сделать ip forward только на 2 из них, которые действуют как маршрутизатор. Третий сетевой адаптер должен быть отделен от двух других и не иметь возможности видеть транспортировку маршрутизатора.
Есть ли способ использовать ip_forward только на 2 сетевых картах, а не на всех 3? Могу ли я использовать таблицу маршрутизации вместо того, чтобы делать то же самое вместо ip_forward?
Вы можете использовать iptables
.
Допустим, eth0 и eth1 будут сетевыми картами маршрутизации, а eth2 ничего не будет маршрутизировать.
sudo iptables -A FORWARD -i eth2 -j DROP
sudo iptables -A FORWARD -o eth2 -j DROP
Переадресованные пакеты, входящие (-o
) и исходящие (-i
) через eth2, будут отброшены. Связь между ПК и локальной сетью eth2 не пострадает.
Если вы хотите сделать эти правила постоянными после перезагрузки, установите iptables-persistent (sudo apt-get install iptables-persistent
) и выполните следующее, чтобы сохранить правила:
sudo iptables-save | sudo tee /etc/iptables/rules.v4