一、firewalld配置方法(CentOS 7/8推荐)
基础操作
查看防火墙状态:
sudo systemctl status firewalld
若未运行,启动并设置开机自启:
sudo systemctl start firewalld sudo systemctl enable firewalld
端口开放规则
永久开放单个端口(以TCP协议的8080端口为例):
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent # --zone=public:指定规则作用于默认的public区域 # --permanent:规则永久生效(重启后仍保留)
重载配置使规则立即生效:
sudo firewall-cmd --reload
验证与扩展操作
查看所有开放端口:
sudo firewall-cmd --list-ports
开放端口范围(如5000-6000):
sudo firewall-cmd --zone=public --add-port=5000-6000/tcp --permanent sudo firewall-cmd --reload
按服务名开放(如HTTP服务):
sudo firewall-cmd --zone=public --add-service=http --permanent sudo firewall-cmd --reload
二、iptables配置方法
环境准备
安装iptables-services(若未安装):
sudo yum install iptables-services -y
停止firewalld并启用iptables:
sudo systemctl stop firewalld sudo systemctl disable firewalld sudo systemctl start iptables sudo systemctl enable iptables
规则配置
开放单个端口(如8080):
sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
开放端口范围(如40000-40010):
sudo iptables -A INPUT -p tcp --dport 40000:40010 -j ACCEPT
保存规则(重启后生效):
sudo service iptables save
或手动编辑配置文件/etc/sysconfig/iptables,在COMMIT前添加规则:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT