NAT模式是最简单的实现虚拟机上网的方式,你可以这样理解:Vhost访问网络的所有数据都是由主机提供的,vhost并不真实存在于网络中,主机与网络中的任何机器都不能查看和访问到Vhost的存在。
IP:10.0.2.15 网关:10.0.2.2 DNS:10.0.2.3 一台虚拟机的多个网卡可以被设定使用 NAT, 第一个网卡连接了到专用网 10.0.2.0,第二个网卡连接到专用网络 10.0.3.0,等等。默认得到的客户端ip(IP Address)是10.0.2.15,网关(Gateway)是10.0.2.2,域名服务器(DNS)是10.0.2.3,可以手动参考这个进行修改。
NAT方案优缺点: 笔记本已插网线时: 虚拟机可以访问主机,虚拟机可以访问互联网,在做了端口映射后(最后有说明),主机可以访问虚拟机上的服务(如数据库)。 笔记本没插网线时: 主机的“本地连接”有红叉的,虚拟机可以访问主机,虚拟机不可以访问互联网,在做了端口映射后,主机可以访问虚拟机上的服务(如数据库)。
IP:一般是DHCP分配的,与主机的“本地连接”的IP 是同一网段的。虚拟机就能与主机互相通信。 笔记本已插网线时:(若网络中有DHCP服务器)主机与虚拟机会通过DHCP分别得到一个IP,这两个IP在同一网段。 主机与虚拟机可以ping通,虚拟机可以上互联网。 笔记本没插网线时:主机与虚拟机不能通信。主机的“本地连接”有红叉,就不能手工指定IP。虚拟机也不能通过DHCP得到IP地址,手工指定IP后,也无法与主机通信,因为主机无IP。 这时主机的VirtualBox Host-Only Network 网卡是有ip的,192.168.56.1。虚拟机就算手工指定了IP 192.168.56.*,也ping不能主机。
主机模式,这是一种比较复杂的模式,需要有比较扎实的网络基础知识才能玩转。可以说前面几种模式所实现的功能,在这种模式下,通过虚拟机及网卡的设置都可以被实现。 我们可以理解为Vbox在主机中模拟出一张专供虚拟机使用的网卡,所有虚拟机都是连接到该网卡上的,我们可以通过设置这张网卡来实现上网及其他很多功能,比如(网卡共享、网卡桥接等)。
/etc/sysconfig/network-scripts/ifcfg-enp0s3
使用命令编辑
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
静态网络配置文件文件内容如下:
TYPE=Ethernet BOOTPROTO=static IPADDR=192.168.0.2 NETMASK=255.255.255.0 GATEWAY=192.168.0.1 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 IPV6_ADDR_GEN_MODE=stable-privacy NAME=enp0s3 UUID=e6241284-0be0-4f22-8595-ff7395aefd25 DEVICE=enp0s3 ONBOOT=yes
主要修改文件的以下几个内容:
ONBOOT=yes BOOTPROTO=static IPADDR=192.168.10.10 #静态IP,随意,与主机同一网段即可 NETMASK=255.255.255.0 #掩码,对应主机掩码 GATEWAY=192.168.10.55 #网关,对应主机的网关
resolv.conf这个文件内容不改的话。ping外网会提示 ping: www.baidu.com: Name or service not known,这里踩过坑
vi /etc/resolv.conf
vi进入resolv.conf文件后,按i键修改resolv.conf的内容如下
nameserver 192.168.110.2 //域名服务器 ,不知道也可以设置成网关 也可是设置成 8.8.8.8
selinux要设置成disabled
vi /etc/sysconfig/selinux
systemctl restart network
或者
systemctl restart network.service
ip addr
上面的ifcfg-enp0s3文件我做了修改,主要是找不到eth0文件,然后就干脆把原来的ifcfg-enp0s3名称该成了ifcfg-eth0
mv /etc/sysconfig/network-scripts/ifcfg-enp0s3 /etc/sysconfig/network-scripts/ifcfg-eth0