Virtualbox - Oracle 网络适配器无法建立连接

问题描述

我刚刚安装了 VirtualBox 并执行了官方 Oracle Image(数据库应用开发 VM)。

  1. 我当然可以在来宾操作系统中打开 sql Developer 并连接到数据库
  2. 我可以使用 sql Developer 从主机操作系统连接到数据库

我将网络接口设置为桥接并且:

  1. 我还可以从家庭网络中的其他(主机)计算机连接到数据库

我也有静态外部 IP,我在路由器上做了端口转发和适当的防火墙规则,以及我在主机操作系统上关闭了 Windows 防火墙。但是,当我尝试从本地网络外部进行连接时,出现错误 Oracle 网络适配器无法建立连接 - 即使我尝试使用外部 IP 从主机操作系统进行连接也是如此。 下面我附上我的 Listener.ora 内容。我检查了 oracle 侦听器正在运行。我的想法用完了,有人可以帮忙吗?

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_dbnAME = orclcdb)
      (SID_NAME = orclcdb)
      (ORACLE_HOME = /u01/app/oracle/product/version/db_1)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.56)(PORT = 1521))
    )
  )

#HOSTNAME by pluggable not working rstriction or configuration error.
DEFAULT_SERVICE_LISTENER = (orclcdb)

解决方法

“但是当我尝试从本地网络外部进行连接时”

那是因为您的家庭网络不“可路由”。阅读更多[此处][1],但我将引用突出部分:

C 类:任何以 192.168 开头的地址

所有路由器都将丢弃任何到专用网络地址的流量。 这意味着它是完全私有的。您自己发送的任何内容 网络永远不会离开互联网。任何进来的东西 来自 Internet 的内容不会发送到您的本地网络。

就我个人而言,我不希望它以任何其他方式出现。为什么您认为需要从家庭网络外部访问此虚拟机? [1]:https://www.quora.com/What-does-192-mean-in-an-IP-addresses-and-What-is-it