在Linux虛擬機中配置防火墻可以有效地保護系統免受惡意攻擊。常用的防火墻工具包括iptables
和firewalld
。以下是使用這兩種工具的詳細配置指南。
iptables
是Linux系統上最常用的防火墻工具之一,功能強大但配置復雜。
查看當前規則:
iptables -L -n -v
清空規則:
iptables -F
iptables -t nat -F
添加基礎規則:
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80,443 -j ACCEPT
iptables -P INPUT DROP
保存規則:
service iptables save
設置NAT規則(端口轉發):
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination :80
iptables -t nat -A POSTROUTING -j MASQUERADE
限制IP訪問頻率:
iptables -I INPUT -p tcp --dport 22 -m limit --limit 10/min -j ACCEPT
firewalld
是CentOS 7及其衍生版本中默認使用的防火墻管理工具,基于服務的動態防火墻,支持NAT和端口轉發。
啟用與禁用firewalld:
sudo systemctl start firewalld
sudo systemctl enable firewalld
sudo systemctl stop firewalld
查看與修改規則:
sudo firewall-cmd --list-all
sudo firewall-cmd --zone public --add-port 80/tcp --permanent
高級功能:
sudo firewall-cmd --zone public --add-service http --permanent
sudo firewall-cmd --zone public --add-masquerade --permanent
使用ufw
:
sudo ufw allow 80,443/tcp
sudo ufw default deny incoming
sudo ufw enable
使用firewalld
:
sudo firewall-cmd --zone public --add-service http --permanent
sudo firewall-cmd --zone public --add-service https --permanent
sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.0.0/24 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j DROP
通過以上步驟,你可以根據實際需求選擇使用iptables
或firewalld
來配置Linux虛擬機的防火墻。