一、背景
本文簡(jiǎn)單記錄一下,在 mac arm 架構(gòu)下使用 Vmware Fusion 虛擬機(jī)下 Centos7 下如何配置 靜態(tài)ip 地址。如果使用 dhcp 靜態(tài) ip 地址的動(dòng)態(tài)分配,那么可能 ip 地址會(huì)發(fā)生變化,因此需要使用靜態(tài) ip 地址。
二、實(shí)現(xiàn)功能
- 虛擬機(jī)內(nèi)部使用靜態(tài) ip 地址。
- 虛擬機(jī)可以訪問(wèn)到外部網(wǎng)路。
三、實(shí)現(xiàn)步驟
1、設(shè)置虛擬機(jī)的網(wǎng)絡(luò)為 nat

2、修改虛擬機(jī)的網(wǎng)絡(luò)適配器網(wǎng)絡(luò)

3、配置靜態(tài) ip
配置靜態(tài) ip 我們知道一般需要配置如下 3 個(gè)參數(shù)。
ip 地址:IPADDR、子網(wǎng)掩碼:NETMASK 和網(wǎng)關(guān):GATEWAY
3.1 獲取子網(wǎng)掩碼
在 mac 電腦上執(zhí)行如下命令
cat /Library/Preferences/VMware\ Fusion/vmnet8/nat.conf | grep netmask
netmask = 255.255.255.0
可以看到獲取到的子網(wǎng)掩碼是 255.255.255.0
3.2 獲取網(wǎng)關(guān)
在 mac 電腦上執(zhí)行如下命令
cat /Library/Preferences/VMware\ Fusion/vmnet8/nat.conf | grep "ip =" -B 1
# NAT gateway address
ip = 192.168.121.2
可以看到獲取到的網(wǎng)關(guān)是 192.168.121.2
3.3 配置 Centos 的靜態(tài) ip
在 虛擬機(jī)內(nèi) 執(zhí)行如下命令
vim /etc/sysconfig/network-scripts/ifcfg-ens160
ifcfg-ens160 這個(gè)值是如何來(lái)的?
可以在虛擬機(jī)內(nèi)執(zhí)行 ip addr 命令來(lái)獲取。
具體配置如下:
BOOTPROTO=static # 配置靜態(tài) ip
ONBOOT=yes # 是否激活網(wǎng)卡
IPADDR=192.168.121.136 # 配置的 ip 地址
NETMASK=255.255.255.0 # 子網(wǎng)掩碼
GATEWAY=192.168.121.2 # 網(wǎng)關(guān)
DNS1=8.8.8.8 # 配置 dns 地址
3.4 重啟網(wǎng)絡(luò)
systemctl restart network
3.5 查看 ip 是否生效
[root@appbasic ~]# 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: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether ee:fc:d8:1c:7d:5d brd ff:ff:ff:ff:ff:ff
inet 192.168.121.136/24 brd 192.168.121.255 scope global noprefixroute ens160
valid_lft forever preferred_lft forever
inet6 fe80::ecfc:d8ff:fe1c:7d5d/64 scope link noprefixroute
valid_lft forever preferred_lft forever
inet 192.168.121.136/24 brd 192.168.121.255 scope global noprefixroute ens160 可以看到我們的 ip 地址配置生效了。
3.6 判斷是否可以訪問(wèn)外網(wǎng)
[root@appbasic ~]# ping www.baidu.comPING www.a.shifen.com (14.215.177.38) 56(84) bytes of data.64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=1 ttl=128 time=34.4 ms64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=3 ttl=128 time=30.7 ms64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=4 ttl=128 time=30.2 ms64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=5 ttl=128 time=39.7 ms64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=6 ttl=128 time=36.6 ms^C--- www.a.shifen.com ping statistics ---6 packets transmitted, 5 received, 16% packet loss, time 5080msrtt min/avg/max/mdev = 30.244/34.363/39.793/3.600 ms[root@appbasic ~]#
可以看到可以正常的訪問(wèn)到外網(wǎng)。
4、訪問(wèn) ssh 慢
配置了靜態(tài) ip 地址后,可能通過(guò) ssh 連接到虛擬機(jī)比較慢,查閱資料 發(fā)現(xiàn)可以通過(guò)如下方案解決。
將 虛擬機(jī) 的 /etc/ssh/sshd_config 中到 UseDNS 這個(gè)值修改成 no 就可以了。
--------------------------------------------------------------------------------------------------------------
個(gè)人整理后的命令:
cd /etc/sysconfig/network-scripts
vi ifcfg-ens160
替換為以下內(nèi)容,UUID保留本機(jī)的,IP Gateway自定義
#網(wǎng)卡配置:
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
NAME=ens160
UUID=49ecdf6e-3e33-4d72-a66a-7a995fb5c61f
DEVICE=ens160
ONBOOT=yes
IPADDR=192.168.180.134
NETMASK=255.255.255.0
GATEWAY=192.168.180.2
DNS1=192.168.10.1
DNS1=8.8.8.8
重啟網(wǎng)絡(luò)
systemctl restart network