搬瓦工 VPS 关闭不必要端口的核心是通过 Linux 防火墙(如 UFW 或 Firewalld)拦截入站流量,而非直接停止系统服务,操作前必须确保 SSH 端口开放且拥有控制台访问权限。
先说结论:优先使用防火墙策略限制端口访问,保留 SSH 管理端口,操作前务必确认搬瓦工后台 KVM 控制台可用。
- 先判断:使用 ss 或 netstat 命令列出当前监听端口,区分业务必需端口和默认开放端口。
- 优先做:配置防火墙允许 SSH 端口(默认 22 或自定义端口),再开启防火墙拦截策略。
- 再验证:从外部网络使用 nmap 或 telnet 测试端口连通性,确认非必需端口已不可达。
命令速用版
以下命令适用于 Ubuntu/Debian 系统,CentOS 系统请使用 firewall-cmd 替代 ufw。
# 查看当前监听端口
ss -tulpn
# 允许 SSH 端口(假设端口为 22)
ufw allow 22/tcp
# 允许 HTTP/HTTPS(如有 Web 服务)
ufw allow 80/tcp
ufw allow 443/tcp
# 启用防火墙
ufw enable为什么会这样
关闭不必要的系统服务端口是为了减少服务器攻击面,防止未授权访问。
默认安装的 Linux 系统可能开启 FTP、Telnet 或数据库默认端口,这些服务若未配置强密码或访问控制,容易被扫描利用。通过防火墙拦截入站流量,可以在不卸载服务的情况下阻断外部连接,降低被暴力破解或漏洞利用的风险。
分步处理
步骤 1:检查当前开放端口
登录 SSH 后执行 ss -tulpn 或 netstat -tulpn,记录所有处于 LISTEN 状态的端口号。
步骤 2:确认搬瓦工控制台访问权限
登录搬瓦工客户中心,找到对应 VPS 实例,确认 Launch SSH 或 KVM 控制台按钮可用,以防防火墙配置错误导致 SSH 断开。
步骤 3:配置防火墙白名单
先执行允许命令放行 SSH 端口和管理所需端口,再执行启用命令。若使用 CentOS 7+,使用 firewall-cmd `--permanent` `--add-port`=22/tcp 后重载。
步骤 4:启用并保存策略
执行启用命令后,防火墙立即生效。确保会话未断开前不要关闭当前 SSH 窗口。
怎么验证是否生效
在本地电脑或另一台服务器上,使用 nmap -p 端口号 你的 VPS IP 扫描目标端口。
若端口状态显示为 filtered 或 closed,说明防火墙已拦截;若显示 open,则策略未生效。也可使用 telnet 你的 VPS IP 端口号 测试连接是否被拒绝。
常见坑
1. 误关 SSH 端口:开启防火墙前未放行 SSH 端口,导致无法远程连接,必须通过搬瓦工后台 KVM 控制台恢复。
2. IPv6 配置遗漏:部分防火墙默认只配置 IPv4,若 VPS 开启 IPv6,需同步配置 ip6tables 或 UFW IPv6 规则。
3. 服务依赖错误:某些应用依赖本地回环端口,防火墙规则应针对入站流量(input),避免影响本地服务间通信。
常见问题
如何查看 VPS 当前开放了哪些端口?
在终端执行 ss -tulpn 命令,列表中包含所有正在监听的网络端口及对应进程。
防火墙开启后无法 SSH 连接怎么办?
立即登录搬瓦工客户中心使用 KVM 控制台登录,关闭防火墙或添加 SSH 端口允许规则后重启防火墙服务。
Ubuntu 和 CentOS 关闭端口的命令一样吗?
不一样,Ubuntu 默认常用 ufw 命令,CentOS 7 及以上默认使用 firewall-cmd 命令,底层均为 iptables 规则管理。