Прошло больше года с моей первой темы о проброске портов. Совет, который я там получил, успешно выручал меня долгое время, но сейчас почему-то он не хочет работать.
Ситуация стандартная: есть комп-роутер, с внешним интерфейсом eth2 с белым адресом, внутренним интерфейсом eth0 192.168.1.0/24. Во внутренней сети есть машина, 22й порт которой я хочу пробросить в «мир».
# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source
# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT tcp -- anywhere anywhere tcp dpt:itap-ddtp to:192.168.1.48:22
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
# cat /etc/sysconfig/iptables
# Generated by iptables-save v1.4.7 on Wed Aug 1 03:18:52 2012
*filter
:INPUT ACCEPT [1399:166166]
:FORWARD ACCEPT [29519:24544494]
:OUTPUT ACCEPT [1175:144398]
COMMIT
# Completed on Wed Aug 1 03:18:52 2012
# Generated by iptables-save v1.4.7 on Wed Aug 1 03:18:52 2012
*nat
:PREROUTING ACCEPT [1225:117371]
:POSTROUTING ACCEPT [2:120]
:OUTPUT ACCEPT [119:8948]
-A POSTROUTING -o eth2 -j MASQUERADE
COMMIT
# Completed on Wed Aug 1 03:18:52 2012
# Generated by iptables-save v1.4.7 on Wed Aug 1 03:18:52 2012
*mangle
:PREROUTING ACCEPT [52886:36464456]
:INPUT ACCEPT [3419:407648]
:FORWARD ACCEPT [49467:36056808]
:OUTPUT ACCEPT [2989:354824]
:POSTROUTING ACCEPT [52451:36410800]
COMMIT
# Completed on Wed Aug 1 03:18:52 2012
iptables -t nat -I PREROUTING -p tcp --dport 10000 -j DNAT --to-destination 192.168.1.48:22
cat /proc/sys/net/ipv4/ip_forward
1