关于linux系统防火墙

  • centos5、centos6、redhat6系统自带的是iptables防火墙。
  • centos7、redhat7自带firewall防火墙。
  • ubuntu系统使用的是ufw防火墙。

    防火墙导致服务不正常的问题

    在服务器安装某些服务之后,服务无法连接、无法正常启动等情况。查看下系统防火墙有没开放相关的服务端口。

    linux系统防火墙开放相关端口后还要重启防火墙,重启防火墙后防火墙规则才会生效。

FirewallD 启动命令

1-启动FirewallD服务命令

  • 开启服务

    systemctl start firewalld.service

  • 设置开机启动

    systemctl enable firewalld.service

2-查看FirewallD防火墙状态

systemctl status firewalld

如下图所示,提示防火墙已启动成功,正常运行
image.png

FirewallD 常用的命令

  1. firewall-cmd --state ##查看防火墙状态,是否是running
  2. systemctl status firewalld.service ##查看防火墙状态
  3. systemctl start firewalld.service ##启动防火墙
  4. systemctl stop firewalld.service ##临时关闭防火墙
  5. systemctl enable firewalld.service ##设置开机启动防火墙
  6. systemctl disable firewalld.service ##设置禁止开机启动防火墙
  7. firewall-cmd --permanent --query-port=80/tcp ##查看80端口有没开放
  8. firewall-cmd --reload ##重新载入配置,比如添加规则之后,需要执行此命令
  9. firewall-cmd --get-zones ##列出支持的zone
  10. firewall-cmd --get-services ##列出预定义的服务
  11. firewall-cmd --query-service ftp ##查看ftp服务是否放行,返回yes或者no
  12. firewall-cmd --add-service=ftp ##临时开放ftp服务
  13. firewall-cmd --add-service=ftp --permanent ##永久开放ftp服务
  14. firewall-cmd --remove-service=ftp --permanent ##永久移除ftp服务
  15. firewall-cmd --add-port=80/tcp --permanent ##永久添加80端口
  16. firewall-cmd --zone=public --remove-port=80/tcp --permanent ##移除80端口
  17. iptables -L -n ##查看规则,这个命令是和iptables的相同的
  18. man firewall-cmd ##查看帮助
  19. 参数含义:
  20. --zone #作用域
  21. --permanent #永久生效,没有此参数重启后失效