IptablesのINPUTでいつsportまたはdportを使用しますか?

IptablesのINPUTでいつsportまたはdportを使用しますか?

ローカルネットワークのユーザーがポート22を使用しないようにしたいと思います。私のLinuxサーバーはトラフィックを制御します。iptables。どのルールが最も適切ですか?

iptables -A INPUT -i $LAN -p tcp --sport 22 -j DROP

または

iptables -A INPUT -i $LAN -p tcp --dport 22 -j DROP

重要:この規則は単なる例です。回答からポート例を選択できます。

dport私はチェーンの合計がsportどのシナリオで使用されるかを知りたいと思いますINPUT。答えは他の例を使うことができます

PS:質問の目的は、ローカルLANネットワークユーザーがこのポート(または他のポート)にアクセスするのを防ぐことです。したがって、ルールはローカルLANネットワーク(WANではない)のインターフェイスのみをターゲットにする必要があります。$LANLAN インターフェイスの変数です (例enp2s1:eth1など)。

ベストアンサー1

dport私はチェーンの合計がsportどのシナリオで使用されるかを知りたいと思いますINPUT

コンピュータのサービスへのアクセスを制限したい場合がよくあります。 TCPハンドシェイクの最初のパケットはクライアントからサーバーからなるため、チェーン内のdportローカルINPUTサービスへのアクセスを制御したり、dportチェーンからOUTPUT削除されたサービス(ローカルホスト上)へのアクセスを制御したりするためによく使用されます。 )。

iptables -A INPUT -p tcp --dport 22 -j DROP // prevents access to a local SSH server
iptables -A OUTPUT -p tcp --dport 22 -j DROP // prevents access to a remote SSH server

ほとんどのTCPベースのプロトコルは、クライアントがバインドされているポートには興味がありません。管理者は特定のクライアントポートからのみローカルサービスへのアクセスを許可できますが(デフォルトでは、Linuxでは1024未満のポート番号にバインドするには追加の権限が必要であることに注意してください)、これは一般的ではありません。

おすすめ記事