溫馨提示×

Linux虛擬機防火墻設置怎么做

小樊
40
2025-10-11 19:23:16
欄目: 云計算

Linux虛擬機防火墻設置指南
Linux虛擬機的防火墻配置需根據發行版選擇合適工具(如Ubuntu/Debian用ufw、CentOS/RHEL/Fedora用firewalld、傳統系統用iptables),以下是具體操作步驟:

一、Ubuntu/Debian系統(使用ufw)

ufw(Uncomplicated Firewall)是Ubuntu/Debian的默認防火墻工具,以簡單易用著稱。

  1. 安裝ufw(若未安裝):
    sudo apt update && sudo apt install ufw
    
  2. 啟用ufw
    sudo ufw enable  # 啟用后,默認拒絕所有入站流量、允許所有出站流量
    
  3. 查看ufw狀態
    sudo ufw status  # 顯示當前規則(允許/拒絕的端口/服務)
    
  4. 配置規則
    • 允許SSH(默認端口22):
      sudo ufw allow ssh  # 或 sudo ufw allow 22/tcp
      
    • 允許HTTP(端口80)/HTTPS(端口443):
      sudo ufw allow http  # 或 sudo ufw allow 80/tcp
      sudo ufw allow https # 或 sudo ufw allow 443/tcp
      
    • 拒絕特定IP訪問(如192.168.1.100):
      sudo ufw deny from 192.168.1.100
      
  5. 刪除規則
    • 刪除允許SSH的規則:
      sudo ufw delete allow ssh
      

二、CentOS/RHEL/Fedora系統(使用firewalld)

firewalld是CentOS 7及以上版本的默認防火墻工具,支持動態規則管理和區域(Zone)概念。

  1. 啟動firewalld并設置開機自啟
    sudo systemctl start firewalld  # 啟動服務
    sudo systemctl enable firewalld # 開機自動啟動
    
  2. 查看firewalld狀態
    sudo firewall-cmd --state  # 顯示“running”表示運行中
    
  3. 配置規則
    • 允許SSH服務(預定義規則集):
      sudo firewall-cmd --permanent --add-service=ssh  # 永久生效
      sudo firewall-cmd --reload                     # 重新加載規則
      
    • 允許HTTP(端口80):
      sudo firewall-cmd --permanent --add-port=80/tcp  # 永久開放端口
      sudo firewall-cmd --reload
      
    • 拒絕特定IP訪問(需結合富規則):
      sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" drop'
      sudo firewall-cmd --reload
      
  4. 刪除規則
    • 刪除允許SSH的服務規則:
      sudo firewall-cmd --permanent --remove-service=ssh
      sudo firewall-cmd --reload
      

三、傳統系統(使用iptables,適用于CentOS 6等)

iptables是Linux早期的防火墻工具,功能強大但配置復雜,需手動保存規則。

  1. 查看當前規則
    sudo iptables -L -n -v  # 顯示詳細規則(-n表示不解析IP/端口)
    
  2. 清空現有規則(謹慎操作,避免鎖死自己):
    sudo iptables -F  # 清空INPUT/OUTPUT/FORWARD鏈
    sudo iptables -t nat -F  # 清空NAT表規則
    
  3. 添加基礎規則
    • 允許SSH(端口22)入站:
      sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
      
    • 允許HTTP(端口80)/HTTPS(端口443):
      sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
      sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
      
    • 設置默認策略(拒絕所有未明確允許的入站流量):
      sudo iptables -P INPUT DROP  # 輸入鏈默認拒絕
      sudo iptables -P FORWARD DROP  # 轉發鏈默認拒絕
      sudo iptables -P OUTPUT ACCEPT # 輸出鏈默認允許
      
  4. 保存規則(防止重啟丟失):
    • CentOS 6:
      sudo service iptables save  # 保存至/etc/sysconfig/iptables
      
    • Ubuntu(需安裝iptables-persistent):
      sudo apt install iptables-persistent
      sudo netfilter-persistent save
      

四、防火墻配置原則

  1. 最小化開放端口:僅開放業務必需的端口(如Web服務器開80/443、SSH開22)。
  2. 默認拒絕策略:將INPUT鏈默認策略設為DROP,避免未授權訪問。
  3. 分層防御:結合SELinux(若啟用)、網絡ACL等增強安全性。
  4. 日志記錄:通過iptables的-j LOG選項記錄可疑流量,便于排查問題。
  5. 定期審計:清理過期規則(如測試用的臨時端口),更新策略以適應業務變化。

以上步驟覆蓋了Linux虛擬機防火墻的常見配置場景,可根據實際需求選擇工具并調整規則。操作前建議備份原有配置(如/etc/ufw/ufw.conf、/etc/firewalld/),避免誤操作導致系統無法訪問。

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