700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > VirtualBox虚拟机与主机互通 并且虚拟机又能上网配置

VirtualBox虚拟机与主机互通 并且虚拟机又能上网配置

时间:2023-12-13 07:11:05

相关推荐

VirtualBox虚拟机与主机互通 并且虚拟机又能上网配置

为了在VirtualBox上安装oracle 11g rac,使VirtualBox虚拟机与主机互通,并且虚拟机又能上网配置,找了很多网上文章但都没有都对最终设置方式进行详细的说明,

现在自己总结如下:

一、VirtualBox的提供了四种网络接入模式,它们分别是:

1、NAT 网络地址转换模式(NAT,Network Address Translation)

2、Bridged Adapter 桥接模式

3、Internal 内部网络模式

4、Host-only Adapter 主机模式

VMWare中有三种,其实他跟VMWare 的网络连接方式都是一样概念,只是比VMWare多了Internal方式。要让自己(或别人)理解深刻,方法就是做比较和打比方,比较之间的不同和相同,拿熟知的事物打比方。先来一张图,通过这张图就很容易看出这4种方式的区别:

更详细的介绍可以自行百度。

二、我的环境

Linux rac1虚拟机

网卡1 (网卡1的目的是用上虚拟机与主机之间通讯,并且可以上外网)

由于VirtualBox 的 NAT方式,只允许虚拟机与主机之间单向通讯(因为VirtualBox只虚拟了一个网卡,所以主机是ping不通虚拟机的,而vmware有虚拟两个网卡, VMnet1是host网卡,用于host方式连接网络的。VMnet8是NAT网卡,用于NAT方式连接网络。

所以vmware Nat方式可以主机与虚拟机互通。但可以设置端口转发,这样主机就可以ssh到虚拟机。

通过以下端口转发的设置,可以让主机连上虚拟机(点上网的"端口转发“)

虚拟机CentOS的对应的eth0网络设置是:

eth0 必须是dhcp 通过虚拟机NAT模式获取的默认IP地址是 10.0.2.15,好像改不了,改静态就不行了。

如果用命令行始终配置不好,就用system-network-config启动图行界面来配置,保证配置结果没有错误

以上NAT设置可以适合单台虚拟机服务的设置,即虚拟是NAT地址转换方式,虚拟是默认地址,这样虚拟就可以与主机通讯,并且可以上网

但rac环境要求public两个网卡可以互通,pritiave网卡也可以互相,但如果rac2的网卡1 eth0也是NAT,那么这两个将不互通。

(原因:NAT方式只是虚拟与主机的单向通讯,所以rac2如果也是NAT方式,只说明它也可以也主机单向通讯,并不能与另外的虚拟机互通)

所以,要想达到主机与两台虚拟机之间都可以互通,虚拟机之间又可以互通,必须修改网卡1的连接方式为host-only,网卡2改成是内部网址,用与私网通讯

如果要让两台虚拟机都可以上网,那么就需要配置win7上网的网络连接为共享,共享给VirtualBox生成的host-only网卡,这样两台虚拟机就可以通过host-only的网上,再由经过上网的网卡上网了。

第1步:

先做共享操作最后确定后,此时Host-only会被置为192.168.137.1(本人的机器,机器不同可能不同,这个网址也就是两台虚拟机public的网段,改网段就是不行)

可以修改(但修改了之后,即使虚拟机也设置但一网段了,只可以主机与虚拟机之间通讯,就是不能上网,所以虚拟机必须设置成同一个网段的IP才可以上网)

以下是通过system-config-network配置图

另外:Virtual软件全局设置(可以选择开启dhcp,也可以设置静态IP)

这里为关闭DHCP服务,进行手动设置IP,手动不手动似乎没什么不一样,最终eth0还是要dhcp的

最终VirtualBox软件虚拟机的网络设置如下:(rac1和rac2一样)

最终rac的是eth0和eth1分别如下:

rac1的eth0 和eth1如下:

[root@rac1 ~]# ifconfig

eth0 Link encap:Ethernet HWaddr 08:00:27:FB:4E:66

inet addr:192.168.137.141 Bcast:192.168.137.255 Mask:255.255.255.0

inet6 addr: fe80::a00:27ff:fefb:4e66/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:481 errors:0 dropped:0 overruns:0 frame:0

TX packets:350 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:95721 (93.4 KiB) TX bytes:43273 (42.2 KiB)

eth1 Link encap:Ethernet HWaddr 08:00:27:A3:0F:55

inet addr:10.10.10.10 Bcast:10.10.10.255 Mask:255.255.255.0

inet6 addr: fe80::a00:27ff:fea3:f55/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:262 errors:0 dropped:0 overruns:0 frame:0

TX packets:165 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:30822 (30.0 KiB) TX bytes:14466 (14.1 KiB)

lo Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host

UP LOOPBACK RUNNING MTU:16436 Metric:1

RX packets:18 errors:0 dropped:0 overruns:0 frame:0

TX packets:18 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:1325 (1.2 KiB) TX bytes:1325 (1.2 KiB)

[root@rac1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

HWADDR=08:00:27:fb:4e:66

TYPE=Ethernet

UUID=ada6c5d8-382e-4218-8582-2757ccb9d3c5

ONBOOT=yes

NM_CONTROLLED=yes

BOOTPROTO=dhcp

#IPADDR=192.168.137.10

#NETMASK=255.255.255.0

#GETWAY=192.168.137.1

IPV6INIT=no

USERCTL=no

DNS1=192.168.1.1

PEERDNS=yes

[root@rac1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1

# Please read /usr/share/doc/initscripts-*/sysconfig.txt

# for the documentation of these parameters.

DEVICE=eth1

BOOTPROTO=static

NETMASK=255.255.255.0

TYPE=Ethernet

HWADDR=08:00:27:a3:0f:55

IPADDR=10.10.10.10

IPV6INIT=no

ONBOOT=yes

USERCTL=no

[root@rac1 ~]#

rac2 的eth0 和eth1如下:

[root@rac2 ~]# ifconfig

eth0 Link encap:Ethernet HWaddr 08:00:27:B2:21:03

inet addr:192.168.137.166 Bcast:192.168.137.255 Mask:255.255.255.0

inet6 addr: fe80::a00:27ff:feb2:2103/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:214 errors:0 dropped:0 overruns:0 frame:0

TX packets:141 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:33589 (32.8 KiB) TX bytes:15498 (15.1 KiB)

eth1 Link encap:Ethernet HWaddr 08:00:27:AE:AB:08

inet addr:10.10.10.11 Bcast:10.10.10.255 Mask:255.255.255.0

inet6 addr: fe80::a00:27ff:feae:ab08/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:6 errors:0 dropped:0 overruns:0 frame:0

TX packets:18 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:512 (512.0 b) TX bytes:1292 (1.2 KiB)

lo Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host

UP LOOPBACK RUNNING MTU:16436 Metric:1

RX packets:12 errors:0 dropped:0 overruns:0 frame:0

TX packets:12 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:720 (720.0 b) TX bytes:720 (720.0 b)

[root@rac2 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

HWADDR=08:00:27:b2:21:03

TYPE=Ethernet

UUID=ada6c5d8-382e-4218-8582-2757ccb9d3c5

ONBOOT=yes

NM_CONTROLLED=yes

BOOTPROTO=dhcp

#IPADDR=10.10.10.2

#NETMASK=255.255.255.0

#GETWAY=10.10.10.1

USERCTL=no

PEERDNS=yes

IPV6INIT=no

[root@rac2 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1

# Please read /usr/share/doc/initscripts-*/sysconfig.txt

# for the documentation of these parameters.

DEVICE=eth1

BOOTPROTO=none

NETMASK=255.255.255.0

TYPE=Ethernet

IPADDR=10.10.10.11

HWADDR=08:00:27:ae:ab:08

IPV6INIT=no

ONBOOT=yes

USERCTL=no

[root@rac2 ~]#

验证网络连通:

rac1:

[root@rac1 ~]# ping

PING (117.135.169.41) 56(84) bytes of data.

64 bytes from . (117.135.169.41): icmp_seq=1 ttl=53 time=8.54 ms

64 bytes from . (117.135.169.41): icmp_seq=2 ttl=53 time=8.75 ms

64 bytes from . (117.135.169.41): icmp_seq=3 ttl=53 time=96.1 ms

64 bytes from . (117.135.169.41): icmp_seq=4 ttl=53 time=8.88 ms

64 bytes from . (117.135.169.41): icmp_seq=5 ttl=53 time=10.0 ms

64 bytes from . (117.135.169.41): icmp_seq=6 ttl=53 time=10.6 ms

64 bytes from . (117.135.169.41): icmp_seq=7 ttl=53 time=10.3 ms

64 bytes from . (117.135.169.41): icmp_seq=8 ttl=53 time=8.79 ms

64 bytes from . (117.135.169.41): icmp_seq=9 ttl=53 time=9.11 ms

^C

--- ping statistics ---

9 packets transmitted, 9 received, 0% packet loss, time 8280ms

rtt min/avg/max/mdev = 8.540/19.021/96.128/27.270 ms

[root@rac1 ~]# ping 10.10.10.11

PING 10.10.10.11 (10.10.10.11) 56(84) bytes of data.

64 bytes from 10.10.10.11: icmp_seq=1 ttl=64 time=2.25 ms

64 bytes from 10.10.10.11: icmp_seq=2 ttl=64 time=0.592 ms

64 bytes from 10.10.10.11: icmp_seq=3 ttl=64 time=0.364 ms

64 bytes from 10.10.10.11: icmp_seq=4 ttl=64 time=0.312 ms

64 bytes from 10.10.10.11: icmp_seq=5 ttl=64 time=0.310 ms

64 bytes from 10.10.10.11: icmp_seq=6 ttl=64 time=0.301 ms

64 bytes from 10.10.10.11: icmp_seq=7 ttl=64 time=0.313 ms

^C

--- 10.10.10.11 ping statistics ---

7 packets transmitted, 7 received, 0% packet loss, time 6685ms

rtt min/avg/max/mdev = 0.301/0.634/2.250/0.666 ms

[root@rac1 ~]#

rac2:

[root@rac2 ~]# ping

PING (117.135.169.41) 56(84) bytes of data.

64 bytes from . (117.135.169.41): icmp_seq=1 ttl=53 time=10.5 ms

64 bytes from . (117.135.169.41): icmp_seq=2 ttl=53 time=10.2 ms

64 bytes from . (117.135.169.41): icmp_seq=3 ttl=53 time=9.93 ms

64 bytes from . (117.135.169.41): icmp_seq=4 ttl=53 time=9.47 ms

64 bytes from . (117.135.169.41): icmp_seq=5 ttl=53 time=61.6 ms

64 bytes from . (117.135.169.41): icmp_seq=6 ttl=53 time=10.3 ms

^C

--- ping statistics ---

6 packets transmitted, 6 received, 0% packet loss, time 5485ms

rtt min/avg/max/mdev = 9.476/18.714/61.632/19.196 ms

[root@rac2 ~]# ping 10.10.10.10

PING 10.10.10.10 (10.10.10.10) 56(84) bytes of data.

64 bytes from 10.10.10.10: icmp_seq=1 ttl=64 time=0.551 ms

64 bytes from 10.10.10.10: icmp_seq=2 ttl=64 time=0.448 ms

64 bytes from 10.10.10.10: icmp_seq=3 ttl=64 time=0.319 ms

64 bytes from 10.10.10.10: icmp_seq=4 ttl=64 time=0.471 ms

64 bytes from 10.10.10.10: icmp_seq=5 ttl=64 time=0.566 ms

^C

--- 10.10.10.10 ping statistics ---

5 packets transmitted, 5 received, 0% packet loss, time 4365ms

rtt min/avg/max/mdev = 0.319/0.471/0.566/0.088 ms

[root@rac2 ~]#

如果内部不通的,需要关闭iptables就可以

在这里成这样是因为复制系统的过程中复制的文件已经有一个网卡在/etc/udev/rules.d/70-persistent-net.rules被识别成了eth0,而虚拟机中的识别成了eth1。

解决方法:

1.编辑/etc/udev/rules.d/70-persistent-net.rules,找到与ifconfig -a得出的MAC相同的一行(NAME='eth1'这一行),把它改为"NAME=eth0 ",然后把上面一行(NAME='eth0')删除掉。

vim /etc/udev/rules.d/70-persistent-net.rules

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:bb:41:2b", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

2.编辑/etc/sysconfig/network-script/ifcfg-eth0,把MAC改为正确的,把UUID删掉。

3.编辑/etc/sysconf/network,把hostname也改一下。

4.重启生效!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。