在Debian系統中,使用iptables實現IP白名單主要涉及以下幾個步驟:
首先,確保你的系統上已經安裝了iptables。如果沒有安裝,可以使用以下命令進行安裝:
sudo apt update
sudo apt install iptables
為了確保只有白名單中的IP可以訪問你的服務器,你需要設置默認策略為拒絕所有流量:
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
確保本地回環接口(lo)的流量被允許:
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT
允許已建立的連接和相關流量:
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
將需要允許訪問的IP地址添加到白名單中。例如,允許IP地址192.168.1.100
訪問:
sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT
如果你有多個IP地址需要添加,可以重復上述命令,或者使用-m iprange
模塊來指定一個IP范圍:
sudo iptables -A INPUT -m iprange --src-range 192.168.1.100-192.168.1.110 -j ACCEPT
為了確保重啟后規則仍然有效,你需要保存iptables規則。Debian默認使用iptables-persistent
包來保存規則:
sudo apt install iptables-persistent
在安裝過程中,系統會提示你是否保存當前的iptables規則。選擇“是”即可。
你可以使用以下命令查看當前的iptables規則,確保白名單規則已經生效:
sudo iptables -L -v -n
最后,測試白名單規則是否生效。嘗試從不在白名單中的IP地址訪問你的服務器,應該會被拒絕。
通過以上步驟,你就可以在Debian系統中使用iptables實現IP白名單功能。