在Debian系統中,使用iptables來阻止所有訪問可以通過設置默認策略為DROP來實現。以下是具體步驟:
在進行任何更改之前,建議備份當前的iptables規則,以便在需要時可以恢復。
sudo iptables-save > /etc/iptables/rules.v4.backup
將INPUT、FORWARD和OUTPUT鏈的默認策略設置為DROP,這樣可以阻止所有未經明確允許的流量。
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT DROP
根據你的需求,允許一些必要的流量,例如SSH(默認端口22)、DNS(默認端口53)等。
sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -p udp --dport 53 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p udp --sport 53 -m conntrack --ctstate ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -p icmp --icmp-type echo-request -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p icmp --icmp-type echo-reply -m conntrack --ctstate ESTABLISHED -j ACCEPT
Debian系統使用iptables-persistent來持久化iptables規則。你可以使用以下命令來保存當前的規則:
sudo netfilter-persistent save
sudo netfilter-persistent reload
如果你沒有安裝iptables-persistent,可以使用以下命令安裝:
sudo apt-get update
sudo apt-get install iptables-persistent
你可以使用以下命令來查看當前的iptables規則,確保它們已經正確設置:
sudo iptables -L -v -n
通過以上步驟,你可以在Debian系統中使用iptables阻止所有訪問,并根據需要進行必要的調整。