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

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

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

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

1
задан 22 July 2013 в 03:02

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
0
ответ дан 22 July 2013 в 03:02

Другие вопросы по тегам:

Похожие вопросы: