DNAT с iptables

Я пытаюсь сделать DNAT на интерфейсе eth0: 0 на другой IP 192.168. 1.12 на порту 43, но он не работает, что может быть не так?

iptables -t nat -A PREROUTING -p tcp -i eth0:0 --dport 43 -j DNAT --to-destination 192.168.1.12:43
iptables -t nat -A POSTROUTING -p tcp -d 192.168.1.12 --dport 43 -j MASQUERADE

Для прослушивания на любом интерфейсе работает:

iptables -t nat -A PREROUTING -p tcp --dport 43 -j DNAT --to-destination 192.168.1.12:43
iptables -t nat -A POSTROUTING -p tcp -d 192.168.1.12 --dport 43 -j MASQUERADE
-1
задан 6 November 2016 в 21:03
1 ответ

eth0: 0 - это псевдоним, а не фактический интерфейс, поэтому iptables ничего об этом не знает. Первое правило следует переписать следующим образом:

iptables -t nat -A PREROUTING -i eth0 ...

Во втором правиле настоятельно рекомендуется указывать исходящий интерфейс через "-o ...". Вы можете получить его с помощью следующей команды:

ip route get 192.168.1.12
0
ответ дан 5 December 2019 в 20:27

Теги

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