Iptables ルールにより SSH 経由のログインが遅くなる

Iptables ルールにより SSH 経由のログインが遅くなる

私は VDS 用にいくつかの基本的な iptables ルールを構築しようとしています:

iptables -A INPUT -p tcp --dport ssh -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -P INPUT DROP

SSH と WEB のトラフィックを除くすべての着信トラフィックをブロックしたいのですが、ルールを適用してシステムを再起動すると、SSH 経由でログインするのに 30 秒かかり、ログイン プロセスは非常に遅くなりますが、接続後は完全に機能します。

SSH 経由でのログインを高速化するには、どのようなルールを追加する必要がありますか?

答え1

からiptables --help

--numeric   -n      numeric output of addresses and ports

https://serverfault.com/questions/85602/iptables-l-pretty-slow-is-this-normal

-nすべての IP アドレス、ネットワーク、ポートの名前解決に DNS を使用しないようにオプションを追加します。そうすれば、処理が高速になります。

https://help.ubuntu.com/community/IptablesHowTo

確立されたセッションを許可する

確立されたセッションがトラフィックを受信できるようにすることができます。

sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

上記の行が機能しない場合は、プロバイダーが拡張機能を提供していない、機能不全の VPS を使用している可能性があります。その場合は、最後の手段として、下位バージョンを使用できます。

sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

help.ubuntu.comがより優れた完全なソリューションを提供しているため削除しました以下は無視してください

https://serverfault.com/questions/416537/why-does-a-valid-set-of-iptables-rules-slow-my-server-to-a-crawl

既存のトラフィックに基づいてトラフィックを受け入れるルール

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

答え2

次の2つのコマンドを実行した後、同じ問題を解決しました

# Allow Established and Related Incoming Connections
iptables -I INPUT 1 -m conntrack --ctstate ESTABLISH
ED,RELATED -j ACCEPT

# Allow Established Outgoing Connections
iptables -I OUTPUT 1 -m conntrack --ctstate ESTABLISHED -j ACCEPT

これらの2つのコマンドはIptables の基本: 一般的なファイアウォール ルールとコマンド

関連情報