Подключение к экземпляру базы данных oracle, запущенному на виртуальной машине (гостевой компьютер) с удаленного компьютера

У меня есть экземпляр базы данных oracle, работающий на vmware player в Redhat linux(гостевая ОС). Эта виртуальная машина работает на компьютере с Windows 7 (хост-ОС). Я могу подключиться к экземпляру базы данных, работающему на vm, используя sql developer, который работает на моем компьютере с windows7.

Но когда я пытаюсь подключиться к этому экземпляру базы данных из моей Mac OS, SQL-разработчик, работающий на Mac OS, не может подключиться к этому экземпляру базы данных.

но я могу проверить свой IP-адрес Windows7 из моей Mac OS,

Я могу telnet порт 80 на моем компьютере с Windows7 от компьютера Mac.

Но я не могу telnet порт 1521 от Mac OS.

Может ли кто-нибудь помочь мне настроить мои компьютеры MacOS и Windows7 для подключения к экземпляру базы данных, который работает на Vmware Player.

Заранее благодарю за любую помощь

Редактировать 1: Ниже приведен вывод netstat -an |grep 1521 из экземпляра виртуальной машины redhat linux

[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 ПК

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

Настройка IP на компьютере с Windows7

 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

Настройка IP на компьютере MacOS

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

Конфигурация IP на моем экземпляре VMware

[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)

2 ответа

Решение

Проверьте, какую конфигурацию сети вы используете в своем госте. Вы, вероятно, предпочли бы использовать мостовой режим, чтобы получить гостя на его собственный IP-адрес.

Убедитесь, что брандмауэр на вашем госте не блокирует и слушатель Oracle, чтобы убедиться, что он связан с IP-адресом.

Я предполагаю, что проблема в том, что вы используете внутреннюю сеть (hostonly или другие подобные вещи) на вашем компьютере с Windows7, например подсеть 192.168.56.0/24 для этого, в то время как ваша обычная локальная подсеть - 192.168.178.0/24.

Итак, вам нужно реализовать перенаправление / пересылку трафика на ПК с windows7 для этого конкретного порта с vm на экземпляр вашей базы данных. Делать это в Windows, где нет ничего совместимого с такими инструментами Unix, как netfilter/iptables, мне кажется довольно сложной работой. Моя единственная идея - попытать счастья с netsh, но есть хорошие шансы, что все станет хуже.

Более простым способом было бы соединить существующий сетевой интерфейс (может быть, у вас есть более одного на вашем Windows7-ПК?).

Другие вопросы по тегам