在大多数现代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
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论