甲骨文云端口不通通常由安全列表(Security List)或网络安全组(NSG)的入站规则缺失导致,也可能受操作系统防火墙拦截。排查时应先在控制台确认入站规则放行特定端口和源 IP,再检查实例内部防火墙状态,注意全开 0.0.0.0/0 会增加暴露风险。
先说结论:端口不通多数是因为云平台层面的安全规则未放行,或实例内部防火墙阻止了连接,需分层排查。
- 先确认:控制台安全列表和 NSG 是否包含对应端口的入站规则。
- 先处理:实例内部防火墙(如 firewalld、iptables)的放行配置。
- 再验证:外部网络是否能通过 telnet 或 nc 命令连通目标端口。
命令速用版
在本地机器或跳板机上执行以下命令测试连通性,替换 目标 IP 和 端口 为实际值:
telnet 目标 IP 端口
nc -zv 目标 IP 端口
ssh -v -p 端口 user@目标 IP在甲骨文云实例内部检查服务监听状态:
ss -tulpn | grep 端口
netstat -tulpn | grep 端口为什么会这样
甲骨文云的网络流量经过两层过滤:云平台层面的虚拟防火墙和实例操作系统层面的防火墙。安全列表(Security List)作用于子网级别,网络安全组(NSG)作用于网卡级别,两者规则需同时满足允许条件流量才能通过。即使云平台规则放行,如果实例内部防火墙(如 Linux 的 firewalld 或 Windows 防火墙)未放行,连接仍会被拒绝。
分步处理
步骤 1:检查云平台安全列表
登录甲骨文云控制台,进入“网络”->“虚拟云网络”,选择实例所在的 VCN。点击“安全列表”,查看关联子网的入站规则(Ingress Rules)。确认是否存在协议为 TCP/UDP、端口范围包含目标端口、源 CIDR 包含访问者 IP 的规则。若无,点击“添加入站规则”并保存。
步骤 2:检查网络安全组(NSG)
如果实例绑定了网络安全组,需额外检查 NSG 规则。在实例详情页查看“附加的网络安全组”,进入对应 NSG 查看入站规则。安全列表和 NSG 是逻辑“与”关系,两者都必须放行。
步骤 3:检查实例内部防火墙
SSH 登录实例。Linux 系统检查 firewalld 状态:systemctl status firewalld。若运行中,添加规则:firewall-cmd `--permanent` `--add-port`=端口/tcp 然后 firewall-cmd `--reload`。若使用 iptables,检查 iptables -L -n 是否有 DROP 规则。
步骤 4:检查服务监听
确认服务已启动并监听正确 IP。使用 ss -tulpn 查看。若监听地址为 127.0.0.1,外部无法访问,需修改服务配置为监听 0.0.0.0 或具体内网 IP。
怎么验证是否生效
在外部网络环境(非甲骨文云内网)使用 telnet 或 nc 命令测试。若连接成功(Connected),说明规则生效。若显示 Connection refused,通常表示服务未启动或防火墙拦截;若显示 Connection timed out,通常表示云平台安全规则丢弃了数据包。也可使用在线端口扫描工具辅助验证,但需注意扫描频率。
常见坑
1. CIDR 写法错误:源 CIDR 写错导致特定 IP 无法访问,测试时建议临时放行 0.0.0.0/0 验证,通过后立即缩小范围。
2. 协议选错:TCP 端口误选 UDP 规则,或 ICMP 规则无法替代 TCP 端口放行。
3. 多规则冲突:安全列表规则按优先级匹配,若前面有拒绝规则,后续允许规则可能不生效。
4. 状态性误解:甲骨文云安全列表是状态化的,放行入站后出站响应自动允许,无需额外配置出站规则,但需确保出站规则未显式拒绝。
常见问题
安全列表和网络安全组有什么区别?
安全列表作用于子网内所有资源,网络安全组作用于特定网卡。若同时使用,流量需同时满足两者的允许规则。
修改安全列表后需要重启实例吗?
不需要,安全列表规则修改后立即生效,无需重启实例或网络服务。
为什么 ping 不通但端口能通?
Ping 使用 ICMP 协议,端口使用 TCP/UDP 协议。安全列表中需单独放行 ICMP 类型才能 ping 通,不影响端口业务。
参考来源
- Oracle Cloud Infrastructure Documentation, Security Lists and Network Security Groups (NSGs), https://docs.oracle.com/en-us/iaas/Content/Network/Concepts/securitylists.htm
- Oracle Cloud Infrastructure Documentation, Configuring Security Lists, https://docs.oracle.com/en-us/iaas/Content/Network/Tasks/configuringsecuritylists.htm