关于 centos7 防火墙 firewalld 服务开墙服务,博主之前写过手动命令添加
centos7 关于firewalld 与 iptables 防火墙的 “爱恨情仇”
Linux防火墙放行端口
今天分享通过配置文件批量添加
文章目录
- 1.先看效果
- 2.再操作
- 2.0查看防火墙状态
- 2.1防火墙 禁用、启用、开启、关闭、重启
- 2.2查看防火墙已放行的端口列表(防火墙开着的前提下)
- 2.3查看 firewall 防火墙规则配置文件
- 2.4通过 sed 写入要放行的端口到配置文件中
- 2.5再次查看一下 firewall 防火墙 规则 配置文件
- 2.6重新加载 防火墙 firewall (或重启防火墙)
- 2.7查看防火墙已放行的端口列表(防火墙开着的前提下)
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
我们下期见,拜拜!