配置新建网卡的步骤
1.在vmvare虚拟机中点击编辑-虚拟网络适配器添加网络,网络设成NAT模式或仅主机模式
2.在虚拟机中添加新的网卡适配器
3.ifconfig查看新的网卡有没有添加进去,关闭防火墙和NetworkManager服务
4.进入/etc/sysconfig/network-scripts/,创建并编辑新加网卡的配置文件
5.重启network服务,这个服务是用来管理网卡配置的
6.ping自己的主机查看是否能ping通
ifconfig
ifconfig命令用于查看linux系统上的网卡详情,在CentOS7中网卡名称是以ens为开头,一般第一个网卡名称为ens33,其中s表示该网卡可以热拔插。inet6是网卡的ipv6地址,ether是这个网卡的mac地址。RX和TX是收发的流量包,一般在网络质量不佳的时候查看来推断问题。lo表示这是本地回环地址,virbr0是虚拟网卡。
[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.60.214 netmask 255.255.255.0 broadcast 192.168.60.255
inet6 fe80::9c8b:d3df:1af5:153 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:29:03:7e txqueuelen 1000 (Ethernet)
RX packets 6930 bytes 6879097 (6.5 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 4959 bytes 487541 (476.1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 4 bytes 348 (348.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 4 bytes 348 (348.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:71:6b:9c txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ifconfig命令的选项
ifconfig:后接网卡名只显示单个网卡的信息,不接网卡名显示全部活动网卡的信息。
ifconfig -a:显示所有活动的,不活动的网卡的信息。
ifconfig ens33 192.168.214.214/24:为ens33临时赋予一个ip地址,ens33和ip地址可随意替换,如果想要永久使用这个ip地址需要进入配置文件进行修改。
ifconfig ens33:0 192.168.215.214/24:创建一个虚拟网卡并赋予ip地址,:代表这是一个虚拟网卡。虚拟网卡一般用于只有一个网卡但是需要拥有多个网段的ip地址的时候。
ifconfig ens33:0 down:禁用ens33:0网卡,可以写成ifdown ens33:0。如果这个网卡的信息没有写进该网卡的配置文件中,down会直接删除,无法再次启动,如果写进配置文件可以通过启动命令重启网卡。
ifconfig ens33:0 up:启动ens33:0网卡,可以写成ifup ens33:0。
网卡配置文件
网卡配置文件位于/etc/sysconfig/network-scripts/目录下,以ifcfg-网卡名的格式显示出来
进入ifcfg-ens33文件中
type:网络模式
bootproto:启动协议,有 none static dhcp 三个启动模式,none相当于不使用dhcp,static要手写ip地址
name:网卡名
uuid:这个是设备的uuid,配置的时候可以不写,会自动识别
device:系统逻辑设备名,name和device最好是一样的
onboot:开机是否自启
ipaddr:添加ip地址
netmask:子网掩码
gateway:网关
dns1:电信的114.114.114.114,谷歌的8.8.8.8
配置新网卡
添加网络
首先在虚拟网络适配器中添加网络,我这里添加了vmnet2网络,最下面的子网ip网段可以可以按照自己喜好进行设置,网卡配置文件中的ip地址必须处在这里的子网网段中,否则连不通。
可以在这里看到添加的vmnet2
为vmnet2设置ip地址
网络的各种模式
桥接模式:和主机共享同一个网络,能上网,同一个网络当中的机器可以互相ping通虚拟机
仅主机模式:只能主机和虚拟机之间互通,或者虚拟机之间互通
net模式:可上网,虚拟机之间可以互通,主机和虚拟机可以互通,外网的机器ping不通我的虚拟机,net和进主机的区别是一个可以上网,一个不能上网,net模式需要配网关,网关在nat设置里查看,而进主机模式不需要配网关。
添加网络适配器
为linux虚拟机添加一块新的网卡,网卡的网络模式必须和虚拟网络适配器中的网络模式一致,否则会出现连不通的问题。
查看网卡没有没添加进去,关闭防火墙和NetworkManager服务
[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.60.214 netmask 255.255.255.0 broadcast 192.168.60.255
inet6 fe80::9c8b:d3df:1af5:153 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:29:03:7e txqueuelen 1000 (Ethernet)
RX packets 8959 bytes 7036426 (6.7 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 5649 bytes 580450 (566.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens37: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::2b75:bf67:6a22:3bae prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:29:03:88 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 13 bytes 1838 (1.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
//可以看到新添加了一个名为ens37的网卡,但是该网卡还没有配置ip地址
关闭防火墙和NetworkManager服务主要防止因为防火墙和NetworkManager服务的原因导致没有ping通。
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl stop NetworkManager
创建并编辑网卡配置文件
进入/etc/sysconfig/network-scripts/目录下,创建ifcfg-ens37文件,对文件进行编辑,由于是对仅主机模式的网卡设置配置文件,文件中必须要有type,bootproto,name,device,onboot,ipaddr,netmask,dns1的内容
TYPE=Ethernet
BOOTPROTO=none
NAME=ens37
DEVICE=ens37
NOBOOT=yes
IPADDR=192.168.214.214
NETMASK=255.255.255.0
DNS1=114.114.114.114
//强调一下=左边必须大写,否则无法识别
重启network服务
本来打算在不重启的情况下更新配置文件,但是出错了,改为重启network服务
[root@localhost network-scripts]# systemctl reload network
Failed to reload network.service: Job type reload is not applicable for unit network.service.
See system logs and 'systemctl status network.service' for details.
可能要等待一段时间,不要着急
[root@localhost network-scripts]# systemctl restart network
用主机ping通该网卡
可以看到成功ping通