配置文件路径
firewalld的配置存储在/usr/lib/firewalld/
和/etc/firewalld/
上的各种XML文件中。
1. 系统配置目录:/usr/lib/firewalld/services
目录中存放定义好的网络服务和端口参数,系统参数,不能修改。
2. 用户配置目录:/etc/firewalld/
公共规则定义在/etc/firewalld/zones/public.xml
中。内容如下:
<?xml version="1.0" encoding="utf-8"?>
<zone>
<short>Public</short>
<description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
<service name="dhcpv6-client"/>
<service name="ssh"/>
</zone>
如何添加端口
这里指开放端口。两种方法:
1. 命令的方式添加端口
firewall-cmd --permanent --add-port=80/tcp
- firewall-cmd:是Linux提供的操作firewalld的一个工具;
- –permanent:表示设置为持久;
- –add-port:标识添加的端口和协议;
另外举几个我感觉有用的例子:
#添加一个范围,9000到9100
firewall-cmd --permanent --add-port=9000-9100/tcp
#移除80端口
firewall-cmd --permanent --remove-port=80/tcp
2.修改配置文件的方式添加端口
<?xml version="1.0" encoding="utf-8"?>
<zone>
<short>Public</short>
<description>...</description>
<service name="dhcpv6-client"/>
<service name="ssh"/>
#这里添加规则
<port protocol="tcp" port="80"/>
<port protocol="tcp" port="8080"/>
</zone>
实际上执行命令跟这是一样的效果。
最后重启防火墙,service firewalld restart
,使配置生效。
附上常用命令:
#查看状态
firewall-cmd --state
#查看规则
firewall-cmd --list-all
#重启
service firewalld restart
#开启
service firewalld start
#关闭
service firewalld stop
#查看服务状态
systemctl status firewalld.service
#停止服务并取消开机启动
systemctl stop firewalld.service
systemctl disable firewalld.service