且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Oracle 在 多个Virtualbox 虚拟机间 跨不同物理宿主机进行通信

更新时间:2022-09-16 16:40:55

因为单位网络管理的原因,不太方便使用 Virtualbox 的Bridge Adapter 模式,故此欲采用NAT模式,不对外不暴露虚拟机IP。

但是此时会有一个问题:采用NAT模式后,在通常情况下,

从外面看,或者从物理机来看,此虚拟机是不可见的。

 

此时,可通过端口转发,来使得外部机器和此物理机进行通讯。

 

设置方法如下:

1 先测试 两台物理机是否能够ping通。

例如 物理机地址:192.168.1.104  和  192.168.1.105

物理机 192.168.1.104上的虚拟机地址:10.0.3.15

物理机 192.168.1.105上的虚拟机地址:  10.0.2.15
测试:

从 192.168.1.104 可以ping 通 192.168.1.105; 同时反过来,从 192.168.1.105 可以ping通 192.168.1.104。

 

2  再测试,通过虚拟机可否访问宿主物理机以及外部物理机:

由于是 NAT 方式,所以从 10.0.2.15,可以ping通 宿主机 192.168.1.105,也可以ping 通外部物理机 192.168.1.104

同样, 从 10.0.3.15,可以ping通 宿主机 192.168.1.104,也可以ping 通外部物理机 192.168.1.105。

 

3接着,分别设置两台宿主物理机的端口转发。

以 192.168.1.105 为例:

如图所示:单击 端口转发

Oracle 在 多个Virtualbox 虚拟机间 跨不同物理宿主机进行通信

 

分别填写主机和子系统信息:

主机IP: 物理宿主机自身IP  192.168.1.105。

主机端口:物理宿主机端口, 因为这里为Oracle数据库而设,故设置1521

子系统IP:  虚拟机IP 10.0.2.15

子系统端口:虚拟机端口,因为这里为Oracle数据库而设,故设置1521

Oracle 在 多个Virtualbox 虚拟机间 跨不同物理宿主机进行通信

 

另外的物理宿主机上,Virtualbox作同样的设置,只是

主机IP为物理宿主机自身IP: 192.168.1.104。

主机端口:物理宿主机端口, 因为这里为Oracle数据库而设,故设置1521

子系统IP:  虚拟机IP 10.0.3.15

子系统端口:虚拟机端口,因为这里为Oracle数据库而设,故设置1521

 

4 测试各虚拟机上自身listener启动状况良好(lsnrctl start/ lsnrctl status),

  各虚拟机上数据库已经启动

  从各虚拟机,通过本地listener***问本虚拟机内的数据库没问题。

  然后,

  从虚拟机上,用netca,来建立到另一台虚拟机上的数据库的连接: 

  例如,从 10.0.3.15 设置访问 另外的虚拟机(10.0.2.15)的本地命名连接(tnsnames.ora)时,

  IP 地址使用 另外的虚拟机的物理宿主机的IP(192.168.1.105)。

 

  这样,通过 10.0.3.15 --〉(本地物理宿主机)--->(远端物理宿主机)---->Virtualbox端口转发--->10.0.2.15:1521;

  经过测试,可以连接成功。

  反过来,也可以达到

  通过 10.0.2.15 --〉(本地物理宿主机)--->(远端物理宿主机)---->Virtualbox端口转发--->10.0.3.15:1521;也可以连接成功。

 

这样,虽然Oracle软件越来越大,但是不同机器仍然可以在公司办公环境,借助于宿主机,互相协同,达到节省宝贵的内存的作用。






本文转自健哥的数据花园博客园博客,原文链接:http://www.cnblogs.com/gaojian/p/3619381.html,如需转载请自行联系原作者