1、虚拟机网络模式
无论是vmware,virtual box,virtual pc等虚拟机软件,一般来说,虚拟机有三种网络模式:
桥接 、NAT 、Host-Only
哪一种网络是适合自己的虚拟机呢?
**1.1 **桥接
桥接网络是指本地物理网卡和虚拟网卡通过VMnet0虚拟交换机进行桥接,物理网卡和虚拟网卡在拓扑图上处于同等地位,那么物理网卡和虚拟网卡就相当于处于同一个网段,虚拟交换机就相当于一台现实网络中的交换机,所以两个网卡的IP地址也要设置为同一网段。
所以当我们要在局域网使用虚拟机,对局域网其他pc提供服务时,例如提供ftp,提供ssh,提供http服务,那么就要选择桥接模式。
例如大学宿舍里有一个路由器,宿舍里四个人连接这个路由器,路由器的wanip就不理会,这个ip是动态获取的,而lanip默认是192.168.1.1,子网掩码是255.255.255.0。而其他四个人是自动获取ip,假设四个人的ip是:
A:192.168.1.100/255.255.255.0, B:192.168.1.101/255.255.255.0, C:192.168.1.102/255.255.255.0, D:192.168.1.103/255.255.255.0
那么虚拟机的ip可以设置的ip地址是192.168.1.2-192.168.1.99,192.168.1.104-192.168.1.254(网络地址全0和全1的除外,再除去ABCD四个人的ip地址)
那么虚拟机的ip地址可以设置为192.168.1.98/255.255.255.0,设置了这个ip地址,ABCD这四个人就可以通过192.168.1.98访问虚拟机了,如果虚拟机需要上外网,那么还需要配置虚拟机的路由地址,就是192.168.1.1了,这样,虚拟机就可以上外网了,但是,上网我们一般是通过域名去访问外网的,所以我们还需要为虚拟机配置一个dns服务器,我们可以简单点,把dns服务器地址配置为google的dns服务器:8.8.8.8,到此,虚拟机就可以上网。
**1.2 **NAT
NAT模式中,就是让虚拟机借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网。
NAT模式中,虚拟机的网卡和物理网卡的网络,不在同一个网络,虚拟机的网卡,是在vmware提供的一个虚拟网络。
NAT和桥接的比较:
(1) NAT模式和桥接模式虚拟机都可以上外网。
(2) 由于NAT的网络在vmware提供的一个虚拟网络里,所以局域网其他主机是无法访问虚拟机的,而宿主机可以访问虚拟机,虚拟机可以访问局域网的所有主机,因为真实的局域网相对于NAT的虚拟网络,就是NAT的虚拟网络的外网,不懂的人可以查查NAT的相关知识。
(3) 桥接模式下,多个虚拟机之间可以互相访问;NAT模式下,多个虚拟机之间也可以相互访问。
如果你建一个虚拟机,只是给自己用,不需要给局域网其他人用,那么可以选择NAT,毕竟NAT模式下的虚拟系统的TCP/IP配置信息是由VMnet8(NAT)虚拟网络的DHCP服务器提供的,只要虚拟机的网路配置是DHCP,那么你不需要进行任何其他的配置,只需要宿主机器能访问互联网即可,就可以让虚拟机联网了。
例如你想建多个虚拟机集群,作为测试使用,而宿主机可能是一个笔记本,ip不固定。这种应用场景,我们需要采用nat模式了,但是我们要考虑一个问题,虚拟机之间是需要互访的,默认采用dhcp,虚拟机的ip每次重启,ip都是不固定的,所以我们需要手工设置虚拟机的ip地址。
但是我们对虚拟机网卡所在的虚拟网络的信息还一无所知,例如虚拟机网络的路由地址,子网掩码,所以我们需要先查下nat虚拟网络的信息。
使用vmware,在Edit->Virtual Network Editor中配置好虚拟网络信息后看到下图所示,注意VMnet8,VMnet8相当于是本机的一个路由,虚拟机设置NAT后就通过这个路由进行上网的,可以查看其网络地址,路由地址,子网掩码。
选择VMnet8->NAT设置,可以看到子网ip显示为192.168.233.0,子网掩码是255.255.255.0,那路由地址呢,其实就是网关IP了,都是同个东西,这里是192.168.233.2。
接下来就好办了,在对应的虚拟机设置好ip,子网掩码,路由地址就可以上外网了,至于dns可以设置为8.8.8.8.
**1.3 **Host-Only
在Host-Only模式下,虚拟网络是一个全封闭的网络,它唯一能够访问的就是主机。其实Host-Only网络和NAT网络很相似,不同的地方就是Host-Only网络没有NAT服务,所以虚拟网络不能连接到Internet。主机和虚拟机之间的通信是通过VMware Network Adepter VMnet1虚拟网卡来实现的。
Host-Only的宗旨就是建立一个与外界隔绝的内部网络,来提高内网的安全性。这个功能或许对普通用户来说没有多大意义,但大型服务商会常常利用这个功能。如果你想为VMnet1网段提供路由功能,那就需要使用RRAS,而不能使用XP或2000的ICS,因为ICS会把内网的IP地址改为192.168.0.1,但虚拟机是不会给VMnet1虚拟网卡分配这个地址的,那么主机和虚拟机之间就不能通信了。
2****、桥接模式
先看一下本机IP配置, 记一下网关信息
查看虚拟机配置
点击编辑->虚拟网络编辑器
在虚拟机中ifconfig查看网卡名称,我这里是ens33。然后编辑/etc/sysconfig/network-scripts/下相应的配置文件,这里即是ifcfg-ens33文件。配置静态ip和宿主机在同一网段(和掩码相与结果相同),掩码和网关与宿主机一致:
测试一下ping宿主机和外网: ping未开防火墙的同一网段的主机可以ping通(Windows防火墙默认不允许外部主机对其ping测试,可以开启),其它主机也可以ping通该虚拟机
3****、仅主机模式
先看一下本机IP配置, 记一下网关信息
查看虚拟机配置
点击编辑->虚拟网络编辑器
虚拟机中配置
ifcfg-ens33
网卡配置文件:
vim /etc/sysconfig/network-scripts/ifcfg-ens33
测试一下,虚拟机ping宿主机也就是ping这个VMNet1可以成功ping通,宿主机ping虚拟机也可以ping通。
如果用远程工具连接仅主机模式的虚拟机迟迟不能连接成功,很可能是受DNS的影响,在文件
/etc/ssh/sshd_config
中将其关闭:然后重启虚拟机即可
4、NAT****模式
先看一下本机IP配置, 记一下网关信息
查看虚拟机配置
点击编辑->虚拟网络编辑器
后面用静态ip,这里就不用在意DHCP了
在宿主机上找到VMNet8的IPv4,设置一下网关(和前面VMware里设置的一样):
开机,**/etc/**
resolve.conf
的配置与桥接的情况一样;
ifcfg-ens33
文件中的ip和网关要改成虚拟子网网段里的:
重启网络,测试ping宿主机、ping外网都没问题,子网内其它主机不能访问到虚拟机
5、centos****网络配置
添加网关及设置静态IP(IP,网关根据自己网络修改,ip不能超出起止IP,DNS配置为自己电脑上网的DNS即可):
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="782a7d42-ea2f-4e11-8763-5c88a81b90e5"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.1.128
NETMASK=255.255.254.0
GATEWAY=192.168.1.1
DNS1=101.198.199.200
DNS2=192.168.1.1
输入:service network restart命令重启网卡,生效刚刚修改ip地址,ping 测试网络连通性
Windows防火墙开启ping,禁ping的配置方法:
Windows XP,Windows Server 2003:
Windows防火墙 --> 高级 --> ICMP --> 设置 --> 把“允许传入回显请求”前打上勾 --> 确定 --> 大功告成。
Windows 7,Win 2008 R2,2012 R2:
Windows防火墙 --> 高级设置 --> 入站规则 --> 在列表里找到“文件和打印机共享(回显请求 - ICMPv4-In)” --> 右击选择启用规则,并在其属性里设置为‘允许连接'--> 确定 --> 大功告成。
要禁止ping,去掉勾选即可.
*5、virtualbox 下centos7*网络配置
5.1管理 ——> 全局设定 ——> 网络,新加网络
如图所示(Natnetwork),其他全部默认即可
5.2 具体虚拟机设置,网络设置,网卡1选择桥接网络(我这里本机是无线wifi,所以名称是Wireless),高级里面将接入网线打勾,这一步是你的虚拟机能够和主机互通的必要条件。
5.3 设置网卡2,这里链接方式选择,Nat网络,然后名称会自动匹配到你第二步全局设置的Nat网络名,高级里面将接入网线打勾,这一步是你的虚拟机能够联通外网的必要条件
5.4 运行虚拟机,打开网卡配置
vi编辑文件ifcfg-enp0s3文件 (可能你的文件名跟我的不太一样,具体可以使用命令 ip addr 看到名称 enp…)
按照图片进行配置:IP地址,保持和主机的ip在同一网段即可;子网掩码、默认网关,保持跟主机一致
最后要将onboot设为yes
设置到这里,你已经可以ping 通外网了,只不过局限于ping 通ip地址如:(地址为百度的ip)
ping 119.75.217.109
要想ping通 百度域名,还需要设置一下dns解析
5.5 配置DNS进行域名解析
文件位置 /etc/resolv.conf
5.6 查看网卡UUID命令
nmcli con | sed -n '1,2p'
版权归原作者 棉花糖老丫 所有, 如有侵权,请联系我们删除。