LINUX.ORG.RU
ФорумAdmin

Проблема проброса порта DNAT


0

1

На свежеустановленном Debian нужно пробросить порт в локальную сеть. На компе с Debian интернет по средствам pptp.

Конфиг проброса порта рабочий использовался на другом компе:

iptables -t nat -A PREROUTING -p TCP -d «inet_ip» --dport 16543 -j DNAT --to-destination 192.168.150.149:16543

iptables -A FORWARD -p TCP -s 0/0 -d «inet_ip» --dport 16543 -j ACCEPT

nat настроен. Так работало без vpn. С провайдером через vpn порт не пробрасывает.

Правила:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy DROP)
target     prot opt source               destination
TCPMSS     tcp  --  anywhere             anywhere            tcp flags:SYN,RST/SYN TCPMSS clamp to PMTU
ACCEPT     all  --  anywhere             192.168.150.149     state INVALID,RELATED,ESTABLISHED,UNTRACKED
ACCEPT     all  --  192.168.150.149      anywhere
ACCEPT     tcp  --  anywhere             inet_ip tcp dpt:16543
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
DNAT       tcp  --  anywhere             inet_ip tcp dpt:16543 to:192.168.150.149:16543

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
SNAT       all  --  192.168.150.149      anywhere            to:inet_ip

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain NAT (0 references)
target     prot opt source               destination


Смотрите tcpdump'ом оба интерфейса, может у вас выключен forwarding, может 192.168.150.149 не знает маршрута до inet_ip, может ещё что. А вобще, пока мне не понятно, где в FORWARD разрешено прохождение первого ip-пакета соедиенение (состоянии NEW) от anywhere к 192.168.150.149 dpt:16543.

mky ★★★★★ ()

sysctl -q net.ipv4.ip_forward ?

Конфиг полностью не смотрел.

n01r ★★ ()

MASQUERADE

This target is only valid in the nat table, in the POSTROUTING chain. It should only be used with dynamically assigned IP (dialup) connections: if you have a static IP address, you should use the SNAT target.

//thread

spunky ★★ ()

Все решилось. В этой строчке была опечатка:

iptables -A FORWARD -p TCP -s 0/0 -d «inet_ip» --dport 16543 -j ACCEPT

Вместо «inet_ip» локальный ip нужен.

Всем спасибо.

DigeX ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.