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

2023-05-16

为了在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 www.qq.com 
PING www.qq.com (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
--- www.qq.com 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 www.qq.com
PING www.qq.com (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
--- www.qq.com 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.重启生效!



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VirtualBox虚拟机与主机互通,并且虚拟机又能上网配置 的相关文章

  • ubuntu18.04输入密码登录不进去一直循环

    我是把ubuntu分辨率调了之后变成这样的 其实这个解决方法我也很无语 自己乱按弄到的 就是在登录的隔壁 xff0c 勾选第二个就可以了QUQ 评论区所知 xff1a 选择这个话 xff0c 会关掉nvidia显卡 选择wayland进入后
  • rhce2

    1 配置chrony时间服务器 xff0c 确保客户端主机能和服务主机同步时间 两台机器 第一台机器作为时间服务器从ntp aliyun com同步时间 xff08 注意包含意外情况 xff0c 如果不能上外网 xff0c 不能从阿里云同步
  • FFmpeg Android编译运行出现 Abort message: 'JniInvocation instance already initialized'

    signal 5 SIGTRAP code 1 TRAP BRKPT fault addr 0x272000000d03 Abort message JniInvocation instance already initialized 把
  • layui图标用法总结

    本文参考官方文档 layui图标使用官方文档 xff0c 建议先看此文章 xff0c 并结合本文的前两个步骤使用即可 1 下载layui js相关文档 xff0c layui js下载 xff0c 下载之后里面的内容如下 xff1a 只需要
  • Eggjs学习系列(一) 使用TypeScript快速入门

    Eggjs学习系列 xff08 一 xff09 使用TypeScript快速入门 Eggjs是一个node的渐近式开发框架 xff0c 用于服务端开发 而 TypeScript 是 JavaScript的超集 xff0c 在兼容 JavaS
  • Golang实现小型CMS内容管理功能(二):前端接入百度ueditor富文本编辑器

    当我们把接口都做好以后 xff0c 我们需要去开发前端界面 添加文章功能里面 xff0c 最重要的就是文章内容部分 xff0c 需要配置上富文本编辑器 xff0c 这样才能给我们的内容增加样式 下载ueditor代码 ueditor已经很久
  • 网络分析中数据包结构(含七层模型)

    七层模型 xff1a 包 Packet 是TCP IP协议通信传输中的数据单位 xff0c 一般也称 数据包 有人说 xff0c 局域网中传输的不是 帧 Frame 吗 xff1f 没错 xff0c 但是TCP IP协议是工作在OSI模型第
  • ubuntu下PyCharm遇到问题

    第三方库没有自动补全功能 xff08 autocomplete xff09 190921补充 xff1a 这个问题就是环境配置的问题当初真是无知 原因 xff1a PyCharm的人工编译环境和程序的运行环境不是同一个 xff08 说的太不
  • 用java简单的实现单链表的基本操作

    此代码仅供参考 xff0c 如有疑问欢迎评论 xff1a package com tyxh link 节点类 public class Node protected Node next 指针域 protected int data 数据域
  • 算法:海量日志数据,提取出某日访问百度次数最多的那个IP

    首先是这一天 xff0c 并且是访问百度的日志中的IP取出来 xff0c 逐个写入到一个大文件中 注意到IP是32位的 xff0c 最多有个2 32个IP 同样可以采用映射的方法 xff0c 比如模1000 xff0c 把整个大文件映射为1
  • 使用JUnit测试预期异常

    开发人员常常使用单元测试来验证的一段儿代码的操作 xff0c 很多时候单元测试可以检查抛出预期异常 expected exceptions 的代码 在Java语言中 xff0c JUnit是一套标准的单元测试方案 xff0c 它提供了很多验
  • BlockingQueue深入分析

    1 BlockingQueue 定义的常用方法如下 抛出异常特殊值阻塞超时插入add e offer e put e offer e time unit 移除remove poll take poll time unit 检查element
  • 聚合类新闻客户端产品功能点详情分析

    产品功能点 功能 今日头条 百度新闻 鲜果 ZAKER 媒体订阅 个性化内容推荐 个性化订阅 RSS 视频新闻 评论盖楼 搜索新闻 离线下载 地方新闻 一键分享 收藏 推送 天气 夜间模式 线上活动 主题设置 感兴趣 语音读文章 字体设置
  • 聚合类新闻客户端初体验

    初体验的产品 xff1a 今日头条 ios3 6 百度新闻 ios4 4 0 ZAKER ios4 4 5 鲜果 ios3 8 7 中搜搜悦 ios4 0 1 Flipboard ios2 3 9 1 Flipboard 一款国外很火的ap
  • 聚合类新闻客户端的改进

    zaker和鲜果是最早的聚合类新闻产品 xff0c 前几年发展很快 xff0c 迅速占领了市场 xff0c 但近两年发展变得缓慢 xff0c 而今日头条自发布以来才两年 xff0c 用户量就迅速超过了zaker和鲜果 xff0c 使用起来非
  • 单例模式优缺点

    主要优点 xff1a 1 提供了对唯一实例的受控访问 2 由于在系统内存中只存在一个对象 xff0c 因此可以节约系统资源 xff0c 对于一些需要频繁创建和销毁的对象单例模式无疑可以提高系统的性能 3 允许可变数目的实例 主要缺点 xff
  • 适配器模式优缺点

    优点 xff1a 1 将目标类和适配者类解耦 2 增加了类的透明性和复用性 xff0c 将具体的实现封装在适配者类中 xff0c 对于客户端类来说是透明的 xff0c 而且提高了适配者的复用性 3 灵活性和扩展性都非常好 xff0c 符合开
  • Oracle 的 Round函数

    Round函数用法 xff1a 截取数字 格式如下 xff1a ROUND xff08 number decimals xff09 其中 xff1a number 待做截取处理的数值 decimals 指明需保留小数点后面的位数 可选项 x
  • Ubuntu安装卸载软件

    VMware 1 首先 xff0c 官网下载 vmware 虚拟机 2 转到下载目录下 给vmware升权限 sudo chmod 43 x VMware Workstation Full 15 1 0 13591040 x86 64 bu
  • eclipse报错:Failed to load the JNI shared library

    电脑自装系统以来 xff0c 好久没有写java代码了 xff0c 所以一直也没用 eclipse IDE xff0c 今天将eclipse打开 xff0c 报了个问题 xff0c Failed to load the JNI shared

随机推荐