実行すると、iptables -L -n
次の情報が提供されます。
Chain IN_ZONE_work_allow (1 references)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 ctstate NEW
ACCEPT udp -- 0.0.0.0/0 224.0.0.251 udp dpt:5353 ctstate NEW
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:631 ctstate NEW
許容されるudp 0.0.0.0/0 dest 224.0.0.251とは何ですか?
答え1
つまり、マルチキャストDNSパケット(dpt =宛先ポート、5353 =マルチキャストDNS)を受信できます。udpはプロトコル、224.0.0.251は宛先です。マルチキャストアドレス、0.0.0.0/0 はどこでも意味します。ctstate new
接続が新しい場合を意味します(「新しくない」に関連するパケット、つまりすでに確立されている接続は、より一般的な規則によって許可されます)。
わからない場合、低レベルでは、ネットワーク上のすべてのコンピュータが他のコンピュータから送信されたすべてのパケットを受信し、それぞれ独自に分類します。
答え2
あなたが要求するルールは通常、LinuxのavahiデーモンがmDNSクエリを受け取るために使用されます。
このiptablesルールは、マルチキャストアドレス224.0.0.251に向かうポート5353からの着信UDPパケットを許可します。 IANAはマルチキャストアドレスの使用を定義します。ここ、mDNS RFCはここ。
iptables -L -n
INPUTチェーンの元の一致は、ソース、これらのパケットを許可するインターフェイス、およびその他のさまざまな属性に基づいてより詳細なパケット一致を持つことができるため、表示される出力は完全な図ではありません。 INPUTチェーンの初期一致は、「IN_ZONE_work_allow」チェーンの後続のルールに達する前に他のチェーンに移動することもできます。このルールをトリガーするために存在する必要があるすべてのパケット属性をよりよく理解するには、列に表示される最初のパケット属性が表示されるまでチェーンで逆方向に作業し、IN_ZONE_work_allow
INPUTtarget
で最初のパケット属性が見つかるまでこの方法を続行する必要があります。ジャンプ(実際には配信ルールセットではないと仮定)。あなたの場合、チェーン名の後に「1 reference」というコメントが表示されているように、チェーンがINPUTから直接ジャンプする可能性が高くなります。iptables-save
そのような出力があるかどうかを確認するためにボックスを見るのがより簡単だと思います。
答え3
TCP/IP ネットワークから IP アドレスへの 0.0.0.0 は、「どこでも」または「どこでも」を意味します。カーネルの内部フォーマット(上記の内容)はそれを使用し、それを設定するコマンドはソースを提供しないかもしれません。