iptable natルールはubuntu16.04では機能しますが、redhat7.6では機能しません。

iptable natルールはubuntu16.04では機能しますが、redhat7.6では機能しません。

rhel7仮想マシンでは、iptable natルールを使用して特定のIPアドレスにパケットをルーティングする必要があります。

開発目的でIPアドレスを使用してUbuntu 16.04仮想マシンでルールをテストしました。192.168.150.4:

sysctl net.ipv4.ip_forward=1

ルール:

iptables -t nat -A PREROUTING -p tcp --dport 9000 -j DNAT --to-destination 192.168.150.35:6443
iptables -t nat -A POSTROUTING -j MASQUERADE

リモート仮想マシンでテストしましたが、正常に実行されました。

telnet 192.168.150.4 9000
curl https://192.168.150.4:9000 -kv

同様に、rhel7 VMで同じ本番ルールを使用しますが(明らかに異なるIPセットを使用する)、ルールは機能しないようです。

すべてのセキュリティグループルールを持つOpenStackを使用してください。

助けてください。よろしくお願いします。

答え1

JBの提案が原因でない場合は、まずポートをリダイレクトする必要があるかもしれません。

iptables -t nat -A PREROUTING -p tcp --dport 9000 -j REDIRECT --to-port 6443
iptables -t nat -A PREROUTING -p tcp --dport 6443 -j DNAT --to-destination 192.168.150.35

役に立ったことを願っています!

関連情報