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

一、背景

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

二、实现功能

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

三、实现步骤

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

image.png

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

image.png

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.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 ~]#

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

4、访问 ssh 慢

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

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

--------------------------------------------------------------------------------------------------------------

个人整理后的命令:

cd /etc/sysconfig/network-scripts
vi ifcfg-ens160

替换为以下内容,UUID保留本机的,IP Gateway自定义

#网卡配置:
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

重启网络

systemctl restart network
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容