mac上使用Vmware Fusion虚拟机配置Centos的静态ip

一、背景

本文简单记录一下,在mac arm 架构下使用 Vmware Fusion虚拟机下Centos7下如何配置静态ip地址。如果使用dhcp静态ip地址的动态分配,那么可能ip地址会发生变化,因此需要使用静态ip地址。

二、实现功能

  1. 虚拟机内部使用静态ip地址。
  2. 虚拟机可以访问到外部网络。

三、实现步骤

1、设置虚拟机的网络为nat

image

2、修改虚拟机的网络适配器网络

image

3、配置静态ip

配置静态ip我们知道一般需要配置如下3个参数。
ip地址:IPADDR、子网掩码:NETMASK和网关:GATEWAY

3.1 获取子网掩码

mac电脑上执行如下命令

➜  ~ cat /Library/Preferences/VMware\ Fusion/vmnet8/nat.conf | grep netmask
netmask = 255.255.255.0

可以看到获取到的子网掩码是255.255.255.0

3.2 获取网关

mac电脑上执行如下命令

➜  ~ cat /Library/Preferences/VMware\ Fusion/vmnet8/nat.conf | grep "ip ="  -B 1
# NAT gateway address
ip = 192.168.121.2

可以看到获取到的网关是192.168.121.2

3.3 配置Centos的静态ip

虚拟机内执行如下命令

vim /etc/sysconfig/network-scripts/ifcfg-ens160

ifcfg-ens160这个值是如何来的?
可以在虚拟机内执行ip addr命令来获取。

具体配置如下:

BOOTPROTO=static # 配置静态ip
IPADDR=192.168.121.136 # 配置的ip地址
NETMASK=255.255.255.0 # 子网掩码
GATEWAY=192.168.121.2 # 网关
DNS1=8.8.8.8 # 配置dns地址

3.4 重启网络

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
[root@appbasic ~]#

inet 192.168.121.136/24 brd 192.168.121.255 scope global noprefixroute ens160可以看到我们的ip地址配置生效了。

3.6 判断是否可以访问外网

[root@appbasic ~]# ping www.baidu.com
PING 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 ms
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=3 ttl=128 time=30.7 ms
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=4 ttl=128 time=30.2 ms
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=5 ttl=128 time=39.7 ms
64 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 5080ms
rtt min/avg/max/mdev = 30.244/34.363/39.793/3.600 ms
[root@appbasic ~]#

可以看到可以正常的访问到外网。

4、访问ssh慢

配置了静态ip地址后,可能通过ssh连接到虚拟机比较慢,查阅资料发现可以通过如下方案解决。

虚拟机/etc/ssh/sshd_config中到UseDNS这个值修改成no就可以了。