ローカルネットワークのユーザーがポート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ではない)のインターフェイスのみをターゲットにする必要があります。$LAN
LAN インターフェイスの変数です (例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未満のポート番号にバインドするには追加の権限が必要であることに注意してください)、これは一般的ではありません。