У меня есть различные машины с несколькими сетевыми интерфейсами:

  • eth0: локальная локальная сеть
  • eth1: иногда используется для подключения к интернет-шлюзу
  • ppp0: восходящий модем как альтернатива eth1
  • tun0: туннель OpenVPN

Я хочу включить tun0 для доступа к локальной сети eth0 , что легко с:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 >/proc/sys/net/ipv4/ip_forward

Тем не менее, как я могу запретить передачу пакетов из eth1 или ppp0 в eth0 и разрешить только tun0 использовать машину в качестве шлюза?

Нужно ли отмечать эти пакеты, используя некоторые приемлемые правила, чтобы я мог ограничить правило MASQUERADE только этими пакетами? Пример конфигурации iptables очень ценится.

Debian Linux 6 на i386; подсеть eth0 варьируется в зависимости от машины

1 ответ1

0

http://syrlug.org/contrib/ipmasq.html

Раздел 4.3 должен помочь вам.

С таким количеством интерфейсов вам понадобятся правила FORWARDING. Таким образом, вы можете указать, что получить и куда.

Проверьте ссылку, которую я отправил и прочитайте немного на этом. Это может быть довольно сложно, но этот раздел 4.3 содержит полезную информацию о том, что, я думаю, вы ищете.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .