Устранение неполадок переадресации портов iptables

Я пытаюсь перенаправить соединения через порт 18600 на порт 9980. У меня есть это в /etc/sysconfig/iptables:

# Generated by iptables-save v1.3.5 on Mon Oct 21 18:30:43 2013
*nat
:PREROUTING ACCEPT [2:280]
:POSTROUTING ACCEPT [12:768]
:OUTPUT ACCEPT [12:768]
-A PREROUTING -p tcp -m tcp --dport 18600 -j REDIRECT --to-ports 9980
COMMIT
# Completed on Mon Oct 21 18:30:43 2013

а также /etc/init.d/iptables status показывает мне это:

Table: nat
Chain PREROUTING (policy ACCEPT)
num  target     prot opt source               destination         
1    REDIRECT   tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:18600 redir ports 9980 

Тем не менее, я могу telnet с локального хоста на порт 9980, но не 18600. Что мне не хватает? (Это виртуальная машина на базе CentOS.)

1 ответ

Решение

Пакеты с локальной машины не проходят через таблицу NAT PREROUTING.

Тест с другой машины.

Если вам нужно DNAT трафика, который исходит от локальной машины, используйте таблицу NAT OUTPUT.

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