在使用 Oracle Cloud(甲骨文云)的 VPS 时,偶尔会遇到一些让人头疼的网络问题。比如明明 VNC 能连接到登录界面,但偏偏内网和外网 IP 都不通,甚至连 SSH 都连不上。遇到这种情况不要慌,今天我们就来一步步排查,看看问题可能出在哪里,以及如何解决。

一、检查 VNC 连接与基础状态

首先,既然你能通过 VNC 连接到登录界面,说明系统本身大概率是正常的,问题可能出在网络配置或防火墙上。

  1. 登录系统:通过 VNC 登录操作系统(通常是 Linux)。如果是忘记密码的情况,我们后面会说。
  2. 测试网络连通性
    • 尝试 ping 一个公网 IP(如 8.8.8.8)。如果 ping 不通,说明出口网络有问题。
    • 尝试 ping 网关 IP(可以通过 ip routenetstat -rn 查看)。如果网关不通,说明是内部路由配置出错。

二、防火墙与安全组排查

很多人遇到网络问题首先会想到防火墙,Oracle Cloud 的防火墙设置比较复杂,分为两层:

  1. VPS 内部防火墙
    • 检查 iptablesUFWfirewalld 状态。如果不确定,可以先尝试临时关闭防火墙测试:
      sudo iptables -F
      sudo iptables -X
      
  2. Oracle Cloud 安全组
    • 登录 Oracle Cloud 控制台,找到“虚拟云网络 (VCN)” -> “子网” -> “安全列表”。
    • 检查入站和出站规则,确保允许所需的端口(如 SSH 22, HTTP 80, HTTPS 443 等)流量通过。特别是 ICMP 协议,如果你需要 ping。
    • 有时候是 NSG (Network Security Group) 拦截了流量,别忘了检查 NSG 规则。

三、检查网络配置与 IP 设置

Oracle Cloud 的网络配置有时会因为系统更新或手动修改而失效。重点检查以下几点:

  1. 网卡配置文件
    • 对于 CentOS/RHEL,检查 /etc/sysconfig/network-scripts/ifcfg-eth0
    • 对于 Ubuntu/Debian,检查 /etc/netplan/ 目录下的配置文件。
    • 确保配置文件中的 IP 地址、子网掩码、网关和 DNS 都是正确的。特别是 BOOTPROTO 是否为 dhcp,如果用了固定 IP,确保没有冲突。
  2. 重启网络服务
    • 如果配置没问题,尝试重启网络服务或直接重启实例。在 Oracle Cloud 中,有时候通过控制台“软重启”可能无效,建议尝试“停止”后再“启动”。

四、如何重置密码

如果在 VNC 界面面前却忘记了登录密码,可以通过 Oracle Cloud 控制台来重置:

  1. 进入“计算实例”页面,选择你的实例。
  2. 点击左下角的“停止”,等待实例完全停止。
  3. 停止后,在实例详情页找到“附加引导卷”。
  4. 将这个引导卷分离(Detach)。
  5. 创建一个新的临时实例,将刚才分离的卷作为数据盘挂载到这个新实例上。
  6. 在新实例上挂载该卷文件系统,然后修改 etc/shadowetc/passwd 文件来重置 root 或其他用户密码(也可以 chroot 进去修改)。
  7. 修改完成后,卸载卷,分离卷,再重新挂载回原实例,启动即可。

五、其他常见原因与解决方案

  1. 路由表问题
    • 使用 ip route show 查看路由表。如果没有默认路由,可以手动添加:
      sudo ip route add default via <网关IP>
      
  2. DNS 解析问题
    • 如果 IP 能 ping 通,但域名无法解析,检查 /etc/resolv.conf,将 DNS 改为 8.8.8.8114.114.114.114 试试。
  3. Oracle Cloud 的资源限制
    • 如果是因为欠费或资源配额问题,Oracle 有可能会切断网络。请检查账户状态。

总结

甲骨文云虽然免费试用很香,但网络配置确实比较复杂。遇到“VNC 能通但网络不通”的情况,优先检查安全组配置、内部防火墙以及网卡配置文件。如果实在搞不定,尝试最简单的“重启大法”或者按照上面的步骤重置系统密码后再进行排查。希望这篇文章能帮你快速解决问题!

标签: none

评论已关闭