CentOS7 firewall防火墙常用操作

  • 2019 年 12 月 29 日
  • 筆記

记录一些常用的firewall操作。

介绍

firewalld: 动态防火墙后台程序 firewall-config: 图形化的配置工具 firewall-cmd: 命令行客户端

日常使用中,常用firewall-cmd来进行配置

使用

1. firewalld

// 安装服务  # yum install firewalld -y    // 查看当前防火墙状态  # systemctl status firewalld    // 启用  # systemctl start firewalld    // 关闭  # systemctl stop firewalld    // 开机自启  # systemctl enable firewalld    // 关闭开机自启  # systemctl disable firewalld

2. permanent

需要注意的是,如果要使更改永久生效,需要加上--permanent。这里的永久生效是有一定的条件的,在命令执行完成后,需要执行防火墙重载或系统重启。若没有加该参数,是立即生效的,但在防火墙重载或系统重启后即失效。

// 重载配置  # firewall-cmd --reload

3. 查看配置

// 当前运行状态  $ firewall-cmd --state    // 当前活动的网络区(zone)  $ firewall-cmd --get-active-zones    // 查看指定zone的当前所有设置信息  $ firewall-cmd --zone=public --list-all

4. 设置

// 设置默认zone (立即生效 无需重载)  # firewall-cmd --set-default-zone=public    // 添加接口到网络区  # firewall-cmd --zone=public --add-interface=eth0 --permanent

5. 增加开放端口/服务

// 打开TCP 80端口 (需重载 永久生效)  # firewall-cmd --zone=public --add-port=80/tcp --permanent    // 打开UDP 5000-5005端口 (立即生效)  # firewall-cmd --zone=public --add-port=5000-5005/udp    // SMTP服务加入 (需重载 永久生效)  # firewall-cmd --zone=public --add-service=smtp --permanent

6. 关闭开放的端口/服务

// 关闭已开放的80端口  # firewall-cmd --zone=public --remove-port=80/tcp --permanent    // 关闭已开放的5000-5005端口  # firewall-cmd --zone=public --remove-port=5000-5005/udp    // 移除SMTP服务  # firewall-cmd --zone=public --remove-service=smtp --permanent

参考

  1. https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/7/html/security_guide/sec-using_firewalls
  2. https://havee.me/linux/2015-01/using-firewalls-on-centos-7.html