外部接続から LAN 内のコンピューターへのポート転送 (Ubuntu-iptables)

外部接続から LAN 内のコンピューターへのポート転送 (Ubuntu-iptables)

問題があります。リモート デスクトップを使用して LAN の外部から Windows コンピューターに接続できません。

Ubuntu 14.04、iptablesを使用しています。

External Inferface: eth1
LAN Intergace: eth2
Windows IP: 192.168.1.100
Serverlinux LAN IP: 192.168.1.2
Serverlinux External IP: 186.xxx.xxx.xxx

実際の iptables 設定:

iptables-restore <<-EOF
*nat
-A POSTROUTING -o "$EXTIF" -j MASQUERADE
COMMIT
*filter
:INPUT ACCEPT [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A FORWARD -i "$EXTIF" -o "$INTIF" -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
-A FORWARD -i "$INTIF" -o "$EXTIF" -j ACCEPT
-A FORWARD -j LOG
COMMIT
EOF

たくさんの例を試してみましたが、うまくいきませんでした。

例1:

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.1.100
iptables -t nat -A POSTROUTING -s 192.168.1.100 -p tcp --sport 3389 -j SNAT --to 192.168.1.2
iptables -A FORWARD -p tcp --dport 3389 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

例2:

iptables -A INPUT -i eth1 -p tcp --destination-port 3389 -j ACCEPT
iptables -t nat -I PREROUTING -p tcp --dport 3389 -j DNAT 192.168.1.100:3389
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

例 3: エラー (iptables: その名前のチェーン/ターゲット/一致がありません。)

iptables -A PREROUTING -d 186.xxx.xxx.xxx -p tcp -m tcp --dport 3386 -j DNAT --to-destination 192.168.1.100:3399 
iptables -A FORWARD -i eth1 -o eth2 -d 192.168.1.100 -p tcp -m tcp --dport 3399 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT

何が足りないのでしょうか??

前もって感謝します。

答え1

以下は、外部 IP アドレスのポート 1337 を内部 IP アドレスのポート 3389 に転送します。

iptables -t nat -I PREROUTING -d 186.xxx.xxx.xxx -p tcp --dport 1337 -j DNAT --to-destination 192.168.1.100:3389
iptables -I FORWARD -o eth2 -d 192.168.1.100 -p tcp --dport 3389 -j ACCEPT

最初のルール (3 番目の例で見逃した nat テーブル内) は、パケットが到着したときにその宛先アドレスを書き換えます。2 番目のルールは、新しく書き換えられたパケットの転送を許可します。

ルーターの背後にいる場合でも動作するようにしたいと考えているため、着信インターフェイスの参照をすべて削除しました(一貫性を保つため)。

答え2

iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 1337 -j DNAT --to-destination 192.168.1.100:3389

iptables -A FORWARD -p tcp -d 192.168.1.100 --dport 3389 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

関連情報