如何使用 IPTABLES 阻止一切?

1 linux iptables linux-kernel

我想阻止一切EXCEPT SSH / FTP / HTTP /字尾和MySQL。

“一切”是指所有其他端口、阻止 ping 等。

Edu*_*nec 7

我猜你的意思是传入连接(INPUT 链),而不是转发连接(如在路由器中)。我也采取后缀意味着只是 SMTP (25)。

iptables -P INPUT ACCEPT
iptables -F INPUT

for port in 21 22 25 80 3306
do
  iptables -A INPUT -p tcp --dport $port -j ACCEPT
done

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -P INPUT DROP
Run Code Online (Sandbox Code Playgroud)

特别是测试您的 FTP 连接,您可能需要启用ip_conntrack_ftp它才能在不修改客户端设置的情况下正常工作。