我的Mac上跑着ubuntu和windows 8两个虚拟机,三个操作系统同时加持,以解决任何问题。两个虚拟机都是以nat方式上网,Mac相当于一个软路由器。
现需要局域网内其他主机直接访问我的Mac上的虚拟机,比如win8,这就需要进行端口映射(port forwarding),就有点类似于内网穿透,就跟我们路由器上设置端口映射一样,只是现在的普通用户都没有能够从电信运营商(ISP)获得独立的IP地址。
第一步:
我基本都是保持vmware的默认设置,所以默认的vmnet8虚拟网卡可配置端口映射,修改很简单,编辑配置:
sudo vim /Library/Preferences/VMware\ Fusion/vmnet8/nat.conf
找到[incomingtcp],按格式添加映射关系就好,vmware给配置文件加了很好的样例注解:
[incomingtcp]
# Use these with care - anyone can enter into your VM through these...
# The format and example are as follows:
#<external port number> = <VM's IP address>:<VM's port number>
#8080 = 172.16.3.128:80
54321 = 192.168.24.144:54321
[incomingudp]
# UDP port forwarding example
#6000 = 172.16.3.0:6001
第二步:
让配置生效,可以重启vmware,为避免关闭虚拟机,也可以使用下面命令:
sudo /Applications/VMware\ Fusion.app/Contents/Library/vmnet-cli --stop
sudo /Applications/VMware\ Fusion.app/Contents/Library/vmnet-cli --start
就OK了。