LNMP防火墙配置技巧
一 核心原则与最小暴露面
二 常用发行版快速配置
systemctl start firewalld && systemctl enable firewalldfirewall-cmd --permanent --zone=public --add-service=http --add-service=https --add-port=3306/tcpfirewall-cmd --permanent --zone=public --add-port=22/tcpfirewall-cmd --reloadfirewall-cmd --list-all 或 firewall-cmd --query-port=443/tcpufw enableufw allow 80/tcp, 443/tcp, 3306/tcp, 22/tcpufw allow from <IP_ADDRESS> to any port 22,80,443ufw statuscp /etc/sysconfig/iptables /etc/sysconfig/iptables.bak*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
service iptables save && service iptables restart三 进阶安全与运维技巧
firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="<TRUSTED_SUBNET>" port port="3306" protocol="tcp" accept'ufw allow from <TRUSTED_IP>/<MASK> to any port 3306firewall-cmd --permanent --zone=public --remove-port=22/tcp && firewall-cmd --reload--add-service 优先于 --add-port,便于语义化管理;端口变更后记得 --reloadiptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT,避免会话中断firewall-cmd --query-port=443/tcp、ss -lntp | grep ':443'--permanent 配置或备份文件恢复;iptables 使用备份 iptables-restore < /etc/sysconfig/iptables.bak四 常见陷阱与排查清单
--reload 或 service iptables restart,变更未生效。DROP 策略但未放行已建立连接,导致现有会话中断;务必先放行 ESTABLISHED,RELATED。firewall-cmd --get-active-zones 与 --zone=public --add-interface=<iface> 修正。