最近需要管理一台实体主机,上面还有跑不少服务,得为其设置防火墙。
因为主机是 Ubuntu,第一反应考虑使用 ufw。
ufw 设定规则如下:
ufw allow ssh
ufw allow http
ufw allow 8006
ufw deny 3306
我期望的结果:allow
端口允许访问,deny
端口禁止访问。
实际结果:8006
和 3306
都可以访问。
iptables 设定规则如下:
iptables -I INPUT -p tcp --dport ssh -j ACCEPT
iptables -I INPUT -p tcp --dport http -j ACCEPT
iptables -I INPUT -p tcp --dport 8006 -j ACCEPT
iptables -I INPUT -p icmp -j ACCEPT
iptables -I INPUT -i lo -j ACCEPT
iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -j REJECT
iptables -A FORWARD -j REJECT
我期望的结果:除了指定允许端口外,其他端口全部禁止。
实际结果:未允许的端口确实不能连接,但指定允许的 8006
也不能访问了。
前后使用两种方式都没能达到我想要的效果,请问:上述规则是哪里存在问题,导致与预期不符?
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…