VMware 安裝 Centos 7 虛擬機器配置網路

極客挖掘機發表於2021-08-12

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

相關文章