Centos 临时禁止外网访问

1,572 阅读2分钟

如果你想要在 CentOS 中临时禁止所有对互联网的访问以及所有互联网对 CentOS 的访问,同时允许访问局域网以及被局域网其他机器访问,你可以使用 iptables 来完成。以下是一个可能的步骤:

  1. 打开终端,安装yum install iptables-services -y

  2. 输入以下命令以阻止所有出站流量:

    sudo iptables -P OUTPUT DROP
    
  3. 输入以下命令以阻止所有入站流量:

    sudo iptables -P INPUT DROP
    
  4. 如果你需要允许特定的出站和入站流量(例如,你可能仍希望能够访问本地网络),你可以添加一个规则来允许这些流量。例如,假设你的本地网络的 IP 地址范围是 192.168.0.0/16,你可以使用以下命令:

    sudo iptables -A OUTPUT -d 192.168.0.0/16 -j ACCEPT
    sudo iptables -A INPUT -s 192.168.0.0/16 -j ACCEPT
    

以上操作将阻止所有出站和入站流量,除了那些源地址或目标地址在 192.168.0.0/16 的流量。

请注意,这些更改在重启后不会保留。如果你想让这些更改在重启后还保持效力,需要安装 iptables-services 包,并使用 service iptables save 命令来保存你的规则。如果你想要恢复访问互联网的权限,你可以使用以下命令:

sudo iptables -P OUTPUT ACCEPT
sudo iptables -P INPUT ACCEPT

这将允许所有出站和入站流量。如果之前添加了特定的规则来允许本地网络流量,那么你可能还需要删除这个规则。你可以通过列出所有规则,然后删除相应的规则来实现这一点。

sudo iptables -L --line-numbers
sudo iptables -D OUTPUT line_number
sudo iptables -D INPUT line_number

替换 line_number 为你想要删除的规则的行号。