Linux Minimal 防火墙设置指南
一、先确认系统与防火墙组件
cat /etc/redhat-release(或 cat /etc/os-release)。sudo systemctl status firewalldsudo service iptables status 或 sudo iptables -L -n -v二、CentOS 7/8 Minimal 使用 firewalld(推荐)
sudo systemctl start firewalldsudo systemctl enable firewalldsudo firewall-cmd --state、sudo firewall-cmd --list-allsudo firewall-cmd --permanent --add-port=80/tcpsudo firewall-cmd --permanent --add-service=httpsudo firewall-cmd --reloadsudo firewall-cmd --get-zonessudo firewall-cmd --get-active-zonessudo firewall-cmd --permanent --zone=public --change-interface=eth0sudo firewall-cmd --permanent --add-service=sshsudo firewall-cmd --permanent --add-port=80/tcpsudo firewall-cmd --reload三、CentOS 6 Minimal 使用 iptables(传统方式)
sudo service iptables startsudo chkconfig iptables onsudo vi /etc/sysconfig/iptables,在默认 22 端口规则后追加需要的端口,例如:
-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 ACCEPTsudo service iptables save(或 sudo iptables-save > /etc/sysconfig/iptables)sudo service iptables restartsudo iptables -L -n -vsudo iptables -F(谨慎,可能导致远程断开)yum install -y iptables-services。四、通用加固与排错要点
sudo iptables-save > /root/iptables-$(date +%F).baksudo iptables-restore < /root/iptables-YYYY-MM-DD.baksudo firewall-cmd --permanent --remove-service=dhcpv6-client 等减少不必要暴露(视环境而定)。sudo setenforce 0 并将 /etc/selinux/config 中 SELINUX=enforcing 改为 SELINUX=permissive/disabled(生产环境请评估风险)。