Ssh

與 VPS 的連接失去在預設策略下使用 iptables 作為 INPUT、OUTPUT、FORWARD 的 DROP

  • January 7, 2015

我在許多伺服器中使用 iptables,但現在在使用預設策略作為 DROP 時遇到了這個問題。

這是我在 VPS 中使用的規則,嘗試了很多次一切似乎都很好,但是當我使用此規則時 VPS 會斷開連接。

只有我想要 ssh 埠 2222 和 ntp 來更新我的時間。

iptables -F
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --sport 2222 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --dport 2222 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p udp --sport 2222 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p udp --dport 2222 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p udp --sport 123 -m state --state ,NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p udp --dport 123 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -j DROP
iptables -N LOGGING
iptables -A INPUT -j LOGGING
iptables -A LOGGING -m limit --limit 10/min -j LOG --log-prefix "IPTables Packet Dropped: " --log-level 7

直到從 VPS 註銷我可以訪問 VPS 它仍然建立,如果我曾經註銷並嘗試再次登錄我無法登錄。有人會為我審查規則嗎?

miniBill 是對的:您確實混淆了sportdport。當你寫:

iptables -A INPUT -i eth0 -p tcp --sport 2222 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --dport 2222 -m state --state NEW,ESTABLISHED -j ACCEPT

您的INPUTssh 流量是您的伺服器的,因此應該有目標埠 2222,而不是埠;OUTPUT交通也有同樣的問題。將這些行更改為

iptables -A INPUT -i eth0 -p tcp --dport 2222 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 2222 -m state --state NEW,ESTABLISHED -j ACCEPT

事情應該會更好。

引用自:https://serverfault.com/questions/656619