
我在許多伺服器中使用 iptables,但現在在使用預設策略作為 DROP 時遇到了這個問題。
這是我在 VPS 中使用的規則,嘗試了很多次,一切似乎都很好,但當我使用此規則時,VPS 會斷開連接。
只有我想要 ssh 連接埠 2222 和 ntp 來更新我的時間。
iptables -F
iptables -X LOGGING
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,它仍然建立,如果我曾經登出並嘗試再次登錄,我將無法登入。有人會幫我審查一下規則嗎?
答案1
以下是有關連接埠 2222 上傳入流量的規則:
iptables -A INPUT -i eth0 -p tcp --sport 2222 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p udp --sport 2222 -m state --state ESTABLISHED -j ACCEPT
您不允許新的連接,因此您將無法從外部進行連接。
這個問題現在可能會引起興趣。