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選項,這樣它就不會嘗試使用 DNS 來解析每個 IP 位址、網路和連接埠的名稱。然後就會很快。

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

運行以下兩個命令後我解決了同樣的問題

# 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

這兩個命令來自Iptables 重點:常見防火牆規則和命令

相關內容