从远程计算机连接到虚拟机(客户机)上运行的 Oracle 数据库实例

从远程计算机连接到虚拟机(客户机)上运行的 Oracle 数据库实例

我在 Redhat linux(客户操作系统)上的 vmware player 上启动并运行了 oracle 数据库实例。此虚拟机在 windows 7 计算机(主机操作系统)上运行。我能够使用在 windows7 计算机上运行的 sql developer 连接到在 vm 上运行的数据库实例。

但是当我尝试从我的 mac os 连接到该数据库实例时,在 mac os 上运行的 sql developer 无法连接到该数据库实例。

但是,我可以从我的 mac os ping 我的 windows7 ip 地址,

我能够从 Mac 电脑远程登录 Windows7 电脑上的 80 端口。

但是我无法从 mac os telnet 端口 1521。

有人能帮我配置我的 macos 和 windows7 计算机以连接到在 vmware player 上运行的数据库实例吗?

提前感谢你的帮助

编辑 1:以下是来自 redhat linux 虚拟机实例的 netstat -an |grep 1521 的输出

[ora112@localhost ~]$ netstat -an|grep 1521
tcp        0      0 0.0.0.0:1521                0.0.0.0:*                   LISTEN
tcp        0      0 127.0.0.1:1521              127.0.0.1:41677             ESTABLISHED
tcp        0      0 127.0.0.1:41677             127.0.0.1:1521              ESTABLISHED
unix  2      [ ACC ]     STREAM     LISTENING     17671  /var/tmp/.oracle/sEXTPROC1521

以下输出来自 windows7 pc

$ netstat -an|grep 1521
  TCP    127.0.0.1:1521         0.0.0.0:0              LISTENING
  TCP    [::1]:1521             [::]:0                 LISTENING

windows7电脑ip配置

 Connection-specific DNS Suffix  . :
 Link-local IPv6 Address . . . . . : fe80::94b0:30a1:5c95:2e75%12
 IPv4 Address. . . . . . . . . . . : 192.168.1.23
 Subnet Mask . . . . . . . . . . . : 255.255.255.0
 Default Gateway . . . . . . . . . : 192.168.1.1

macos 电脑上的 IP 配置

en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether e4:ce:8f:32:37:f6 
    inet6 fe80::e6ce:8fff:fe32:37f6%en1 prefixlen 64 scopeid 0x5 
    inet 192.168.1.19 netmask 0xffffff00 broadcast 192.168.1.255
    media: autoselect
    status: active

我的 vmware 实例上的 ip 配置

[ora112@localhost ~]$ /sbin/ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:C4:D3:5C
          inet addr:192.168.15.133  Bcast:192.168.15.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1938 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1222 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:219505 (214.3 KiB)  TX bytes:163937 (160.0 KiB)

答案1

检查您在客户机中使用的网络配置。您可能更愿意使用桥接模式来让客户机使用其自己的 IP 地址。

检查您的客户机上的防火墙没有阻塞,并检查 Oracle 侦听器以确保它已绑定到 IP 地址。

答案2

我认为问题在于您在 Windows7 PC 上使用内部网络(仅主机或类似的东西),例如 192.168.56.0/24 子网,而您的正常本地子网是 192.168.178.0/24。

因此,您需要做的是在 Windows7 PC 上针对此特定端口到虚拟机到数据库实例的流量重定向/转发。在 Windows 上执行此操作对我来说似乎是一项相当困难的工作,因为没有与 netfilter/iptables 等 unix 工具相媲美的工具。我唯一的想法是试试使用 netsh,但情况很可能会变得更糟。

一个更简单的方法是桥接现有的网络接口(也许您的 windows7-pc 上有多个?)。

相关内容