我们在母机(mac)中通过vmware虚拟机软件来创建centos7集群。
母机(mac)的ip见下图,为了给虚拟机集群分配充足且固定的ip,我们对虚拟机们采用NAT网络连接方式,关于集群网络配置的目标:

  • subnet: 192.168.10.0
  • mask: 255.255.255.0
  • host vmnet8 : 192.168.10.1
  • 集群们固定ip : 192.168.10.x

image.png

配置虚拟网路适配器

vmnet8是vmware软件自带的虚拟网络适配器,也可以新建一个虚拟网络适配器,操作类似。
vmnet8等虚拟网络适配器的配置文件在/Library/Preferences/VMware Fusion中。
cd /Library/Preferences/VMware\ Fusion命令来进入。
image.png

networking文件

VNET_8前缀即vmnet8虚拟网络适配器相关配置项

  1. VERSION=1,0
  2. answer VNET_1_DHCP yes
  3. answer VNET_1_DHCP_CFG_HASH D283645584578A33C4F6C8452017977861923033
  4. answer VNET_1_HOSTONLY_NETMASK 255.255.255.0
  5. answer VNET_1_HOSTONLY_SUBNET 172.16.49.0
  6. answer VNET_1_HOSTONLY_UUID F9497F61-132F-48C2-85BF-A71060DD143B
  7. answer VNET_1_VIRTUAL_ADAPTER yes
  8. answer VNET_2_DHCP no
  9. answer VNET_2_HOSTONLY_UUID 9EE966EF-0CAE-4E79-BAE3-39C0A0E40788
  10. answer VNET_2_NAT no
  11. answer VNET_2_VIRTUAL_ADAPTER no
  12. answer VNET_8_DHCP yes
  13. answer VNET_8_DHCP_CFG_HASH 2E5070AF946E5D270E59889581ADF996C24E50A8
  14. answer VNET_8_HOSTONLY_NETMASK 255.255.255.0 # 修改:指定mask
  15. answer VNET_8_HOSTONLY_SUBNET 192.168.10.0 # 修改:指定子网
  16. answer VNET_8_HOSTONLY_UUID 19EF991F-DD5B-40C7-BFED-C1B3F0DF3558
  17. answer VNET_8_NAT yes
  18. answer VNET_8_VIRTUAL_ADAPTER yes

vmnet8/nat.conf 文件

image.png

  1. # VMware NAT configuration file
  2. # Manual editing of this file is not recommended. Using UI is preferred.
  3. [host]
  4. # Use MacOS network virtualization API
  5. useMacosVmnetVirtApi = 1
  6. # NAT gateway address
  7. ip = 192.168.10.2 # 修改:配置网关ip
  8. netmask = 255.255.255.0 # 修改:保持和netwoking文件中的netmask一致
  9. # VMnet device if not specified on command line
  10. device = vmnet8
  11. # Allow PORT/EPRT FTP commands (they need incoming TCP stream ...)
  12. activeFTP = 1
  13. # Allows the source to have any OUI. Turn this on if you change the OUI
  14. # in the MAC address of your virtual machines.
  15. allowAnyOUI = 1
  • dhcpd.conf (因为采用固定ip,所以该文件可忽略,但如果需要dhcp,就配置它)

    从这个dhcp文件就可以看出哪些配置项是重要的。

  1. (base) vmnet8 sudo vim dhcpd.conf
  2. # Written at: 01/06/2022 13:10:53
  3. allow unknown-clients;
  4. default-lease-time 1800; # default is 30 minutes
  5. max-lease-time 7200; # default is 2 hours
  6. subnet 192.168.10.0 netmask 255.255.255.0 { # 修改:保持先前指定的一致
  7. range 192.168.10.128 192.168.10.254;
  8. option broadcast-address 192.168.10.255;
  9. option domain-name-servers 192.168.10.2;
  10. option domain-name localdomain;
  11. default-lease-time 1800; # default is 30 minutes
  12. max-lease-time 7200; # default is 2 hours
  13. option netbios-name-servers 192.168.10.2;
  14. option routers 192.168.10.2;
  15. }
  16. host vmnet8 {
  17. hardware ethernet 00:50:56:C0:00:08;
  18. fixed-address 192.168.10.1;
  19. option domain-name-servers 0.0.0.0;
  20. option domain-name "";
  21. option routers 0.0.0.0;
  22. }
  23. ####### VMNET DHCP Configuration. End of "DO NOT MODIFY SECTION" #######

nat.mac 00:50:56:F6:64:CE

  • 重启vmware软件或重启电脑来更新虚拟网络适配器。
  • netstat -nr命令

问题一、
虚拟机不能上网:
这个先确定是不是dns的问题,是dns的问题很好解决,不是dns的话就要看网关以及网卡vmnet8是否生效,mac下可以通过ifconfig命令查看vmnet8网卡是否正常
问题二、
虚拟机可以上网,但是mac不能ping通内部的虚拟机
这个还是vmnet8设置有问题,需要查看/Library/Preferences/VMware Fusion/networking文件是否正确