最近折腾虚拟机,由于是在linux下进行的,而相关资料比较少,所以遇到了一些问题。
一个就是配置vmware workstation的NAT设置。因为一般来说,NAT可以共享主机的ip,从而能以主机身份访问互联网,不需要单独为虚拟机配置IP了,另外,vmware workstation中的NAT设置里是可以进行端口转发的,所以添加了端口映射后,是很容易通过宿主机的某个端口访问到虚拟机的资源。我觉得是非常实用便捷的。所以配置虚拟机首选NAT方式。我是在linux宿主机上配置一台linux虚拟机。
相关路径
一个是宿主机上vmware workstation的NAT配置文件路径,一般来说位于:
1 |
|
另外一个是linux中的网络地址配置文件路径,一般位于:
1 |
|
配置虚拟机IP
这里,首先要配置虚拟机的IP地址。当然,配置之前要知道NAT的网关和子网掩码,这个vmware自带了一个工具:vmware-netcfg,位于vmware的安装文件夹下。默认应该在/usr/lib/vmware/bin/vmware-netcfg。使用超级用户权限打开:
1 |
|
可以看到默认NAT配置的虚拟网卡为vmnet8,这里有它的网关等信息,由于我希望使用静态的ip配置,所以我取消了DHCP的自动分配。当然,这些都是可以改动的。
知道了这些信息以后,就可以配置虚拟机中的ip地址了,对应文件位于
1 |
|
默认的前两行是回环地址的配置,一般不用更改,对于下面的配置静态的ip,指定网关,子网掩码,以及dns的名字服务器。例如我的配置为
1 2 3 4 5 6 7 8 9 10 11 |
|
这样配置完毕,重启虚拟机的网络服务
1 |
|
这时候测试一下,应该可以访问网络了。
配置NAT端口映射
虚拟机可以访问外网了,那么接下来需要外网访问虚拟机的资源。比如我在虚拟机架设了一个HTTP服务器,位于虚拟机的80端口,如果我想映射到主机的100080端口。这时候需要直接编辑vmware的NAT配置文件了。上面的那个小工具已经不够用了。
1 |
|
打开配置文件,可以看到一个配置文件。当然,这个文件的其他选项也可以根据情况编辑,端口映射的主要在
1 2 3 4 5 6 7 8 9 10 11 12 |
|
注释中已经有示例了,比如我想映射的虚拟机HTTP端口到主机的10080端口,由于HTTP协议是基于TCP协议的,所以在incomingtcp中添加一行:
1 |
|
编辑完毕后,保存并重启vmware服务:
1 |
|
到此就配置完毕了。如果虚拟机中80端口的服务已经开启,访问localhost:10080,可以看到对应虚拟机的资源内容