Ssh
與 VPS 的連接失去在預設策略下使用 iptables 作為 INPUT、OUTPUT、FORWARD 的 DROP
我在許多伺服器中使用 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 是對的:您確實混淆了
sport
和dport
。當你寫: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
您的
INPUT
ssh 流量是到您的伺服器的,因此應該有目標埠 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
事情應該會更好。