记得在我刚接触虚拟机的时候,什么都不懂。最开始初学的时候,用的图形化界面学习Linux还好,连网比较轻松,可是在最小化的时候,我的虚拟机总是出现不能上网的情况,特别是一开始就弄的两个网卡,我就更不会了,导致在让它能够上网这块,碰了很多灰,现在我把我遇到的所有情况的解决方式分享给大家。
不想听博主唠叨的朋友们,想知道怎么连网的话,大家可以直接跳到最后完整实操过程,看看具体怎么做
1.网络适配器
1.1连网模式
首先要知道能上网的就两种模式,侨接(自定义里面的VMnet0)和NAT模式(自定义里面的VMnet8(NAT)作为外网),记住仅主机模式(自定义里面的VMnet1(仅主机模式))是作为内网,内网是不能上网的,不能上网不能上网!!!!一定要记住,当然不能上网也是可以远程连接虚拟机的。
1.2一定要做安装前操作
我们在虚拟机安装前,就应该把那些网络适配器的类型选择好,不管是桥接还是NAT模式,还是两个网卡(VMnet1和VMnet8),在安装好虚拟机后,如果想更改网络适配器的网络链接方式,或者加网卡之类的,改了后就算是虚拟机重启过后(在目录/etc/sysconfig/network-scripts/下面可以查看)会发现和原来的一样,没有变化。所以如果要装的话先想好,不要想着后面来加。
这里随便多说一句,目录/etc/sysconfig/network-scripts/下面怎么看
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# ls
ifcfg-ens32 ifdown-isdn ifup ifup-plusb ifup-wireless
ifcfg-ens33 ifdown-post ifup-aliases ifup-post init.ipv6-global
ifcfg-lo ifdown-ppp ifup-bnep ifup-ppp network-functions
ifdown ifdown-routes ifup-eth ifup-routes network-functions-ipv6
ifdown-bnep ifdown-sit ifup-ippp ifup-sit
ifdown-eth ifdown-Team ifup-ipv6 ifup-Team
ifdown-ippp ifdown-TeamPort ifup-isdn ifup-TeamPort
ifdown-ipv6 ifdown-tunnel ifup-plip ifup-tunnel
我们会发现该目录下面有ifcfg-ens32和ifcfg-ens33两个文件,这个就是我们的网络适配器文件(注意该名字不唯一,一般自己电脑虚拟机上面做实验,大部分就是ifcfg-*,但有的确实会有一些奇奇怪怪的网卡名,这是正常的),上面那个32是网络适配器1的,下面那个33是网络适配器2的文件
1.3分清自己的内外网卡
要注意哪一块是内网那一块是外网,是根据自己安装前定的,并不是一直不变的。因为在博主安装前就干过下面这种事情,网络适配器选择v8,网络适配器2选择v1。
这个就出现一种什么情况呢,就是因为我不懂,还是按照第一个网卡配置文件写内网配置,第二个网卡文件写外网配置,这就变成了什么呢,内网写外网配置,外网写内网配置,内网又不能上网,总之就变成了,反正就是上不了网。
(下面这张图是当时错误情况,也不能算错误,就是最好别学我一样配,建议两网卡一般原本自带适配器选择v1作为内网,添加的适配器2作为外网)
可能有的人会问,我已经这样装了怎么办难道只能把虚拟机删了重新来?其实不用的,看准哪一个网卡是内网,哪一个网卡是外网就好了,写对应文件内容,别和我一样,明明这个自己选的不是内网还写内网,具体怎么写接下来会具体告诉大家。
2.配置文件
博主这里两个网卡采用的指定ip的形式,然后遇到的问题比较多,主要以下几种(这里先把我遇到的情况,觉得值得注意的点都列出来,具体完整怎么写,会在后面完整实操过程中写出来)
2.1网关(GATEWAY)
哪一个是外网哪一个加网关,内网配置文件不要写网关,不要写!!!不然可能短暂性上网,就比如今天能用第二天就上不了网络(远程还是可以的)。
在博主遇到的实际情况就是(此示例是错误的,大家不要跟着学)
[root@localhost network-scripts]# vi ifcfg-ens32
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=ens32
UUID=6b975a35-5c77-4fe7-9697-c2f52244b79e
DEVICE=ens32
ONBOOT=yes
IPADDR=192.168.100.101
PERFIX=24
GATEWAY=192.168.100.1 #兄弟们,这个是错的,别写,删掉
[root@localhost network-scripts]# vi ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE