CentOS7 防火墙 Firewalld 规则配置文件批量放行端口
Posted 闭关苦炼内功
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS7 防火墙 Firewalld 规则配置文件批量放行端口相关的知识,希望对你有一定的参考价值。
关于 centos7 防火墙 firewalld 服务开墙服务,博主之前写过手动命令添加
centos7 关于firewalld 与 iptables 防火墙的 “爱恨情仇”
今天分享通过配置文件批量添加
文章目录
1.先看效果
[root@localhost ~]# echo "配置文件开墙"
配置文件开墙
[root@localhost ~]# firewall-cmd --list-ports
10000/tcp 20000/tcp
[root@localhost ~]# cat /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="ssh"/>
<service name="mdns"/>
<service name="dhcpv6-client"/>
<port port="10000" protocol="tcp"/>
<port port="20000" protocol="tcp"/>
</zone>
[root@localhost ~]# echo "开始配置"
开始配置
[root@localhost ~]# sed -i 's#</zone># <port port="30000-30100" protocol="tcp"/>\\n&#' /etc/firewalld/zones/public.xml
[root@localhost ~]#
[root@localhost ~]# cat /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="ssh"/>
<service name="mdns"/>
<service name="dhcpv6-client"/>
<port port="10000" protocol="tcp"/>
<port port="20000" protocol="tcp"/>
<port port="30000-30100" protocol="tcp"/>
</zone>
[root@localhost ~]# firewall-cmd --state
running
[root@localhost ~]#
[root@localhost ~]# firewall-cmd --reload
success
[root@localhost ~]#
[root@localhost ~]# firewall-cmd --state
running
[root@localhost ~]# firewall-cmd --list-ports
10000/tcp 20000/tcp 30000-30100/tcp
[root@localhost ~]#
2.再操作
2.0查看防火墙状态
-
方式1(防火墙是否开启都可以查看)
systemctl status firewalld
-
方式2(在防火墙开着的前提下查看)
firewall-cmd --state
2.1防火墙 禁用、启用、开启、关闭、重启
-
禁用
systemctl disable firewalld
-
启用
systemctl enable firewalld
-
开启
systemctl start firewalld
-
关闭
systemctl stop firewalld
-
重启
systemctl restart firewalld
2.2查看防火墙已放行的端口列表(防火墙开着的前提下)
firewall-cmd --list-ports
2.3查看 firewall 防火墙规则配置文件
cat /etc/firewalld/zones/public.xml
2.4通过 sed 写入要放行的端口到配置文件中
sed -i 's#</zone># <port port="30000-30100" protocol="tcp"/>\\n&#' /etc/firewalld/zones/public.xml
解释一下
sed -i 's#指定内容#要追加的内容\\n&#' filename
- sed 是处理文件行的快速工具,不需要借助Vim编辑器即可完成
- \\n 在shell中是换行符号
- & 这个是与符号
-
指定字符前面添加
sed -i 's/指定的字符/需要添加的字符&/' 文件名称
-
指定字符后面添加
sed -i 's/指定的字符/&需要添加的字符/' 文件名称
-
当然,通过 Vim 编辑器 编辑配置文件也可,这没什么问题
2.5再次查看一下 firewall 防火墙 规则 配置文件
cat /etc/firewalld/zones/public.xml
2.6重新加载 防火墙 firewall (或重启防火墙)
firewall-cmd --reload
2.7查看防火墙已放行的端口列表(防火墙开着的前提下)
firewall-cmd --list-ports
我们下期见,拜拜!
以上是关于CentOS7 防火墙 Firewalld 规则配置文件批量放行端口的主要内容,如果未能解决你的问题,请参考以下文章