甲骨文云(Oracle Cloud)服务器突然访问不通,常见原因一般有三类:一是 IP 或端口被 GFW 拦截;二是服务器系统内部防火墙没有放行;三是甲骨文云控制台里的安全规则没有配置。排查时不要只盯着一个地方,要从“系统防火墙 + 云平台安全组 + 国内外连通性”三方面一起看。

一、先确认你要放行的端口

下面示例以 443 端口为例。如果你的代理、网站或服务运行在其他端口,请把命令里的 443 替换成你的实际端口。

二、Ubuntu / Debian 系统放行端口

甲骨文云的 Ubuntu 镜像有时会自带比较严格的 iptables 规则,即使服务已经启动,外部也可能访问不到。

可以先执行下面命令放行 TCP 和 UDP:

sudo iptables -I INPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -I INPUT -p udp --dport 443 -j ACCEPT
sudo netfilter-persistent save

如果提示没有 netfilter-persistent,可以先安装:

sudo apt update
sudo apt install -y iptables-persistent netfilter-persistent

三、临时暴力测试:清空系统防火墙规则

如果只是为了排查是不是系统防火墙导致不通,可以临时清空规则测试:

sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
sudo iptables -F

注意:这会降低服务器安全性,只建议临时测试。确认问题后,最好重新设置精确放行规则。

四、CentOS / Oracle Linux 放行端口

如果你的服务器是 CentOS 或 Oracle Linux,一般使用 firewalld

sudo firewall-cmd --zone=public --add-port=443/tcp --permanent
sudo firewall-cmd --zone=public --add-port=443/udp --permanent
sudo firewall-cmd --reload

查看是否放行成功:

sudo firewall-cmd --list-ports

五、检查甲骨文云控制台安全规则

如果服务器系统里已经放行,但外部还是访问不到,就要检查 Oracle Cloud 控制台里的安全规则。

路径大致如下:

Oracle Cloud 控制台
→ Virtual Cloud Networks (VCN)
→ Security Lists
→ Default Security List
→ Add Ingress Rules

添加入站规则时可以这样填:

  • Source CIDR:0.0.0.0/0
  • IP Protocol:TCP
  • Destination Port Range:443

如果你的服务需要 UDP,也要再添加一条 UDP 规则:

  • Source CIDR:0.0.0.0/0
  • IP Protocol:UDP
  • Destination Port Range:443

六、检查服务是否真的在监听端口

防火墙放行之前,也要确认服务本身是否启动,并且监听在正确端口:

sudo ss -tulnp | grep 443

如果没有任何输出,说明服务本身可能没有启动,或者监听的不是这个端口。

七、判断是不是 IP 或端口被墙

如果系统防火墙和甲骨文控制台安全规则都没问题,但国内还是访问不了,就要考虑是否被 GFW 拦截。

可以使用:

https://port.ping.pe

输入:

你的服务器IP:端口

如果测试结果是:

  • 国外节点大多成功
  • 国内节点大多失败

那大概率不是服务器防火墙问题,而是 IP 或端口在国内不可达。此时继续改 iptables 通常没用,可以考虑更换端口、更换 IP、套 CDN,或者使用其他中转方案。

八、推荐排查顺序

  1. 确认服务是否启动:ss -tulnp
  2. 确认系统防火墙是否放行:iptablesfirewalld
  3. 确认 Oracle Cloud 控制台 Security List 是否放行端口
  4. port.ping.pe 测试国内外连通性
  5. 如果国外通、国内不通,再考虑 GFW、换端口或换 IP

九、常用命令汇总

Ubuntu / Debian 放行端口:

sudo iptables -I INPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -I INPUT -p udp --dport 443 -j ACCEPT
sudo netfilter-persistent save

临时清空 iptables 测试:

sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
sudo iptables -F

CentOS / Oracle Linux 放行端口:

sudo firewall-cmd --zone=public --add-port=443/tcp --permanent
sudo firewall-cmd --zone=public --add-port=443/udp --permanent
sudo firewall-cmd --reload

查看端口监听:

sudo ss -tulnp | grep 443

总结

甲骨文云服务器访问不通,不一定是服务器坏了。最常见的问题是:系统防火墙没放行、Oracle Cloud 安全规则没开放,或者 IP / 端口在国内被拦截。正确做法是按顺序排查:先看服务监听,再看系统防火墙,再看云平台安全规则,最后用国内外节点测试是否被墙。


把日子慢慢写下来。