GNU/Linux >> Linux の 問題 >  >> Linux

iptables:-p udp --state ESTABLISHED

解決策 1:

<ブロック引用>

したがって、iptables は基本的に、送信パケットに使用されたポート番号を記憶します (UDP パケットに関して他に何を記憶できますか?)、

UDP の送信元と宛先のポートとアドレスが保存されていることは確かです。

状態テーブルを調べたい場合は、conntrack や netstat-nat をインストールしてください。

<ブロック引用>

(時間枠内に誤ってそのポートでサービスを開始しようとした場合、その試みは拒否/ブロックされますか?)

OUTPUT と INPUT を使用しているため、ローカル サービスについて話していることになります。ポートは既に使用されています。何かがそのポートで既にリッスンしているため、システムで別のサービスを開始できるとは思えません。本当にやりたい場合は、最初のサービスを停止して別のサービスを開始することもできると思いますが、その場合、応答はおそらくあなたのサービスに届きます。サービスがパケットに対して行う処理は、パケットの内容とサービスによって異なります。

解決策 2:

注意:この回答は編集されています。

マニュアル ページに記載されている内容にもかかわらず、 ESTABLISHED 「ステートフル」を意味するようです。 UDP の場合、(あなたが示唆するように) 各送信 UDP パケット (「src ip、src port dst ip、dst port」タプル) をしばらく記憶し、その応答を認識することを意味します。

FWIW、DNS トラフィックの通常のルールは次のようになります:

# permit any outbound DNS request (NB: TCP required too)
iptables -A OUTPUT -p udp --sport 1024:65535 --dport 53  -j ACCEPT
iptables -A OUTPUT -p tcp --sport 1024:65535 --dport 53  -j ACCEPT

# accept any packet that's a response to anything we sent
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

つまり、OUTPUT のトラフィックを制御します チェインしてから iptables 状態モジュールは INPUT で他のすべてを処理します

この関連する質問も参照してください。


Linux
  1. CentOSのIptablesでHttpポート(80)を開く方法

  2. APNS を有効にするために iptables CentOS 6 でポート 2195 を開く方法

  3. Linuxでポートを開く方法

  1. AWS VPC + IPtables + NAT:ポート転送が機能しない

  2. 不要なポートがフィルタリングされていると報告されないように iptables を構成する方法

  3. IPTables を使用した FTP の許可

  1. iptables でポート転送するにはどうすればよいですか?

  2. iptables 使用時の REJECT と DROP

  3. ポートを再ルーティングするように iptables を設定したら、どうすれば元に戻すことができますか?