在Linux中,可以使用iptables或firewalld來配置防火墻
首先,確保你的系統已經安裝了iptables。然后,按照以下步驟操作:
a. 創建一個新的iptables規則文件,例如/etc/iptables/rules.v4
。在這個文件中,添加以下內容:
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp --dport 22 -s YOUR_WHITELISTED_IP -j ACCEPT
-A INPUT -p tcp --dport 80 -s YOUR_WHITELISTED_IP -j ACCEPT
-A INPUT -p tcp --dport 443 -s YOUR_WHITELISTED_IP -j ACCEPT
COMMIT
將YOUR_WHITELISTED_IP
替換為你想要允許訪問的IP地址。
b. 保存文件并重啟iptables服務:
sudo systemctl restart iptables
首先,確保你的系統已經安裝了firewalld。然后,按照以下步驟操作:
a. 創建一個新的firewalld區域,例如whitelist
:
sudo firewall-cmd --permanent --new-zone=whitelist
b. 將你想要允許訪問的IP地址添加到新創建的區域:
sudo firewall-cmd --permanent --zone=whitelist --add-source=YOUR_WHITELISTED_IP
將YOUR_WHITELISTED_IP
替換為你想要允許訪問的IP地址。
c. 將所需的服務添加到新創建的區域:
sudo firewall-cmd --permanent --zone=whitelist --add-service=ssh
sudo firewall-cmd --permanent --zone=whitelist --add-service=http
sudo firewall-cmd --permanent --zone=whitelist --add-service=https
d. 將新創建的區域應用于公共接口(例如,eth0):
sudo firewall-cmd --permanent --zone=whitelist --change-interface=eth0
將eth0
替換為你的公共網絡接口名稱。
e. 重新加載firewalld配置:
sudo firewall-cmd --reload
現在,只有指定的IP地址才能訪問SSH、HTTP和HTTPS服務。其他IP地址將被阻止。