VirtualBox中有如下几种网络连接方式:

NAT(NAT到宿主机IP地址)

NAT Network (NAT到宿主机所在的网段,即使用相同的网关和掩码)

Bridged Adapter

Internal

Host-only Adapter

1.虚拟机的网络设置:
本人使用双网卡配置虚拟机,第一块网卡用host only模式,用于虚拟机与宿主机之间相互通信。第二块卡用NAT Network模式,用于虚拟机通过宿主机连接外网。 
注意:网卡服务启动时,会先加载eth0,再加载eth1。这意味着,后加载的网卡设置会覆盖掉前一张网卡的设置。因此,特别注意由此可能引发的问题。请明确双网卡的先后顺序!

Host Only 网卡的设置

可参看http://www.linuxidc.com/Linux/2016-09/135592.htm

  • 第一步,预先配置好host-only网络的网关和子网掩码。在创建虚拟机时,添加第一块网卡为host only网卡

   

  • 第二步,在虚拟机中,配置第一块网卡的网络设置:按如下设置编辑文件 /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=static
IPADDR=192.168.57.101
Gateway=192.168.57.1
Network Mask=255.255.255.0
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=enp0s3
UUID=174702ea-8da2-467d-9dc4-9456cddf64a2
DEVICE=enp0s3
ONBOOT=yes

NATNetwork网卡的配置

参看http://www.linuxidc.com/Linux/2016-09/135594.htm

重要的事说三遍:NATNetwork网卡中配置的网关,要和宿主机的网关一致!要一致!一致!

  • 第一步,明确宿主机的网关和掩码,然后去配置好NAT网络的网关和掩码,二者必须一致。在创建虚拟机时,添加第二块网卡为NAT Network网卡
        
  • 第二步,在虚拟机中,配置第一块网卡的网络设置:按如下设置编辑文件/etc/sysconfig/network-scripts/ifcfg-eth1
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=enp0s8
UUID=36753f06-c973-4351-94e2-6308319e83d8
DEVICE=enp0s8
ONBOOT=yes
2.设置代理
如果宿主机使用了代理服务器访问外网,那么虚拟机里面也需要相应地配置代理服务器。编辑修改文件~/.bashrc  可以为当前用户配置代理服务器,编辑结束后执行source ~/.bashrc以使配置生效。编辑修改文件/etc/bashrc (??未验证),可以为系统所有用户配置代理服务器。
# Http Proxy
http_proxy="http://proxyserver:8080"
export http_proxy # Https Proxy
https_proxy="https://proxyserver:443"
export https_proxy

特殊情况:

宿主机在ISA Proxy(集成了AD域账号验证)后面,虚拟机需要进行NTLM认证通过后才能连接外网,可安装CNTLM( 官方下载 http://dl.fedoraproject.org/pub/epel/6/x86_64/c/ 注意版本)组件进行NTLM认证,方法参见 https://www.centos.org/forums/viewtopic.php?t=22455(当域账号密码变更时,需要修改/etc/cntlm.conf文件中的密码)
(可用 NTLM Authorization Proxy Server 工具代替CNTLM,未验证)
 
3. 配置多台虚拟机
如果实验环境中有多台虚拟机,并且虚拟机之间经常交互通信,那么,你还需要配置下面这些:
  • 配置本地DNS
修改/etc/hostname, 赋值机器名。修改本地DNS文件 /etc/hosts ,加入各台虚拟机的DNS记录(IP  机器名)
  • 配置虚拟机之间的信任关系

在虚拟环境中的每一台虚拟机上,都执行ssh-keygen以便生成公钥,然后把公钥复制到其他虚拟机上。这样,当你在某台虚拟机上想要ssh到另一台虚拟机时,执行ssh hostname/IP ,不用输密码就可以登录过去

ssh-keygen
ssh-copy-id <hostname/IP>
 

最新文章

  1. mybatis源码分析:
  2. Bootstrap &lt;基础二十三&gt;页面标题(Page Header)
  3. AutoMapper简明教程(学习笔记)
  4. 开发高峰时的CPU使用率
  5. 对shell中的与(&amp;&amp;)和或(||)的理解
  6. 擅长排列的小明 II(找规律)
  7. 初识google多语言通信框架gRPC系列(三)C#中使用gRPC
  8. js 形参和实参---2017-04-11
  9. Python 项目实践一(外星人入侵)第一篇
  10. Centos 部署.net Core
  11. Java访问级别修饰符
  12. sql server 跟踪日志
  13. day 05JVM和深入理解java虚拟机
  14. CSS浏览器兼容性与解决
  15. 机器学习进阶-阈值与平滑-图像阈值 1. cv2.threshold(进行阈值计算) 2. 参数type cv2.THRESH_BINARY(表示进行二值化阈值计算)
  16. 3.RapidIO串行物理层的包传输过程
  17. Sql Server重复数据删除
  18. Four Node.js Gotchas that Operations Teams Should Know about
  19. TEXT 3 Food firms and fat-fighters
  20. Halcon开发环境和数据结构介绍——第1讲

热门文章

  1. Quartz2D之生成圆形头像、打水印、截图三种方法的封装
  2. Qt 多线程和网络编程学习
  3. Java实现多线程的三种方式
  4. 支付宝支付参数MD5签名
  5. 百度地图api2.0体验
  6. 在ESXi 5.x 和 ESXi 6.0.x 中如何安装第三方供应商开发的驱动程序
  7. java sdk与jdk区别
  8. hive与hbase整合过程
  9. PHPCMS v9 超级安全防范教程!
  10. pl/sql配置连接远程数据库oracle,本地没有安装oracle数据库的情况下