我们在CentOS7内安装某项软件的时候,往往需要打开防火墙的某些端口,传统的方式是
firewall-cmd --zone=public --add-port=8000/tcp --permanent
我来解释一下上面这条命令的意思:在 public区域永久添加一个端口,协议是tcp,如果某项服务绑定到该端口,那么表示该端口对外开放了
如果某个服务绑定了多个端口,那么就需要我们多次执行上面的语句,只是需要修改端口,在平台上也不便于管理,有没有办法更好的管理呢?
我在学习搭建ActiveMQ集群的时候,就想了能不能把和它相关的端口放在一起管理,然后研究了一下原有防火墙的端口服务协议,发现可以通过配置服务来解决相关问题,这样端口管理上面比较清晰
首先需要用root用户登录
su root
cd /usr/lib/firewalld/services
ls
里面显示的全部都是在firewall规则下的服务,看到这里大家应该都明白了
其实只需要照猫画虎就可以了
我用touch activemq.xml 建立了一个文件,内容如下
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>ActiveMQ</short>
<description>ActiveMQ Server Ports</description>
<port protocol="tcp" port="62623"/>
<port protocol="tcp" port="51513"/>
<port protocol="tcp" port="8163"/>
</service>
然后只需要重启防火墙就可以了 firewall-cmd --reload
friewall-cmd --add-service=activemq --permanent
再次重启防火墙生效就可以了