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経由のログインを高速化するには、どのルールを追加する必要がありますか?
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はより優れた完全なソリューションを提供しているため編集されました以下を無視
既存のトラフィックに基づいてトラフィックを受け入れるルール
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT