centos防火墙规则设置

1763
2025/4/12 15:32:05
栏目: 智能运维
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在CentOS 7.9中,firewalld是默认的防火墙管理工具,它提供了一种灵活的方式来定义和控制网络流量的访问规则。以下是常用的firewalld命令及其使用方式:

基本状态管理命令

  • sudo systemctl start firewalld:启动防火墙
  • sudo systemctl stop firewalld:停止防火墙
  • sudo systemctl enable firewalld:开机自启
  • sudo systemctl disable firewalld:禁用开机自启
  • sudo firewall-cmd --state:检查运行状态
  • sudo firewall-cmd --reload:重载配置(不中断现有连接)
  • sudo firewall-cmd --complete-reload:完全重载(中断连接)

区域(Zone)管理命令

  • sudo firewall-cmd --get-default-zone:查看默认区域
  • sudo firewall-cmd --set-default-zone=public:设置默认区域
  • sudo firewall-cmd --get-active-zones:查看活动区域
  • sudo firewall-cmd --list-all-zones:列出所有区域规则
  • sudo firewall-cmd --zone=public --list-all:查看指定区域规则
  • sudo firewall-cmd --zone=public --change-interface=eth0:绑定接口到区域

端口与服务管理命令

  • sudo firewall-cmd --list-services:查看允许的服务
  • sudo firewall-cmd --add-service=http:临时允许 HTTP
  • sudo firewall-cmd --add-service=http --permanent:永久允许 HTTP
  • sudo firewall-cmd --remove-service=http:移除 HTTP 规则
  • sudo firewall-cmd --list-ports:查看开放的端口
  • sudo firewall-cmd --add-port=8080/tcp:临时开放 8080/TCP
  • sudo firewall-cmd --add-port=20000-65535/tcp --permanent:永久开放端口范围
  • sudo firewall-cmd --remove-port=8080/tcp:关闭端口

富规则(Rich Rules)

  • sudo firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port port="22" protocol="tcp" accept':允许某IP访问SSH

例如,屏蔽端口和放行指定IP和端口的步骤如下:

  1. 屏蔽端口:

    • 永久屏蔽SSH和MySQL服务:
      sudo firewall-cmd --permanent --zone=public --set-target=drop
      sudo firewall-cmd --permanent --zone=public --remove-service=ssh
      sudo firewall-cmd --permanent --zone=public --add-rich-rule="rule family='ipv4' source address='172.16.5.222' port protocol='tcp' port='22' accept"
      sudo firewall-cmd --permanent --zone=public --add-rich-rule="rule family='ipv4' source address='172.16.5.222' port protocol='tcp' port='3306' accept"
      
    • 重新加载防火墙规则:
      sudo firewall-cmd --reload
      
  2. 放行指定IP和端口:

    • 添加指定需要开放的端口:
      sudo firewall-cmd --add-port=443/tcp --permanent
      sudo firewall-cmd --reload
      
    • 放行指定IP:
      sudo firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='172.16.110.55' accept"
      sudo firewall-cmd --reload
      

希望这些信息对你有所帮助!

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: CentOS中Golang日志存储在哪