1つのポートだけを除いてすべてをブロックする方法(9999
特定のIPからサーバーにアクセスするなど)192.168.0.1
iptables -A INPUT -s 192.168.0.1 -j DROP
すべてのポートがブロックされます。
特定のIPのポート範囲をブロックできますか?
答え1
もちろんです!
iptables
ルールは順番に適用されます。したがって、まずチェーンに対して非常に厳しいポリシーを作成し、特定のポートでトラフィックを許可できます。
まず、デフォルトのチェーンポリシーを設定できます。たとえば、次のようになります。 (デフォルトではACCEPTに設定されています。)
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
これにより、すべてのコンテンツを拒否するように各チェーンを構成できます。その後、必要に応じて1つのポートまたは特定のネットワークセグメントへのトラフィックのみを許可できます。
iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
INPUT
ルールを追加するチェーンの名前。-i
ルールが適用されるインターフェイスを指定するために使用されます(eth0
例では)。-p
プロトコルを指定するために使用されます。(tcp
)この例では、--dport
任意のポートで指定できます。トラフィックが許可されている場合は、-m state
ファイアウォールに接続状態を表示するように指示します。これは、接続--state NEW,ESTABLISHED
を許可する2つの状態を使用できるようにし、最後に-j ACCEPT
前述した規則と一致する接続が許可されることをファイアウォールに通知します。
最後の質問ではIPおよび/またはポート範囲が必要なので、これを行う方法は--dport 80:10010
(80から10010のポートにルールが適用されます)、IP範囲を使用してルールが-m iprange --src-range 192.168.1.100-192.168.1.200
すべてのアドレスに適用されるようにすることです。交通。 IP範囲は192.168.1.100 - 192.168.1.200です。
完全な作業例:
iptables -A INPUT -i eth0 -p tcp --dport 80:10010 -m iprange --src-range 192.168.1.100-192.168.1.200 -m state --state NEW,ESTABLISHED -j ACCEPT