web-dev-qa-db-ja.com

IptablesDNATシングルポート

IPtablesを介して単一のポートをローカルサーバーにリダイレクトしようとしています。現在、私には次のルールがあります。

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 55555 -j DNAT --to-destination 10.188.44.125:3306
iptables -t nat -A POSTROUTING -j MASQUERADE

これらのルールを設定すると、sshのrsyncプロセスが失敗します。ここで何かが矛盾していると思いますが、何がわからないのです。助言がありますか?ありがとう!

更新:ssh接続を介したrsyncを許可するために私が実施しているルールは次のとおりです。入力ポリシーが削除されるように設定されています。他のポリシーは受け入れるように設定されています。

iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -s 127.0.0.1/32 -d 127.0.0.1/32 -i lo -j ACCEPT

アップデート2

Iptables-save for thenatの結果は次のとおりです。

*nat
:PREROUTING ACCEPT [8:468]
:INPUT ACCEPT [7:408]
:OUTPUT ACCEPT [2:134]
:POSTROUTING ACCEPT [0:0]
[0:0] -A PREROUTING -p tcp -m tcp --dport 53306 -j   DNAT --to-destination 10.183.42.125:3306
[2:134] -A POSTROUTING -j MASQUERADE
COMMIT
1
Aaron A

DNATおよびMASQUERADEルールにインターフェイス仕様がありません。これらがないと、両方向のallトラフィックに対処しようとしますが、これはあなたが望むものではありません。

DNATルールでは、インバウンドインターフェイスを指定する必要があります(例:-i enp2s1)接続が到着する場所。通常、これはWAN /インターネットに面したインターフェイスです。また、SNATまたはMASQUERADEルールは、アウトバウンドインターフェイスを指定する必要があります(例:-o enp2s1)トラフィックが出発する場所。繰り返しますが、これは通常、WAN /インターネットに面したインターフェースです。

0
Michael Hampton