Linux虛擬機防火墻設置指南
Linux虛擬機的防火墻配置需根據發行版選擇合適工具(如Ubuntu/Debian用ufw、CentOS/RHEL/Fedora用firewalld、傳統系統用iptables),以下是具體操作步驟:
ufw(Uncomplicated Firewall)是Ubuntu/Debian的默認防火墻工具,以簡單易用著稱。
sudo apt update && sudo apt install ufw
sudo ufw enable # 啟用后,默認拒絕所有入站流量、允許所有出站流量
sudo ufw status # 顯示當前規則(允許/拒絕的端口/服務)
sudo ufw allow ssh # 或 sudo ufw allow 22/tcp
sudo ufw allow http # 或 sudo ufw allow 80/tcp
sudo ufw allow https # 或 sudo ufw allow 443/tcp
sudo ufw deny from 192.168.1.100
sudo ufw delete allow ssh
firewalld是CentOS 7及以上版本的默認防火墻工具,支持動態規則管理和區域(Zone)概念。
sudo systemctl start firewalld # 啟動服務
sudo systemctl enable firewalld # 開機自動啟動
sudo firewall-cmd --state # 顯示“running”表示運行中
sudo firewall-cmd --permanent --add-service=ssh # 永久生效
sudo firewall-cmd --reload # 重新加載規則
sudo firewall-cmd --permanent --add-port=80/tcp # 永久開放端口
sudo firewall-cmd --reload
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" drop'
sudo firewall-cmd --reload
sudo firewall-cmd --permanent --remove-service=ssh
sudo firewall-cmd --reload
iptables是Linux早期的防火墻工具,功能強大但配置復雜,需手動保存規則。
sudo iptables -L -n -v # 顯示詳細規則(-n表示不解析IP/端口)
sudo iptables -F # 清空INPUT/OUTPUT/FORWARD鏈
sudo iptables -t nat -F # 清空NAT表規則
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
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 # 輸出鏈默認允許
sudo service iptables save # 保存至/etc/sysconfig/iptables
sudo apt install iptables-persistent
sudo netfilter-persistent save
-j LOG選項記錄可疑流量,便于排查問題。以上步驟覆蓋了Linux虛擬機防火墻的常見配置場景,可根據實際需求選擇工具并調整規則。操作前建議備份原有配置(如/etc/ufw/ufw.conf、/etc/firewalld/),避免誤操作導致系統無法訪問。