目录
- 一. 前言
- 二. Mac OSX下使用VMware Fusion 配置静态IP
- 2.1 了解静态IP如何划分基础知识
- 2.2 Centos7 安装操作系统时图形界面配置静态IP
- 2.3 Centos7安装操作系统后修改动态IP为静态IP
- 三参考文献
一. 前言
Mac OSX 下使用VMware Fusion 创建的虚拟机,默认是通过DHCP动态分配的IP.
这样有一个缺点,每次虚拟机重新启动,IP都会变,对于我们搭建K8S集群或中间件来说是不友好的。
那么如何Mac OSX 下使用VMware Fusion 创建的虚拟机 使用静态IP呢?
网上文章很多很乱,或有的只写过程不写为什么这么做。
这篇文章我们就好好分享下Mac OSX下如何使用VMware Fusion 给虚拟机 配置静态IP.
二. Mac OSX下使用VMware Fusion 配置静态IP
2.1 了解静态IP如何划分基础知识
上过大学计算机专业课的同学应该知道, IP 地址一共分为三类:
- A类保留地址:10.0.0.0 ~ 10.255.255.255
- B类保留地址:172.16.0.0 ~ 172.31.255.255
- C类保留地址: 192.168.0.0 ~192.168.255.255
- 其中 A类和B类一般用于公网IP, C 类一般用于本地局域网。
- 避免和公网IP冲突,影响访问一些服务,这里我们本地局域网内的虚拟机一般使用C类地址。
2.2 Centos7 安装操作系统时图形界面配置静态IP
第一种方式,可以在安装操作系统的时候就设置好静态分配IP
Method默认为Automactic(DHCP),意为DHCP 自动分配IP
这里我们需要修改下选项, Method: Manual, 意为手动配置的意思
然后点击Add 添加一行配置,那么Address ,Netmask,Gateway,DNS servers 怎么填写呢?
换句话说,我怎么知道该填写什么内容呢?
VMware Fusion 的相关配置文件默认位于 /Library/Preferences/VMware Fusion/vmnet8
目录下。
打开 Mac OSX 的Shell 环境中 进入/Library/Preferences/VMware Fusion/vmnet8
目录下
cd '/Library/Preferences/VMware Fusion/vmnet8'
执行查看当前目录下文件列表
ls
执行成功我们可以看到如下几个文件:
dhcpd.conf dhcpd.conf.bak nat.conf nat.conf.bak nat.mac
- nat.conf 配置了网关和子网掩码等信息
- dhcpd.conf 配置了DHCP自动分配IP的范围等信息。
查看nat.conf 内容,可以得到Netmask,Gateway 的地址信息。
cat nat.conf
打开后可以看到nat.conf内容如下:
# VMware NAT configuration file
# Manual editing of this file is not recommended. Using UI is preferred.
[host]
# Use MacOS network virtualization API
useMacosVmnetVirtApi = 1
# NAT gateway address
ip = 192.168.159.2
netmask = 255.255.255.0
# VMnet device if not specified on command line
device = vmnet8
注意:
- 这里没贴完整,我们只看这个文件中的关键信息即可,上图也是参考这个信息进行配置。
- 只查看这个文件不要修改
NAT gateway address
:192.168.159.2Netmask
: 255.255.255.0
然后查看 dhcpd.conf 内容
cat dhcpd.conf
打开内容如下所示:
# Written at: 04/01/2022 13:10:40
allow unknown-clients;
default-lease-time 1800; # default is 30 minutes
max-lease-time 7200; # default is 2 hours
subnet 192.168.159.0 netmask 255.255.255.0 {
range 192.168.159.128 192.168.159.254;
option broadcast-address 192.168.159.255;
option domain-name-servers 192.168.159.2;
option domain-name localdomain;
default-lease-time 1800; # default is 30 minutes
max-lease-time 7200; # default is 2 hours
option netbios-name-servers 192.168.159.2;
option routers 192.168.159.2;
}
host vmnet8 {
hardware ethernet 00:50:56:C0:00:08;
fixed-address 192.168.159.1;
option domain-name-servers 0.0.0.0;
option domain-name "";
option routers 0.0.0.0;
}
####### VMNET DHCP Configuration. End of "DO NOT MODIFY SECTION" #######
注意:
- 这个文件只查看不要修改。
range
就是可选的静态ip的范围,192.168.159.128
至192.168.159.254
option broadcast-address
是广播地址:192.168.159.255
option domain-name-servers
就是DNS地址192.168.159.2
- DNS server 就配置
192.168.159.2
即可。hardware ethernet
表示 Mac 地址,fixed-address
表示 IP 地址
修改成功后如下所示:
2.3 Centos7安装操作系统后修改动态IP为静态IP
前面我们说到,可以通过图形用户界面配置静态IP。
但如果我已经安装完操作系统了, Centos7 服务器一般又没图形用户界面,那么如何修改这个配置呢?
- 首选我们需要查看下当前系统Ip V4 IP 地址
ip addr
执行成功可以看到类似如下的内容:
- 我们可以看到当前虚拟机用的是
ens33
这个网络适配器- 当前机器动态分配的IP V4是
192.168.159.202
,每次重启虚拟机这个ip可能都会变化。- 除此之外,还有
docker0
等其他网络适配器
如果现在我们将这个机器的ip 强行设置成静态IP 192.168.159.166
那么该怎么做呢?
首选,我们需要进入虚拟机网络配置脚本目录
cd /etc/sysconfig/network-scripts
然后查看下当前文件夹下都有什么文件夹或文件
ifcfg-ens33 ifdown-ippp ifdown-routes ifup ifup-ipv6 ifup-ppp ifup-tunnel
ifcfg-lo ifdown-ipv6 ifdown-sit ifup-aliases ifup-isdn ifup-routes ifup-wireless
ifdown ifdown-isdn ifdown-Team ifup-bnep ifup-plip ifup-sit init.ipv6-global
ifdown-bnep ifdown-post ifdown-TeamPort ifup-eth ifup-plusb ifup-Team network-functions
ifdown-eth ifdown-ppp ifdown-tunnel ifup-ippp ifup-post ifup-TeamPort network-functions-ipv6
- 我们可以看到有一个叫做
ifcfg-ens33
的文件,这个文件就是网络适配器配置文件。
还记得刚才我们查看IP 看到的那个ens33
网络适配器么?
我们现在查看下ifcfg-ens33
这个网络适配器配置文件的内容:
cat ifcfg-ens33
执行成功后会看到类似的配置:
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="ens33"
UUID="3256e277-b5ed-4800-9550-92cf4805efd1"
DEVICE="ens33"
ONBOOT="yes"
- 我们可以看到这里BOOTPROTO 属性配置的是dhcp类型,意思就是通过DHCP动态分配IP
那么应该如何修改配置为静态IP呢?
vi ifcfg-ens33
修改后配置内容如下:
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
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="ens33"
UUID="3256e277-b5ed-4800-9550-92cf4805efd1"
DEVICE="ens33"
ONBOOT="yes"
# 追加内容
IPADDR="192.168.159.166"
PREFIX="24"
GATEWAY="192.168.159.2"
DNS1="192.168.159.2"
IPV6_PRIVACY="no"
- 首选需要修改BOOTPROTO 的属性"dhcp" 修改为"none"
- 然后追加如下几行配置。
重启网络或重启系统都可以
systemctl restart network
三参考文献
- Vmware Fusion 12 pro配置固定IP–MacOS
- Mac VMware Fusion CentOS7配置静态IP
- mac上使用Vmware Fusion虚拟机配置Centos的静态ip