MacOS下VM虚拟机固定 CentOS 7 的IP地址(NAT模式)
要在 NAT 模式下为您的虚拟机(在 macOS 上)设置 静态 IP,您需要同时配置虚拟机软件的 NAT 网络设置和虚拟机内(CentOS)的网络设置。以下是详细的步骤:
步骤 1:确认您的虚拟机软件
首先,确定您正在使用的虚拟机软件是 VMware Fusion 还是 VirtualBox。我将针对这两种软件分别提供指导。
对于 VMware Fusion
步骤 2:配置 VMware Fusion 的 NAT 网络
注意: VMware Fusion 默认不提供图形界面来配置 NAT 网络,需要手动编辑配置文件。
2.1 关闭 VMware Fusion
确保 VMware Fusion 及其所有虚拟机均已关闭。
2.2 打开终端并进入配置目录
cd /Library/Preferences/VMware\ Fusion/
2.3 编辑 networking
配置文件
sudo nano networking
输入您的管理员密码。
查找以下内容:
answer VNET_8_DHCP yes
answer VNET_8_HOSTONLY_NETMASK 255.255.255.0
answer VNET_8_HOSTONLY_SUBNET 172.16.8.0
answer VNET_8_NAT yes
将
VNET_8_HOSTONLY_SUBNET
修改为您想要的子网,例如192.168.50.0
:
answer VNET_8_HOSTONLY_SUBNET 192.168.50.0
保存并退出(按
Ctrl + O
,然后按Enter
,再按Ctrl + X
)。
2.4 编辑 NAT 配置文件
sudo nano vmnet8/nat.conf
找到
[host]
部分,设置 NAT 网关 IP 地址:
[host]
# NAT gateway address
ip = 192.168.50.1
确保该 IP 地址与您在前一步中设置的子网匹配。
2.5 编辑 DHCP 配置文件
sudo nano vmnet8/dhcpd.conf
修改 DHCP 配置,使其不分配您想要的静态 IP:
subnet 192.168.50.0 netmask 255.255.255.0 {
range 192.168.50.128 192.168.50.254;
option broadcast-address 192.168.50.255;
option domain-name-servers 8.8.8.8;
option domain-name "localdomain";
default-lease-time 1800;
max-lease-time 7200;
}
可选:如果您希望根据虚拟机的 MAC 地址为其分配固定 IP,可以添加:
subnet 192.168.88.0 netmask 255.255.255.0 {
range 192.168.88.128 192.168.88.254;
option broadcast-address 192.168.88.255;
option domain-name-servers 192.168.88.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.88.2;
option routers 192.168.88.2;
}
host vmnet8 {
hardware ethernet 00:50:56:C0:00:08;
fixed-address 192.168.88.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" #######
## 以下为自定义
host akun {
hardware ethernet 00:50:56:2E:9E:E6;
fixed-address 192.168.88.88;
}
将
00:0C:29:XX:XX:XX
替换为您的虚拟机的 MAC 地址(可在虚拟机设置中找到)。
2.6 重启 VMware 网络服务
sudo /Applications/VMware\ Fusion.app/Contents/Library/vmnet-cli --stop
sudo /Applications/VMware\ Fusion.app/Contents/Library/vmnet-cli --start
步骤 3:在 CentOS 中配置网络
3.1 确定网络接口名称
ip addr
找到您的网络接口名称(例如
eth0
、ens33
)。
3.2 编辑网络配置文件
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
将内容修改为:
TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.50.88
NETMASK=255.255.255.0
GATEWAY=192.168.50.1
DNS1=8.8.8.8
DNS2=8.8.4.4
注意:
IPADDR
:设置为您想要的静态 IP(例如192.168.50.88
)。GATEWAY
:应与 NAT 网关 IP 一致(192.168.50.1
)。
3.3 保存并退出
在
vi
中,按Esc
,输入:wq
,然后按Enter
。
3.4 重启网络服务
sudo systemctl restart network
步骤 4:测试网络连接
4.1 检查 IP 地址
ip addr show ens33
确认网络接口已分配到静态 IP。
4.2 测试与网关的连通性
ping -c 4 192.168.50.1
4.3 测试外网连接
ping -c 4 www.baidu.com
对于 VirtualBox
步骤 2:创建并配置 NAT 网络
2.1 创建 NAT 网络
VBoxManage natnetwork add --netname natnet1 --network "192.168.50.0/24" --enable
2.2 禁用 DHCP(如需手动指定 IP)
VBoxManage natnetwork modify --netname natnet1 --dhcp off
2.3 将虚拟机连接到 NAT 网络
打开 VirtualBox,选择您的虚拟机,进入 设置。
在 网络 选项卡下,选择:
连接方式:NAT 网络
名称:natnet1
步骤 3:在 CentOS 中配置网络
按照 VMware Fusion 的步骤 3 进行配置。
注意事项
IP 地址冲突:确保您设置的子网不会与主机或其他网络发生冲突。
权限:修改配置文件和重启服务需要管理员权限。
防火墙:检查主机和虚拟机的防火墙设置,确保没有阻碍网络通信。
备份:在修改任何配置文件之前,建议备份原始文件。
总结
通过以上步骤,您可以在 NAT 模式下为虚拟机设置静态 IP 地址。这使得虚拟机既能享受 NAT 模式的便利,又能拥有固定的 IP,方便网络通信和服务配置。
如果您在操作过程中遇到问题,或者需要进一步的帮助,请告诉我您使用的虚拟机软件及其版本,我会为您提供更详细的指导。
- 感谢你赐予我前进的力量