Linux 虚拟机防火墙配置实操指南
一、选择工具与准备
iptables-save > /root/iptables-$(date +%F).bak)。二、按发行版常用做法
sudo systemctl start firewalld && sudo systemctl enable firewalldsudo firewall-cmd --zone=public --add-port=80/tcp --permanentsudo firewall-cmd --zone=public --add-service=http --permanentsudo firewall-cmd --reloadsudo firewall-cmd --list-allsudo firewall-cmd --zone=public --add-masquerade --permanent && sudo firewall-cmd --reloadsudo ufw enablesudo ufw allow 22/tcp,80/tcp,443/tcpsudo ufw allow from 192.168.1.0/24 to any port 22sudo ufw status verbosesudo iptables -A INPUT -i lo -j ACCEPT;sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPTsudo iptables -A INPUT -p tcp --dport 22 -j ACCEPTsudo iptables -A INPUT -p tcp --dport 80,443 -j ACCEPTsudo iptables -P INPUT DROPsudo apt-get install iptables-persistent && sudo netfilter-persistent savesudo service iptables save 或 sudo iptables-save > /etc/sysconfig/iptablessudo iptables-restore < /etc/iptables/rules.v4三、常见场景与命令示例
sudo firewall-cmd --zone=public --add-port=22/tcp --permanent && sudo firewall-cmd --reloadsudo ufw allow 22/tcpsudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT && sudo iptables -P INPUT DROP(务必保留会话,先放行再改默认策略)sudo firewall-cmd --zone=public --add-service=http --permanent && sudo firewall-cmd --zone=public --add-service=https --permanent && sudo firewall-cmd --reloadsudo ufw allow 80,443/tcpsudo iptables -A INPUT -p tcp --dport 80,443 -j ACCEPTsudo iptables -A INPUT -p tcp --dport 22 -s 192.168.1.0/24 -j ACCEPT;sudo iptables -A INPUT -p tcp --dport 22 -j DROPsudo firewall-cmd --zone=public --add-masquerade --permanent && sudo firewall-cmd --reloadsudo firewall-cmd --zone=public --add-forward-port=port=8080:proto=tcp:toport=80 --permanent && sudo firewall-cmd --reload四、验证与故障排查
nc -vz <IP或域名> 80 或 telnet <IP> 443ss -tulpen | grep -E '(:80|:443|:22)'sudo firewall-cmd --state、sudo firewall-cmd --list-allsudo ufw status verbosesudo iptables -L -n -v五、安全与维护建议
iptables -I INPUT -p tcp --dport 22 -m limit --limit 10/min -j ACCEPT)、开启日志与定期审计。--permanent 并 reload;iptables 使用发行版提供的持久化机制)。