Как осуществить IP-пересылку только между 2 установленными интерфейсами из 3?

Я использую Ubuntu 12.04.

На моем ПК есть 3 NIC, но я хочу сделать IP-пересылку только на 2 из них, которые действуют как маршрутизатор. Третий сетевой адаптер должен быть отделен от двух других и не иметь возможности видеть транспортировку маршрутизатора.

Есть ли способ работать ip_forward только на 2 сетевых картах, а не на всех 3? Могу ли я использовать таблицу маршрутизации вместо того, чтобы сделать то же самое вместо ip_forward?

1 ответ

Ты можешь использовать 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
Другие вопросы по тегам