Linux firewalld 开放端口

发布于:2025-02-19 ⋅ 阅读:(36) ⋅ 点赞:(0)

在大多数现代Linux发行版(如CentOS 7+和Fedora 18+)中,Firewalld通常预装在系统中。firewalld基础操作如下:

1.安装firewalld服务
sudo yum install firewalld
2.firewalld服务 版本信息
sudo firewall-cmd --version
3.查询firewalld服务状态
sudo systemctl status firewalld
	  Active: inactive (dead)  已经停止
	  Active: active (running) 正在运行
3.启动firewalld服务
sudo systemctl start firewalld
4.关闭firewalld服务
sudo systemctl stop firewalld
5.设置firewalld开机自启
sudo systemctl enable firewalld
6.设置firewalld取消开机自启
sudo systemctl disable firewalld
7.列出所有规则
sudo firewall-cmd --list-all
	public (active): 表示公共区域的防火墙配置处于活动状态。
	target: default: 确定了默认的防火墙目标。
	icmp-block-inversion: no: 表示没有启用 ICMP 阻塞的反转。
	interfaces: eth0: 列出了防火墙正在监控和保护的网络接口。
	sources: : 这里列出了允许通过防火墙的流量来源。
	services: dhcpv6-client ssh cockpit: 列出了已经在防火墙中允许通过的服务,包括 DHCPv6 客户端、SSH 和 Cockpit。
	ports: : 如果有特定的端口允许通过防火墙,将会在这里列出。
	protocols: : 列出了防火墙允许通过的特定协议。
	forward: no: 表示未启用转发。
	masquerade: no: 表示未启用伪装。
	forward-ports: : 这里列出了已经配置的端口转发规则。
	source-ports: : 列出了允许通过的源端口。
	icmp-blocks: : 如果有出被阻止的 ICMP 类型,将会在这里显示。
	rich rules: : 这里可以包含更为复杂和精细的防火墙规则设置。
8.重新加载配置
sudo firewall-cmd --reload
9.永久增加999端口访问
firewall-cmd --permanent --add-port=999/tcp
firewall-cmd --reload
firewall-cmd --query-port=999/tcp
10.临时增加999端口访问
firewall-cmd --add-port=999/tcp
firewall-cmd --reload
firewall-cmd --query-port=999/tcp
11.永久删除999端口访问
firewall-cmd --permanent --remove-port=999/tcp
firewall-cmd --reload
firewall-cmd --query-port=999/tcp
12.临时删除999端口访问
firewall-cmd --remove-port=999/tcp
firewall-cmd --reload
firewall-cmd --query-port=999/tcp
13.查询所有开放的端口
firewall-cmd --list-ports
14.增加22端口访问示例
firewall-cmd --zone=public --add-port=22/tcp --permanent
firewall-cmd --reload
15.对特定ip开放特定的端口:
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.151·.22" port protocol="tcp" port="3309" accept'
firewall-cmd --reload