У меня есть экземпляр базы данных 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?).