当前位置:   article > 正文

Linux防火墙:查看端口、开放端口、关闭端口_firewalld查看开放端口

firewalld查看开放端口

 查看防火墙的状态

  1. firewall-cmd --state
  2. # 或
  3. systemctl status firewalld

 启动防火墙命令

  1. # 如果不行,可以在firewalld后面加上.service
  2. systemctl start firewalld

 关闭防火墙命令

systemctl stop firewalld

 永久关闭SElinux

  1. # 把 SELINUX=enforcing 修改为 SELINUX=disabled
  2. vi /etc/selinux/config

 开机时禁用防火墙的命令

systemctl disable firewalld

 列举出已经开放的端口

firewall-cmd --list-ports

查询指定端口是否已经开放,返回yes/no。也有可能返回firewalld is not running,此时需要打开防火墙在开放端口。

firewall-cmd --query-port=8848/tcp

添加指定需要开放的端口

  1. firewall-cmd --add-port=8848/tcp --permanent
  2. # 或者
  3. firewall-cmd --zone=public --add-port=80/tcp --permanent

移除指定端口:

firewall-cmd --permanent --remove-port=8848/tcp

重启防火墙

firewall-cmd --reload

 以下源自:Linux firewall-cmd 命令详解

  1. firewall-cmd --version # 查看版本
  2. firewall-cmd --help # 查看帮助
  3. # 查看设置:
  4. firewall-cmd --state # 显示状态
  5. firewall-cmd --get-active-zones # 查看区域信息
  6. firewall-cmd --get-zone-of-interface=eth0 # 查看指定接口所属区域
  7. firewall-cmd --panic-on # 拒绝所有包
  8. firewall-cmd --panic-off # 取消拒绝状态
  9. firewall-cmd --query-panic # 查看是否拒绝
  10. firewall-cmd --reload # 更新防火墙规则
  11. firewall-cmd --complete-reload
  12. # 两者的区别就是第一个无需断开连接,就是firewalld特性之一动态添加规则,第二个需要断开连接,类似重启服务
  13. # 将接口添加到区域,默认接口都在public
  14. firewall-cmd --zone=public --add-interface=eth0
  15. # 永久生效再加上 --permanent 然后reload防火墙
  16. # 设置默认接口区域,立即生效无需重启
  17. firewall-cmd --set-default-zone=public
  18. # 查看所有打开的端口:
  19. firewall-cmd --zone=dmz --list-ports
  20. # 加入一个端口到区域:
  21. firewall-cmd --zone=dmz --add-port=8080/tcp
  22. # 若要永久生效方法同上
  23. # 打开一个服务,类似于将端口可视化,服务需要在配置文件中添加,/etc/firewalld 目录下有services文件夹,这个不详细说了,详情参考文档
  24. firewall-cmd --zone=work --add-service=smtp
  25. # 移除服务
  26. firewall-cmd --zone=work --remove-service=smtp
  27. # 显示支持的区域列表
  28. firewall-cmd --get-zones
  29. # 设置为家庭区域
  30. firewall-cmd --set-default-zone=home
  31. # 查看当前区域
  32. firewall-cmd --get-active-zones
  33. # 设置当前区域的接口
  34. firewall-cmd --get-zone-of-interface=enp03s
  35. # 显示所有公共区域(public)
  36. firewall-cmd --zone=public --list-all
  37. # 临时修改网络接口(enp0s3)为内部区域(internal)
  38. firewall-cmd --zone=internal --change-interface=enp03s
  39. # 永久修改网络接口enp03s为内部区域(internal)
  40. firewall-cmd --permanent --zone=internal --change-interface=enp03s

控制端口 / 服务

可以通过两种方式控制端口的开放,一种是指定端口号另一种是指定服务名。虽然开放 http 服务就是开放了 80 端口,但是还是不能通过端口号来关闭,也就是说通过指定服务名开放的就要通过指定服务名关闭;通过指定端口号开放的就要通过指定端口号关闭。还有一个要注意的就是指定端口的时候一定要指定是什么协议,tcp 还是 udp。知道这个之后以后就不用每次先关防火墙了,可以让防火墙真正的生效。

  1. firewall-cmd --add-service=mysql # 开放mysql端口
  2. firewall-cmd --remove-service=http # 阻止http端口
  3. firewall-cmd --list-services # 查看开放的服务
  4. firewall-cmd --add-port=3306/tcp # 开放通过tcp访问3306
  5. firewall-cmd --remove-port=80tcp # 阻止通过tcp访问3306
  6. firewall-cmd --add-port=233/udp # 开放通过udp访问233
  7. firewall-cmd --list-ports # 查看开放的端口
  1. # 查看网卡名 ens160
  2. nmcli connection show

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/380099
推荐阅读
相关标签
  

闽ICP备14008679号