在 Windows 机器上如果想使用 Linux 环境,最方便的方式莫过于使用虚拟机,最常用的软件各位肯定也不陌生,大名鼎鼎的 VMware 。
不过这玩意有点稍稍不是那么智能,每次安装 Linux 以后,网络都是不通的,没有一次是可以直接装完就能用的。
我单纯记录一下需要修改的内容:
首先是先看下当前的网卡配置,因为我安装的是 Centos mini 版的系统,支持的命令有限,只能使用 ip addr
的命令:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:fd:6b:a2 brd ff:ff:ff:ff:ff:ff
inet 192.168.128.100/24 brd 192.168.128.255 scope global noprefixroute ens32
valid_lft forever preferred_lft forever
inet6 fe80::e1c0:881a:5ae3:f915/64 scope link noprefixroute
valid_lft forever preferred_lft forever
可以看到两个网卡配置,一个是 lo 的本地回环网络,这个我们无需关心,还有一个 ens32 的网络配置,我们需要改的是这个(我这里是已经配置好的网卡配置,新装的机器没有配置过网络应该显示会有不一样)。
接下来修改 Linux 的网卡配置:
因为上面我们看到的是 ens32 网卡,所以 ens32 的网卡的配置地址为 /etc/sysconfig/network-scripts/ifcfg-ens32
,有的系统可能不是叫 ens32 ,可能是其他名称。
打开看一下 ens32 的初始配置,如下:
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
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="6e1b5eaf-21ab-486b-8378-3f0fd92bf969"
DEVICE="ens32"
ONBOOT="yes"
这里有两个配置是需要注意的 BOOTPROTO 和 ONBOOT 。
BOOTPROTO 是网络类型,可能的选项为 static , dhcp 或 bootp 分别对应静态指定的 ip 地址,通过 dhcp 协议获得的 ip 地址,通过 bootp 协议获得的 ip 地址。
这里修改成 static ,我当然希望使用的是静态 IP ,不然每次开机使用的 ssh 链接工具都要换 IP ,太麻烦了。
ONBOOT 需要改成 yes ,这个意思是是否系统启动是自动激活网卡,一般设置为 yes ,否则系统启动后需要手动输入命令启动网卡。
接下来,需要添加下面的信息:
IPADDR=192.168.128.100
GATEWAY=192.168.128.2
NETMASK=255.255.255.0
先说一下, NETMASK 是子网掩码,这个默认填 255.255.255.0 就可以了。
GATEWAY 是网关地址,这个需要在 VMware 的 NAT 网络配置中找,不是可以随便填,否则网关不同网络是不会通的。
IPADDR 这个是 IPV4 的地址,也就是我们最终使用的 IP 地址,但是不能随便写,前三段需要和网关维持一致,最后一个随便写一个不存在的即可。
接下来重启一下网络 systemctl restart network
。
然后尝试 ping 一下百度:
[root@localhost ~]# ping www.baidu.com
ping: www.baidu.com: Name or service not known
这个报错看起来是域名没有解析,我换个查号台的 IP 来 PING 一下试试看:
[root@localhost ~]# ping 114.114.114.114
PING 114.114.114.114 (114.114.114.114) 56(84) bytes of data.
64 bytes from 114.114.114.114: icmp_seq=1 ttl=128 time=55.3 ms
64 bytes from 114.114.114.114: icmp_seq=2 ttl=128 time=80.6 ms
64 bytes from 114.114.114.114: icmp_seq=3 ttl=128 time=70.2 ms
看来网络现在已经通了,域名解析十有八九是 DNS 的问题,修改下 DNS ,vim /etc/resolv.conf
:
# Generated by NetworkManager
nameserver 114.114.114.114
nameserver 202.96.134.133
第一个是查号台的 DNS ,第二个 202.96.134.133 是电信的 DNS ,因为我的网络是使用电信的网络,所以我这里优先选用了电信的 DNS 。
然后再重启一下网络 systemctl restart network
,再次尝试 PING 百度的域名,我这里已经 PING 通了,至此, Centos 7 的网络配置就结束了,之前每次装虚机,都是在网上到处搜,瞎改配置,最后不知道怎么网络就通了,这次特地整理一下,留着以后备查。