在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阻止所有访问,并根据需要进行必要的调整。