一、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