Iptables отбрасывают переданный трафик, предназначенный для интерфейсного IP-адреса

У меня есть маленькая установка VPN, где я использую таблицы IP для трафика NAT, прибывающего в интерфейс vpn0 к IP-адресу интерфейса eth0. Эти правила похожи на это:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i vpn0 -j ACCEPT

Устройство, которое имеет эту конфигурацию, включено, много различных сетевых подсетей и ее IP-адрес обычно получаются динамично. Я выполняю много сканирований исследования хоста с помощью nmap через это соединение и хотел бы отбросить трафик, входящий в интерфейсе vpn0, который предназначен для того, какой бы ни IP-адрес настроен в интерфейсе eth0 для хранения моих результатов точными, не имея необходимость волноваться о ручном исключении хоста vpn. Так как это устройство направляет трафик, я не могу только использовать целевой интерфейс в качестве места назначения, поскольку это заблокировало бы все мой передавать трафик.

Я знаю, что iptables поддерживает имена хостов как места назначения, таким образом, я могу закончить тем, что пытался динамично добавить правило, после того как IP-адрес получен, и создайте имя хоста, которое решит к eth0 IP-адресу. Однако это кажется довольно грязным.

Существует ли лучший способ, которым я отсутствую?

0
задан 26 May 2015 в 03:51
1 ответ

Mano naudojamas sprendimas nebuvo toks elegantiškas, kaip tikėjausi, bet paprastas, vis dėlto.

Viskas, ką padariau, buvo tai, kad IP adresą iš eth0 sąsajos ir priskirkite jį kintamajam, tada naudokite tą kintamąjį „iptables“ taisyklėje:

ETH0IP=`/sbin/ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}'`
iptables -I INPUT -i vpn0 -d $ETH0IP -j DROP

. Be to, mano klausimas išduoda tai, kad nesupratau FORWARD ] lentelę, nes tai NE lentelės, naudojamos srautui, skirtam vietinei sąsajai. Taisyklė turėtų būti įgyvendinta lentelėje INPUT .

0
ответ дан 24 November 2019 в 08:32

Теги

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