私は、任意の IP に対して許可されるべき 2 つの特定のポート X と Y を除く、ローカル IP (192.168.2.*) に対してのみ、Debian サーバー上のすべてのポートへの接続を許可する方法を探しています。IP がローカル IP でない場合は、ポート X と Y を除くすべてのポートへの接続はすべてブロックされる必要があります。
Iptables でこの状況をどのように処理すればよいでしょうか?
答え1
よく理解できたか分かりませんが、やり方は次のとおりです。
2 つのポート (X と Y) を除くローカル IP 範囲 192.168.2.0/24 のすべてのポートを許可するには、次のようなルールを使用できます。
iptables -A INPUT -s 192.168.2.0/24 -p tcp --dport X -j DROP
iptables -A INPUT -s 192.168.2.0/24 -p tcp --dport Y -j DROP
iptables -A INPUT -s 192.168.2.0/24 -p tcp -j ACCEPT
その他の非ローカル IP については、X と Y への接続のみを許可するには、次を使用できます。
iptables -A INPUT -p tcp --dport X -j ACCEPT
iptables -A INPUT -p tcp --dport Y -j ACCEPT
iptables -A INPUT -p tcp -j DROP
プロトコル (TCP または UDP) を指定していませんが、上記で明らかなように TCP であると想定しています。ルールをこの特定の順序で挿入する必要があり、他の定義済みルールはないものと想定しています。