Назад | Перейти на главную страницу

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

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

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

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

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

Но я не могу установить telnet-порт 1521 из Mac OS.

Может ли кто-нибудь помочь мне настроить мои компьютеры macos и windows7 для подключения к экземпляру базы данных, который работает на проигрывателе vmware.

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

Изменить 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)

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

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

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

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

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