由于电脑使用了 Surge 并开启了 Enhanced Mode 来做全局透明代理,现在希望 VMware Fusion 的虚拟机也自动使用这个代理。其实打开 Enhanced Mode 之后无需配置虚拟机即可直接享受透明代理的。但是这样在 Surge Dashboard 中看到的所有连接都是来源于 vmnet-natd 这个进程,十分不方便监控。
为此,可以手动在虚拟机中修改网关和 DNS 服务器来使 Surge 能够分辨出流量来自哪台虚拟机。但这在我的场景下还是有点麻烦,因为需要不停的重装虚拟机等操作,每一次都需要重新配置。本文将介绍如何修改 VMware Fusion 的 vmnet-dhcpd 配置文件来使虚拟机自动获取自定义的网关和 DNS 服务器。
Modify dhcpd.conf
此处假定需要修改的是默认 NAT 虚拟网络的配置,即 vmnet8 其它自定义网络同理(桥接除外)。配置文件位于 /Library/Preferences/VMware Fusion/vmnet8/dhcpd.conf ,里面的内容主体如下:
###### VMNET DHCP Configuration. Start of "DO NOT MODIFY SECTION" #####
# ...
# Written at: 02/22/2020 01:40:51
allow unknown-clients;
default-lease-time 1800; # default is 30 minutes
max-lease-time 7200; # default is 2 hours
subnet 172.16.69.0 netmask 255.255.255.0 {
...
option domain-name-servers 172.16.69.2;
...
option routers 172.16.69.2;
}
...
####### VMNET DHCP Configuration. End of "DO NOT MODIFY SECTION" #######
注意其中被 DO NOT MODIFY SECTION 包起来的部分,这一部分信息是根据 /Library/Preferences/VMware Fusion/networking 自动生成的,如子网网段等配置,而我需要修改的是其中 domain-name-servers 和 routers 两个 networking 文件中无法配置的选项。因此,我们需要在这个 section 之后复制一段 subnet 的配置,将其中的两个选项改成自定义的值即可:
###### VMNET DHCP Configuration. Start of "DO NOT MODIFY SECTION" #####
# ...
# Written at: 02/22/2020 01:40:51
allow unknown-clients;
default-lease-time 1800; # default is 30 minutes
max-lease-time 7200; # default is 2 hours
subnet 172.16.69.0 netmask 255.255.255.0 {
...
option domain-name-servers 172.16.69.2;
...
option routers 172.16.69.2;
}
...
####### VMNET DHCP Configuration. End of "DO NOT MODIFY SECTION" #######
subnet 172.16.69.0 netmask 255.255.255.0 {
...
option domain-name-servers 198.18.0.2;
...
option routers 172.16.69.1;
}
这样一来,在 VMware Fusion 重启之后改配置也将得到保留,且会覆盖其自动生成的 subnet 配置。注意若之后通过任何方式修改了 vmnet8 的 DHCP 子网网段,此处也需要手动修改。
Reconfigure Virtual Network
接下来需要重启 vmnet-dhcpd 使配置生效,这需要借助 VMware Fusion 自带的 vmnet-cli 工具。如果 Fusion 是通过 brew cask 安装的 ,那么它已经被软链接到 PATH 之中了;否则可以在 /Applications/VMware Fusion.app/Contents/Library/vmnet-cli 找到它。
依次执行如下命令即可:
# alias vmnet-cli='/Applications/VMware Fusion.app/Contents/Library/vmnet-cli'
sudo vmnet-cli --stop
sudo vmnet-cli --configure
sudo vmnet-cli --start
至此,在虚拟机中禁用再开启相应网卡,即可自动获取新的配置了。
ppt.cc/fVjECx ppt.cc/fEnHsx ppt.cc/fRZTnx ppt.cc/fSZ3cx ppt.cc/fLOuCx ppt.cc/fE9Nux ppt.cc/fL5Kyx ppt.cc/fIr1ax ppt.cc/f71Yqx tecmint.com linuxcool.com linux.die.net linux.it.net.cn ostechnix.com unix.com ubuntugeek.com runoob.com man.linuxde.net v.gd/4A2G5b v.gd/VBg0IE v.gd/kVkm7n v.gd/jCKP1G linuxprobe.com linuxtechi.com howtoforge.com linuxstory.org systutorials.com ghacks.net linuxopsys.com v.gd/2P9wTx v.gd/FtfpqE v.gd/eMfHsm v.gd/Ub7mqv v.gd/RReVk0 v.gd/vS3uTI v.gd/4Zxmba v.gd/1BnFph
Pages
▼
No comments:
Post a Comment