关闭服务器外网访问是一个比较常见的需求,通常是为了提升安全性或进行内部维护,具体操作方法取决于你的服务器环境,以下是几种最常用的方案:
方法一:通过云服务商控制台(最简单、最推荐)
如果你是使用阿里云、腾讯云、华为云、AWS等云服务器,这是最安全、最便捷的方法。
1、登录云服务商控制台:找到你的云服务器实例。
2、找到“安全组”或“防火墙”:
阿里云:实例 -> 更多 -> 网络和安全组 -> 安全组配置
腾讯云:实例 -> 更多 -> 安全组
AWS:EC2 -> 安全组
3、修改安全组规则:
方式A(推荐):删除或禁用所有入站规则,这是最彻底的方式,服务器将不再接受任何来自外网(0.0.0.0/0)的连接请求。
方式B(更安全):创建一个只允许内网IP访问的安全组,将入站规则中的“源”设置为192.168.0.0/16 或你公司/内网的特定网段。
4、保存并应用,修改会立即生效,无需重启服务器。
优点:操作无痕,不修改服务器系统,即使误操作也可以通过控制台快速恢复。不需要SSH连接。
缺点:依赖云控制台。
方法二:在服务器操作系统内操作(需有SSH连接)
如果你已经通过SSH连接到服务器,或无法访问云控制台,可以在系统层面操作。
1. 使用 iptables (Linux 通用)
临时关闭所有外网访问(出站和入站):
禁止所有入站连接(外部无法连入服务器) sudo iptables -P INPUT DROP 禁止所有出站连接(服务器无法访问外网) sudo iptables -P OUTPUT DROP 允许回环接口(本地连接,否则系统可能异常) sudo iptables -A INPUT -i lo -j ACCEPT sudo iptables -A OUTPUT -o lo -j ACCEPT
只禁止外网访问,但允许服务器主动访问外网(例如用于更新)
允许已建立的连接继续(比如你当前的SSH连接) sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 禁止所有新的外部入站连接 sudo iptables -P INPUT DROP
还原默认设置(允许所有流量):
sudo iptables -P INPUT ACCEPT sudo iptables -P OUTPUT ACCEPT sudo iptables -F
注意:iptables 规则重启后会失效,如需永久保存,需执行sudo iptables-save > /etc/iptables/rules.v4 (不同系统路径可能不同)。
2. 使用 firewalld (CentOS/RHEL/Rocky Linux 常用)
查看当前默认区域 sudo firewall-cmd --get-default-zone 将默认区域设置为仅允许内网(假设内网网段为192.168.1.0/24) sudo firewall-cmd --permanent --zone=trusted --add-source=192.168.1.0/24 sudo firewall-cmd --permanent --zone=public --remove-interface=eth0 # 移除公网接口 sudo firewall-cmd --reload 更彻底:直接禁用防火墙阻塞所有外部流量(慎用,会断开SSH) sudo systemctl stop firewalld 但通常设置为禁用更安全 sudo firewall-cmd --complete-reload #保持配置
3. 使用 ufw (Ubuntu/Debian 常用)
禁止所有入站连接 sudo ufw default deny incoming 允许内网连接(例如192.168.1.0/24) sudo ufw allow from 192.168.1.0/24 启用防火墙 sudo ufw enable
拔网线/关网络接口:如果你有物理访问权限,直接拔掉网线或关闭服务器的网络接口卡。
操作系统层禁用网卡:
# Linux (查找网卡名后禁用)
ip link set dev eth0 down # 或 ifconfig eth0 down
# 恢复
ip link set dev eth0 up # 或 ifconfig eth0 up1、彻底性对比:
云控制台安全组:最彻底,连管理员都无法绕过。
操作系统防火墙:如果系统被入侵,攻击者可能也有root权限,可以简单地iptables -F 清空规则来恢复外网。云控制台是更底层的隔离。
2、会断掉你的SSH连接:执行上述操作后,你当前的SSH会话将立即中断,如果服务器只有外网IP,你将无法再远程连接。
补救措施:务必先通过其他方式登录(如云控制台的VNC/远程连接) 来修改规则,或者先确保你保留了内网连接或控制台访问能力。
3、影响服务:所有依赖外网的服务(如邮件发送、API调用、域名解析、软件源更新)都会立即停止工作。
4、永久生效与临时生效:iptables 和firewalld 的操作重启后会失效,云控制台的安全组规则是永久有效的。
最佳实践:使用云服务商安全组,它能提供最底层的、操作系统无法绕过的隔离。
临时操作:使用操作系统内的防火墙(如iptables 或ufw)。
绝对保险:在操作前,务必通过云控制台的VNC/远程连接登录,确保你有一个“后门”恢复连接。
如果你不确定操作后果,强烈建议先在测试服务器上尝试,或者咨询有经验的系统管理员。
文章摘自:https://idc.huochengrm.cn/fwq/25105.html
评论