溫馨提示×

centos防火墻規則怎么設置有效

小樊
38
2025-06-30 12:09:10
欄目: 智能運維

在CentOS系統中,設置有效的防火墻規則主要通過使用FirewallD工具來實現。以下是設置CentOS防火墻規則的基本步驟:

安裝FirewallD

如果你的CentOS系統還沒有安裝FirewallD,可以使用以下命令進行安裝:

sudo yum install firewalld

啟動和啟用FirewallD服務

安裝完成后,啟動firewalld服務并設置為開機自啟:

sudo systemctl start firewalld
sudo systemctl enable firewalld

查看當前防火墻狀態

你可以使用以下命令查看當前的防火墻狀態和活動區域:

sudo firewall-cmd --state
sudo firewall-cmd --get-active-zones

添加防火墻規則

你可以添加各種類型的防火墻規則,例如允許或拒絕特定的端口、服務或IP地址。

  • 允許特定端口:例如,允許TCP端口80和443:

    sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
    sudo firewall-cmd --permanent --zone=public --add-port=443/tcp
    
  • 允許特定服務:例如,允許HTTP和HTTPS服務:

    sudo firewall-cmd --permanent --zone=public --add-service=http
    sudo firewall-cmd --permanent --zone=public --add-service=https
    
  • 允許特定IP地址:例如,允許來自特定IP地址的流量:

    sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" accept'
    

重新加載防火墻配置

添加或修改規則后,需要重新加載防火墻配置以使更改生效:

sudo firewall-cmd --reload

查看防火墻規則

你可以查看當前的防火墻規則:

sudo firewall-cmd --list-all

刪除防火墻規則

如果你需要刪除某個規則,可以使用以下命令:

  • 刪除特定端口

    sudo firewall-cmd --permanent --zone=public --remove-port=80/tcp
    
  • 刪除特定服務

    sudo firewall-cmd --permanent --zone=public --remove-service=http
    
  • 刪除特定IP地址規則

    sudo firewall-cmd --permanent --zone=public --remove-rich-rule='rule family="ipv4" source address="192.168.1.100" accept'
    

停止和禁用firewalld

如果你不再需要firewalld服務,可以停止并禁用它:

sudo systemctl stop firewalld
sudo systemctl disable firewalld

高級配置

  • 區域管理:查看所有區域:

    sudo firewall-cmd --get-zones
    

    設置默認區域(推薦使用dmz或work):

    sudo firewall-cmd --set-default-zone=dmz
    
  • IP地址限制:僅允許特定IP訪問SSH(替換為你的IP):

    sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" service name="ssh" accept'
    
  • 速率限制(防止DDoS):

    sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="0.0.0.0/0" service name="http" limit value="20/m" accept'
    
  • 網絡地址轉換(NAT)

    • 端口轉發:將外部8080端口轉發到內部80端口:

      sudo firewall-cmd --permanent --add-forward-port=port=8080:proto=tcp:toport=80
      
    • IP偽裝(用于網關服務器):

      sudo firewall-cmd --permanent --add-masquerade
      

應用配置并測試

  1. 重載防火墻配置

    sudo firewall-cmd --reload
    
  2. 測試規則是否生效

    • 測試端口是否開放(從另一臺機器):

      telnet your_server_ip 22
      

      或使用:

      nc -zv your_server_ip 80
      

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女