最近折腾虚拟机,由于是在linux下进行的,而相关资料比较少,所以遇到了一些问题。

一个就是配置vmware workstation的NAT设置。因为一般来说,NAT可以共享主机的ip,从而能以主机身份访问互联网,不需要单独为虚拟机配置IP了,另外,vmware workstation中的NAT设置里是可以进行端口转发的,所以添加了端口映射后,是很容易通过宿主机的某个端口访问到虚拟机的资源。我觉得是非常实用便捷的。所以配置虚拟机首选NAT方式。我是在linux宿主机上配置一台linux虚拟机。

相关路径

一个是宿主机上vmware workstation的NAT配置文件路径,一般来说位于:

1
/etc/vmware/vmnet8/nat/nat.conf

另外一个是linux中的网络地址配置文件路径,一般位于:

1
/etc/network/interfaces

配置虚拟机IP

这里,首先要配置虚拟机的IP地址。当然,配置之前要知道NAT的网关和子网掩码,这个vmware自带了一个工具:vmware-netcfg,位于vmware的安装文件夹下。默认应该在/usr/lib/vmware/bin/vmware-netcfg。使用超级用户权限打开:

1
sudo /usr/lib/vmware/bin/vmware-netcfg


可以看到默认NAT配置的虚拟网卡为vmnet8,这里有它的网关等信息,由于我希望使用静态的ip配置,所以我取消了DHCP的自动分配。当然,这些都是可以改动的。

知道了这些信息以后,就可以配置虚拟机中的ip地址了,对应文件位于

1
/etc/network/interfaces

默认的前两行是回环地址的配置,一般不用更改,对于下面的配置静态的ip,指定网关,子网掩码,以及dns的名字服务器。例如我的配置为

1
2
3
4
5
6
7
8
9
10
11
# The loopback network interface
auto lo
iface lo inet loopback
 
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.198.10
netmask 255.255.255.0
gateway 192.168.198.2
dns-nameservers 192.168.198.2

这样配置完毕,重启虚拟机的网络服务

1
sudo /etc/init.d/networking restart

这时候测试一下,应该可以访问网络了。

配置NAT端口映射

虚拟机可以访问外网了,那么接下来需要外网访问虚拟机的资源。比如我在虚拟机架设了一个HTTP服务器,位于虚拟机的80端口,如果我想映射到主机的100080端口。这时候需要直接编辑vmware的NAT配置文件了。上面的那个小工具已经不够用了。

1
sudo vim /etc/vmware/vmnet8/nat/nat.conf

打开配置文件,可以看到一个配置文件。当然,这个文件的其他选项也可以根据情况编辑,端口映射的主要在

1
2
3
4
5
6
7
8
9
10
11
12
[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
10080=192.168.198.10:80
 
[incomingudp]
 
# UDP port forwarding example
#6000 = 172.16.3.0:6001

注释中已经有示例了,比如我想映射的虚拟机HTTP端口到主机的10080端口,由于HTTP协议是基于TCP协议的,所以在incomingtcp中添加一行:

1
10080=192.168.198.10:80

编辑完毕后,保存并重启vmware服务:

1
sudo service vmware restart

到此就配置完毕了。如果虚拟机中80端口的服务已经开启,访问localhost:10080,可以看到对应虚拟机的资源内容

linux主机下的Vmware Workstation配置NAT设置 端口映射-Ubuntu为例的更多相关文章

  1. vbox NAT 设置端口映射(NAT+8080端口转发)

    VirtualBox的提供了四种网络接入模式,它们分别是: 1.NAT 网络地址转换模式(NAT,Network Address Translation) 2.Bridged Adapter 桥接模式 ...

  2. VMware实现iptables NAT及端口映射

    1. 前言 本文只讲解实战应用,不会涉及原理讲解.如果想要了解iptables的工作流程或原理可参考如下博文. 具体操作是在PC机的VMware虚拟机上进行的,因此涉及的地址都是内网IP.在实际工作中 ...

  3. windows 下使用VMware Workstation Pro 工具,ubuntu创建虚拟机

    本文记录windows 下使用VMware Workstation Pro 工具,ubuntu创建虚拟机 的步骤 第一步 [文件] --- [新建虚拟机]   第二步 弹出的新建虚拟机向导对话框 标准 ...

  4. VMWare Workstation 配置docker多macvlan网络方法

    VMWare Workstation 配置docker多macvlan网络方法 答案就是.....换VirtualBox 噗... VMWare Workstation host-only网络,三台虚 ...

  5. Ubuntu 14.04/14.10下安装VMware Workstation 11图文教程

    VMware workstation 是一个可以进行桌面操作的虚拟软件.它可以让我们在一台电脑或者虚拟机中运行多个虚拟机. 由VMware公司研发和维护.由于是商业软件,我们需要买他们家的许可证或者说 ...

  6. [转] Ubuntu 14.04/14.10下安装VMware Workstation 11图文教程

    点击这里查看原文 译者:GuiltyMan 本文由 Linux公社翻译组 原创翻译  Linux公社 诚意奉献 更多请访问此处博客网站 VMware workstation 是一个可以进行桌面操作的虚 ...

  7. Archlinux 下的 VMWare Workstation 维护笔记

    印象中 Archlinux 下的 VMWare Workstation 总是出问题, 因此写这个帖子, 记录出问题时间/原因/解决方案. PS: 每次更新内核后可能需要重新编译 vmware 的内核模 ...

  8. Windows 7 + Tiny Linux 4.19 + XFS + Vmware Workstation 15 (PRO) 下篇dockerの奥义

    美好的事物总是来自不易,而我是一个docker新手 从以上开场,请各位follow me站在一个初学者的角度,一步一步用最简单的视角审视docker和它的真实存在 上篇预告:Windows 7 + T ...

  9. Linux系统下ssh的相关配置详细解析

    Linux系统下ssh的相关配置进行了详细的分析介绍. ssh是大家常用的登录linux服务器的方式,但是为了安全考虑,有时候我们需要针对ssh做一些特殊处理,本文记录笔者曾经做过的一些修改,供大家参 ...

随机推荐

  1. 如何在WebService中重载方法

    1. 本来在WebService中这样写的重载方法,如下所示: [WebService(Namespace = "http://tempuri.org/")]    [WebSer ...

  2. kernel 生成uImage

    有些u-boot 指定要链接uImage 所以今天记录一下kernel 生成uImage 的条件 在kernel 配置完make menuconfig 后,进行编译,发现make uImage 生成不 ...

  3. Apache HttpComponents 文件上传例子

    /* * ==================================================================== * * Licensed to the Apache ...

  4. LACP-链路聚合

    一. 术语 LA (Link aggregation): 链路聚合,不同厂家名称不同,ethernet channel(以太通道). LAG: Link aggregation group. LACP ...

  5. 360浏览器兼容模式 不能$.post (不是a 连接 onclick的问题!!)

    最近发现一个360浏览器很蛋疼的事情,在兼容模式下 代码: <a href="#" onclick='doAudit(1)'>审核</a> 点击没有任何效果 ...

  6. Entity Framework实体拆分

    一.概念 实体拆分:一个实体拆分成多个表,如Product实体,可以拆分成Product和ProductWebInfo两个表,Product表用于存储商品的字符类信息,ProductWebInfo用于 ...

  7. Windoows窗口程序二

    WNDCLASS属性style取值: CS_GLOBALCLASS--应用程序全局窗口类 CS_BYTEALIGNCLIENT--窗口客户区的水平位置8倍数对齐 CS_BYTEALIGNWINDOW- ...

  8. spring mvc 下载安装

    https://repo.spring.io/webapp/#/artifacts/browse/tree/General/libs-release-local/org/springframework ...

  9. jQuery的Ajax操作小结——$.ajax和$.getJSON等用法小结

    一.$.ajax用法与举例 jQuery.ajax(url,[settings])     ——返回值:XMLHttpRequest 通过 HTTP 请求加载远程数据,这个是jQuery 的底层 AJ ...

  10. DexClassLoader

    DexClassLoader加载自己写的第三方jar包,例如金山毒霸需要加载ksremote.jar. 现在将DexClassLoader加载jar包成果分享一下.   1.新建Android工程,封 ...