ポート8006および8007でそれぞれ特別なHTTPおよびHTTPSサービスをホストしています。iptablesを使用してサーバーを「アクティブ化」します。つまり、着信HTTPおよびHTTPSポートをルーティングします。
iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 8006 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 8007 -j ACCEPT
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8006
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 8007
iptables -A OUTPUT -t nat -d 127.0.0.1 -p tcp --dport 80 -j REDIRECT --to-ports 8006
iptables -A OUTPUT -t nat -d 127.0.0.1 -p tcp --dport 443 -j REDIRECT --to-ports 8007
これは魅力のように機能します。ただし、サーバーを再び無効にする別のスクリプトを作成したいと思います。つまり、上記の行を実行する前の状態にiptablesを復元します。しかし、これらのルールを削除するための構文を理解するのに苦労しています。機能しているように見える唯一のことは完全なフラッシュです:
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
しかし、それは望ましくない他のiptablesルールも削除します。
-I
代わりの-A
ためACCEPT
のライン。これは通常、最後の行(INPUT
たとえば、チェーン)がDROP
orでREJECT
あり、その前にルールを配置したいためです。-A
最後のルールの後に新しいルールを-I
配置し、最初にそれを配置します。