そのため、少なくとも2ヶ月間、ヘッドノードを介して技術的にオフラインのコンピューティングノードにインターネットアクセスを提供するコンピューティングクラスタでIPテーブル構成を実行しました。最近、ヘッドノードを再起動する必要があり、ヘッドノードが動作するために必要なすべての設定が消去されたとほぼ確実です。 /sysconfig/iptablesのバックアップを取得できましたが、なぜこのファイルを使用するiptables-restoreが機能しないのか疑問に思います...そのバックアップの内容は次のとおりです...
# Generated by iptables-save v1.4.21 on Wed May 9 09:36:22 2018
*filter
:INPUT ACCEPT [1:36]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [1294:196435]
-A INPUT -p tcp -m tcp --sport 1024:65535 --dport 372 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p udp -m udp --sport 1024:65535 --dport 372 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -i lo -j ACCEPT
-A INPUT -i enp7s0f1 -j ACCEPT
-A INPUT -i enp7s0f0 -p tcp -m tcp --dport 22 -m state --state NEW -j ACCEPT
-A INPUT -i enp7s0f0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 10.103.182.0/24 -i enp7s0f0 -p tcp -m tcp --dport 443 -m state --state NEW -j ACCEPT
-A INPUT -s 10.103.182.0/24 -i enp7s0f0 -p tcp -m tcp --dport 80 -m state --state NEW -j ACCEPT
-A INPUT -i enp7s0f0 -p tcp -m tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
-A INPUT -p udp -m udp --dport 8649 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p tcp -m tcp --dport 40000 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -i enp7s0f0 -p tcp -m tcp --dport 0:1023 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -i enp7s0f0 -p udp -m udp --dport 0:1023 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -i enp7s0f0 -o enp7s0f1 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i enp7s0f1 -j ACCEPT
COMMIT
# Completed on Wed May 9 09:36:22 2018
# Generated by iptables-save v1.4.21 on Wed May 9 09:36:22 2018
*nat
:PREROUTING ACCEPT [19:1852]
:INPUT ACCEPT [11:1496]
:OUTPUT ACCEPT [18:1302]
:POSTROUTING ACCEPT [16:1110]
-A POSTROUTING -o enp7s0f0 -j MASQUERADE
COMMIT
# Completed on Wed May 9 09:36:22 2018
どんな助けでも大変感謝します。
注:enp7s0f0は外部パブリックインターフェイス、enp7s0f1は内部専用インターフェイスです。
答え1
設定iptables
は正常に見えますが、IPv4転送用のマスタースイッチを確認しましたか?
次のコマンドを試してください。
# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1
反対のメッセージが表示された場合は、net.ipv4_ip_forward = 0
IPv4転送が有効になっていません。この問題は簡単に解決できます。
# echo "net.ipv4.ip_forward = 1" >>/etc/sysctl.conf
# sysctl -p
これにより、継続的な方法でIPv4転送が可能になります。 (以前はIPv4転送が同様に有効になっている可能性がありますが、echo 1 > /proc/sys/net/ipv4/ip_forward
再起動後も持続しません。)