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