Подключение к экземпляру базы данных 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-ПК?).