Iptablesは、特定のIPとポートのすべてのコンテンツを受け入れます。

Iptablesは、特定のIPとポートのすべてのコンテンツを受け入れます。

IPアドレスと特定のポートから私のポートへのすべてのトラフィックを許可したいと思います。
構成は次のとおりです。
構成

詳細:
私のサーバーでJitsiを使用しており、他のserver2(クライアント)からJitsiにアクセスしたいと思います。クライアントには、デフォルトでhttpsとsshを除くすべてをブロックするファイアウォールがあります。
Jitsi会議会議プロセス(STUNなしでポイントツーポイント接続を許可する)は次のとおりです。

  • クライアントは任意のポートからJitsiの10000番目のポートに接続要求を送信します。
  • Jitsiは10000の要求を受け入れ、要求が発生したポートに応答を送信します。
  • 応答がランダムなポートから来たため、ファイアウォールがそれをブロックしたため、クライアントは応答を表示できません。

したがって、JitsiサーバーのIPと特定のポート10000から私のポートに向かうすべてのトラフィックを許可する必要があります。

私はこれをrule.chainsに追加しようとしました:

-A PREROUTING -s 10.0.0.1 --sport 10000 -j POLACCEPT

しかし、それはうまくいきませんでした。 systemctl restart netfilter-persistでエラーが発生しました。
ところで、tcpdumpの結果から着信パケットを見ることができます。これは、udp パケットが入ってきて iptables がパケットをブロックするためであるようですが、tcpdump はまだパケットを見ることができます。

解決策はありますか?それは何ですか?

ベストアンサー1

問題は、プロトコルがすでに指定されていることです。
-A PREROUTING -p udp -s 10.0.0.1 --sport 10000 -j POLACCEPT
ラインが機能するはずです。 -p はプロトコルを表し、udp として指定されます。

ここに答えに基づいて: https://serverfault.com/questions/415717/setting-iptables-rule-for-all-protocols-for-特異的-source-and-destination-port IPトランスポート層にはポートにバインドされていないプロトコルがある可能性があるため、これは許可されません。

おすすめ記事