一、背景
本文简单记录一下,在 mac arm
架构下使用 Vmware Fusion
虚拟机下 Centos7
下如何配置 静态ip
地址。如果使用 dhcp
静态 ip 地址的动态分配,那么可能 ip 地址会发生变化,因此需要使用静态 ip 地址。
二、实现功能
- 虚拟机内部使用静态 ip 地址。
- 虚拟机可以访问到外部网路。
三、实现步骤
1、设置虚拟机的网络为 nat
2、修改虚拟机的网络适配器网络
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
ONBOOT=yes # 是否激活网卡
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
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
就可以了。