Назад | Перейти на главную страницу

Iptables перенаправляет трафик от A к B, где A не является шлюзом для B

Я хочу перенаправить ssh-трафик с порта A 2222 на порт B 22. У меня для перенаправления ipv4 установлено значение 1 на обоих интерфейсах. Тем не менее, это не работает. Что случилось?

Машина A: eth0 192.168.0.150 eth1 217.27.166.110

Машина B: eth0 192.168.0.200

iptables -L:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http
ACCEPT     icmp --  anywhere             anywhere             icmp echo-request

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             192.168.0.200        tcp dpt:ssh state NEW,RELATED,ESTABLISHED

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

iptables -L -t nat:

root@lbpub01:~# iptables -L -tnat
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         
DNAT       tcp  --  anywhere             217.27.166.110       tcp dpt:2222 to:192.168.0.200:22

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  217.27.166.110       192.168.0.200        tcp dpt:ssh

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Обновить

Мне помогли хорошие ребята из irc @ freenode, так что вот моя работа iptables-save файл:

*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A PREROUTING -p tcp -m tcp -d 217.27.166.110 --dport 2222 -j DNAT --to-destination 192.168.0.200:22
-A POSTROUTING -o eth+ -j MASQUERADE
COMMIT
*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -p tcp --dport http -j ACCEPT
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -j DROP
COMMIT