Как осуществить 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