CentOS 7.x 防火墙开放端口相关用法记录

川长思鸟来 2022-05-22 04:56 206阅读 0赞

原文链接 https://www.cnblogs.com/catcher1994/p/6923744.html?utm\_source=itdadao&utm\_medium=referral

作者: Catcher ( 黄文清 )

来源: http://catcher1994.cnblogs.com/

声明: 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明

CentOS 7.x 防火墙开放端口相关用法记录

前言

防火墙对服务器起到一定的保护作用,所以了解一些相关的操作是很有必要的。

在CentOS 7.x中,有了一种新的防火墙策略,FireWall , 还记得在6.x中用的还是iptables。

这几天一直在自己的服务器上瞎搞,由于关于这个防火墙的命令还没有烂熟于心,每次都需要google一下,所以就自己动手整理了一下,方便今后的使用也同时加强记忆。

基本命令

在CentOS 7.x中,防火墙的基本命令是 firewall-cmd

先通过man firewall-cmd 来简单看看它的帮助文档。

558945-20170531134758961-959439337.png

具体的使用方法可以用 firewall-cmd -h来进行查询。

状态查询

要用防火墙,自然是需要知道防火墙有没有启动。

可以通过查询防火墙的当前状态来确定服务器是否开启了防火墙

  1. firewall-cmd --state

如果终端输出running就表示防火墙已经开启了,反之就没有。

也可以使用下面的命令来查询

  1. systemctl status firewalld

输出的信息中,会告诉你是否处于活动状态

558945-20170531134828274-744253000.png

启动防火墙

当得知防火墙没有被开启时,就需要手动将其开启。

  1. systemctl start firewalld

执行上述命令后,是没有任何输出信息的。没有提示信息对我们来说就是个好消息,说明我们的防火墙起来了。

这个时候在通过查询防火墙状态的命令就能看到它已经跑起来了。

558945-20170531134859914-1236010348.png

查看已经开放的端口

许多情况下是需要查看服务器是否开启了端口的。比如我添加了一个站点,用的端口是8080,在服务器能正常访问,但是外面却访问不了,这个时候的第一反应应该就是防火墙的8080端口还没有对外开放。

  1. firewall-cmd --list-ports

执行上面的命令后,就可以查看所有开放的端口了。

558945-20170531134933977-1730862404.png

由于Catcher还开放了除80以外的其他端口,所以对其他端口打了码。

添加新端口

这一步的操作就好比在Windows上的防火墙中新建一个入站规则。

只添加一个单独的端口(示例为81)

  1. firewall-cmd --zone=public --add-port=81/tcp --permanent

添加一组连续的端口(示例为82到85)

  1. firewall-cmd --zone=public --add-port=82-85/tcp --permanent

当添加成功之后,发现并没有看到刚才添加的端口。

558945-20170531135014930-1253331385.png

此时我们应该要重新启动防火墙,让其生效。

重启防火墙

  1. firewall-cmd --reload

执行这条命令后,会输出success的字样表示已经重启成功了。

此时在去查看端口的情况就可以发现81端口已经成功添加进去了。

558945-20170531135035336-959630761.png

其他查看端口开放的方法

  1. 查询指定的端口是否已经开放

    firewall-cmd —zone=public —query-port=81/tcp

执行上面的命令后,如果指定的端口已经开放就会输出yes,反之就输出no

558945-20170531135052836-304887345.png

  1. 通过zones下面的xml文件来查看

/etc/firewall/zones 目录下面有一个名为public.xml的文件。这里存放着这个zone相关的信息,不只是端口!

  1. cat /etc/firewall/zones/public.xml

558945-20170531135109055-474316207.png

关闭端口

  1. firewall-cmd --zone=public --remove-port=81/tcp --permanent

同样的,关闭端口之后也是要重启才能生效。

558945-20170531135132696-1115244527.png

关闭防火墙

  1. systemctl stop firewalld.service

当然,Catcher是不建议关闭防火墙的。

总结

这几个命令还是比较简单的,希望这篇小小的总结能给你带来小小的帮助。

发表评论

表情:
评论列表 (有 0 条评论,206人围观)

还没有评论,来说两句吧...

相关阅读