在 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 的網路配置就結束了,之前每次裝虛機,都是在網上到處搜,瞎改配置,最後不知道怎麼網路就通了,這次特地整理一下,留著以後備查。