最後にiptablesについて読んでいます。フィルタテーブル(インストール済み、fedora 17)の入力チェーンは次のようになるため、少し混乱しています。
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT udp -- anywhere 224.0.0.251 state NEW udp dpt:mdns
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
私が読んだところでは、3番目のルールは何でも許可する必要がありますが、そうではありません(sshdまたはhttpsサーバーへのアクセスを許可するにはiptablesを無効にする必要があります)。他のすべてのテーブルに対する他のすべてのチェーンは、すべてを拒否するフィルタ転送を除いて、ルールなしでポリシーを受け入れます。
それでは、ACCEPTは正確に何をするのでしょうか?
iptables -v -L
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
36625 38M ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED
0 0 ACCEPT icmp -- any any anywhere anywhere
1 60 ACCEPT all -- lo any anywhere anywhere
0 0 ACCEPT udp -- any any anywhere 224.0.0.251 state NEW udp dpt:mdns
534 73926 REJECT all -- any any anywhere anywhere reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 REJECT all -- any any anywhere anywhere reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT 31484 packets, 3973K bytes)
pkts bytes target prot opt in out source destination
もしそうなら、これが私に意味するのは、3番目のルールが実際にループバックインターフェイスにのみ適用されることです。 [はい]
答え1
このACCEPT
宛先は、パケットが NetFilter を通過できるようにする終了宛先です。これはREJECT
、パケットが通過するのを効果的に防止し、ICMP応答がパケット送信者に送信されることを可能にする終了ターゲットです。 "iptables -v -L"コマンドを使用してテーブルを一覧表示した場合、例の3番目の規則は次のとおりです。
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
639 304K ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED
0 0 ACCEPT icmp -- any any anywhere anywhere
101 7798 ACCEPT all -- lo any anywhere anywhere
この列には、ルールin
に一致するインターフェイスがあります。 3番目のルールはlo
インターフェイスなので、このルールはインターフェイスのすべてのトラフィックを許可します。これは正しいです。そうしないと、そのアドレスでloopback
どのlocalhostサービスにもアクセスできません。TCP
UDP
localhost