Linux虚拟机的网络(以CentOS为例)
配置网络的前提是首先要有网卡,也就是网络适配器
VMware的三种网络模式
想要配置虚拟机的网络,首先要了解VMware的三种网络模式,其实在电脑安装完VMware之后,电脑环境中就会多出两张虚拟网卡,使用ipconfig命令可以查看的到此时的宿主机有三个IP地址(一般情况)。
vmware的三种网络模式
总结
模式名是否联网是否ping通宿主机DNS配置默认网关桥接模式是是(宿主机防火墙放行状态)DHCP模式不需要,手动模式为默认网关与宿主机的默认网关一致为:.:.:.1NAT模式是是(宿主机防火墙放行状态)DHCP模式不需要,手动配置IP需要手动时为:.:.:.2仅主机模式否是(宿主机防火墙放行状态)DHCP模式不需要,手动配置IP需要手动时为:.:.:.1
1.桥接模式
本模式下虚拟机是可以联网的,但是不一定能够和主机互相ping通,如果无法联网,则检查此时虚拟机桥接到的网卡是否正确
介绍
VMnet0:桥接模式,与物理真机共享网络,处于同一网段,可以连接外网。Linux主机相当于一个独立的真机;
桥接模式下的虚拟机和主机是一样的,可以理解为跟主机一样连接到了同一个交换机,此时的宿主机和虚拟机就像是双胞胎。
配置步骤(静态地址,手动配置)
0.配置好网卡设备的选择
首先查看当前连接设备,以wifi为例
将VMware的设备与外界配置一致
1.设置网络适配器是桥接模式
3.查看宿主机被wifi分配的IP(如果宿主机是使用wifi连接的网络)
4.在虚拟机中配置网卡信息
给虚拟机手动配置IP地址,其子网掩码和宿主机一致192.168.1.1,子网掩码是255.255.255.0
BOOTPROTO的值:
自动:dhcp 手动:none 静态:static
这个是网络配置参数: BOOTPROTO=static 静态IP
BOOTPROTO=dhcp 动态IP
BOOTPROTO=none 无(不指定) 通常情况下是dhcp或者static,通过指定方式的办法来获得地址,如果没有指定的话可能会出现问
vim ifcfg-ens33
TYPE="Ethernet"
DEFROUTE="yes"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
PROXY_METHOD="none"#这里也可以写static
BROWSER_ONLY="no"
BOOTPROTO="none"
IPADDR="192.168.1.140"
NETMASK="255.255.255.0"
GATEWAY="192.168.1.1"
DNS1="8.8.8.8"
DNS2="114.114.114.114"
5.重启网络
#systemctl restart network
此时记得检查虚拟机的防火墙和SeLinux是否关闭
#ifconfig 查看修改后的结果
[root@client network-scripts]# ifconfig
ens33: flags=4163
inet 192.168.1.140 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::20c:29ff:fe27:59a4 prefixlen 64 scopeid 0x20
ether 00:0c:29:27:59:a4 txqueuelen 1000 (Ethernet)
RX packets 141 bytes 22311 (21.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 257 bytes 26942 (26.3 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
注意:如果遇到Linux8及以后系统,不支持network来控制网络,则使用如下命令
nmcli c reload
nmcli c up ifcfg-ens33
6.有时候配置静态地址出现问题,要关闭networkmanager
#systemctl stop NetWorkManager
#systemctl disable NetWorkManager
7.这时,虚拟机可以连通网络
查看此时的DNS服务器状态
[root@client network-scripts]# cat /etc/resolv.conf
# Generated by NetworkManager
search itcast.cn
nameserver 8.8.8.8
nameserver 114.114.114.114
[root@client network-scripts]# ping www.baidu.com
PING www.a.shifen.com (220.181.38.149) 56(84) bytes of data.
64 bytes from 220.181.38.149 (220.181.38.149): icmp_seq=1 ttl=50 time=18.1 ms
64 bytes from 220.181.38.149 (220.181.38.149): icmp_seq=2 ttl=50 time=19.9 ms
64 bytes from 220.181.38.149 (220.181.38.149): icmp_seq=3 ttl=50 time=18.8 ms
^C
--- www.a.shifen.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2010ms
rtt min/avg/max/mdev = 18.193/19.006/19.970/0.733 ms
8.有可能虚拟机ping不通主机,可能的处理措施是在windows的防火墙内找到入站措施,然后找到下图设置
9.宿主机无困难ping通主机(虚拟机防火墙打开的情况下)
配置步骤(DHCP)
1.配置文件内容
TYPE="Ethernet"
DEFROUTE="yes"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
2.重启网络
#systemctl restart network
此时记得检查虚拟机的防火墙和SeLinux是否关闭
#ifconfig 查看修改后的结果
[root@client network-scripts]# ifconfig
ens33: flags=4163
inet 192.168.1.140 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::20c:29ff:fe27:59a4 prefixlen 64 scopeid 0x20
ether 00:0c:29:27:59:a4 txqueuelen 1000 (Ethernet)
RX packets 141 bytes 22311 (21.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 257 bytes 26942 (26.3 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
注意:如果遇到Linux8及以后系统,不支持network来控制网络,则使用如下命令
nmcli c reload
nmcli c up ifcfg-ens33
3.有时候配置静态地址出现问题,要关闭networkmanager
#systemctl stop NetWorkManager
#systemctl disable NetWorkManager
4.这时,虚拟机可以连通网络
[root@client network-scripts]# ping www.baidu.com
PING www.a.shifen.com (39.156.66.18) 56(84) bytes of data.
64 bytes from 39.156.66.18 (39.156.66.18): icmp_seq=1 ttl=54 time=23.8 ms
64 bytes from 39.156.66.18 (39.156.66.18): icmp_seq=2 ttl=54 time=10.8 ms
^C
--- www.a.shifen.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1003ms
rtt min/avg/max/mdev = 10.854/17.342/23.831/6.489 ms
5.可以ping宿主机(防火墙打开的情况下)
6.主机也可以ping防火墙
2.NAT模式
介绍
NAT模式要使用到VMnet8网卡
VMnet8:NAT模式,相当于一个独立的网络环境,不和物理真机一个网段没说不能访问宿主机,但是可以通过虚拟网络路由器访问到外网。
配置步骤(DHCP自动分配IP)
1.确认VMware的配置没有问题
2.网络适配器选择NAT模式
3.修改相关网卡的配置信息
TYPE="Ethernet"
DEFROUTE="yes"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
#这里这两行不配置也可以连通网络,不知道是不是使用dhcp的原因
DNS1="8.8.8.8"
DNS2="114.114.114.114"
5.重启网络
#systemctl restart network
此时记得检查虚拟机的防火墙和SeLinux是否关闭
#ifconfig 查看修改后的结果
[root@client network-scripts]# ifconfig
ens33: flags=4163
inet 192.168.209.135 netmask 255.255.255.0 broadcast 192.168.209.255
inet6 fe80::20c:29ff:fe27:59a4 prefixlen 64 scopeid 0x20
ether 00:0c:29:27:59:a4 txqueuelen 1000 (Ethernet)
RX packets 700 bytes 71723 (70.0 KiB)
RX errors 0 dropped 223 overruns 0 frame 0
TX packets 515 bytes 60686 (59.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
注意:如果遇到Linux8及以后系统,不支持network来控制网络,则使用如下命令
nmcli c reload
nmcli c up ifcfg-ens33
6.有时候配置静态地址出现问题,要关闭networkmanager
#systemctl stop NetWorkManager
#systemctl disable NetWorkManager
7.这时,虚拟机可以连通网络
查看此时的DNS服务器状态
[root@client network-scripts]# cat /etc/resolv.conf
# Generated by NetworkManager
search itcast.cn
nameserver 8.8.8.8
nameserver 114.114.114.114
[root@client network-scripts]# ping www.baidu.com
PING www.a.shifen.com (220.181.38.149) 56(84) bytes of data.
64 bytes from 220.181.38.149 (220.181.38.149): icmp_seq=1 ttl=50 time=18.1 ms
64 bytes from 220.181.38.149 (220.181.38.149): icmp_seq=2 ttl=50 time=19.9 ms
64 bytes from 220.181.38.149 (220.181.38.149): icmp_seq=3 ttl=50 time=18.8 ms
^C
--- www.a.shifen.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2010ms
rtt min/avg/max/mdev = 18.193/19.006/19.970/0.733 ms
8.有可能虚拟机ping不通主机,可能的处理措施是在windows的防火墙内找到入站措施,然后找到下图设置
9.宿主机依然可以ping通虚拟机
手动配置(静态IP)
其实跟dhcp是一样的,想要配置成功并且联网,所使用的的IP地址必须要和VMnet8网卡的网段一致
1.查看配置
2.网卡配置依然保持NAT
3.配置文件内容
非常需要注意的一点是
GATEWAY的值不能写192.168.1.1
而是192.168.1.2
[root@client network-scripts]# cat ifcfg-ens33
TYPE="Ethernet"
DEFROUTE="yes"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"#这里写“static”一样正常
IPADDR="192.168.209.140"
NETMASK="255.255.255.0"
GATEWAY="192.168.209.2"
#下面两行是必须的,因为没有DHCP,所以DNS需要这样配置,而且必须这样写
DNS1="8.8.8.8"
DNS2="114.114.114.114"
4.网络连通性正常
[root@client network-scripts]# ping www.baidu.com
PING www.a.shifen.com (39.156.66.14) 56(84) bytes of data.
64 bytes from 39.156.66.14 (39.156.66.14): icmp_seq=1 ttl=128 time=10.5 ms
64 bytes from 39.156.66.14 (39.156.66.14): icmp_seq=2 ttl=128 time=17.0 ms
^C
--- www.a.shifen.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1004ms
rtt min/avg/max/mdev = 10.534/13.799/17.065/3.267 ms
5.ping主机正常(前提是主机开了防火墙)
[root@client network-scripts]# ping 192.168.209.1
PING 192.168.209.1 (192.168.209.1) 56(84) bytes of data.
64 bytes from 192.168.209.1: icmp_seq=1 ttl=128 time=0.723 ms
64 bytes from 192.168.209.1: icmp_seq=2 ttl=128 time=0.582 ms
64 bytes from 192.168.209.1: icmp_seq=3 ttl=128 time=1.45 ms
64 bytes from 192.168.209.1: icmp_seq=4 ttl=128 time=1.26 ms
^C64 bytes from 192.168.209.1: icmp_seq=5 ttl=128 time=0.341 ms
^Z
[1]+ Stopped ping 192.168.209.1
[root@client network-scripts]# ping 192.168.209.2
PING 192.168.209.2 (192.168.209.2) 56(84) bytes of data.
64 bytes from 192.168.209.2: icmp_seq=1 ttl=128 time=0.186 ms
64 bytes from 192.168.209.2: icmp_seq=2 ttl=128 time=0.238 ms
^C
--- 192.168.209.2 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1003ms
rtt min/avg/max/mdev = 0.186/0.212/0.238/0.026 ms
6.主机ping虚拟机
3.仅主机模式
VMnet1:仅主机模式,不能访问外部网络,仅能访问物理真机。一般用于配置虚拟机的内网,以至于可以互相访问的到
配置步骤(手动更改)
1.查看网络编辑器并确保没有问题
2.配置网卡
TYPE="Ethernet"
DEFROUTE="yes"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
IPADDR="192.168.137.140"
NETMASK="255.255.255.0"
GATEWAY="192.168.137.2"#或者等于"192.168.137.1"
3.无法联网,配置仅主机模式一般是为了做内网的主从架构
4.可以ping通宿主机,在宿主机的防火墙打开的状态
[root@client network-scripts]# ping 192.168.137.1
PING 192.168.137.1 (192.168.137.1) 56(84) bytes of data.
64 bytes from 192.168.137.1: icmp_seq=1 ttl=128 time=0.299 ms
64 bytes from 192.168.137.1: icmp_seq=2 ttl=128 time=0.485 ms
64 bytes from 192.168.137.1: icmp_seq=3 ttl=128 time=2.87 ms
^C
--- 192.168.137.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2007ms
rtt min/avg/max/mdev = 0.299/1.219/2.875/1.173 ms
[root@client network-scripts]# ping 192.168.137.2
PING 192.168.137.2 (192.168.137.2) 56(84) bytes of data.
From 192.168.137.140 icmp_seq=1 Destination Host Unreachable
From 192.168.137.140 icmp_seq=2 Destination Host Unreachable
From 192.168.137.140 icmp_seq=3 Destination Host Unreachable
5.宿主机也可以ping通虚拟机
配置自动(DHCP)
更改配置文件为
TYPE="Ethernet"
DEFROUTE="yes"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
结果与手动更改IP效果一致
网卡配置字段解释
相关文章
发表评论