共计 1397 个字符,预计需要花费 4 分钟才能阅读完成。
在主机上安装了 VMware,VMware 上安装了 Linux 或 Windows 虚拟机。我想让虚拟机向外提供 Web 服务,于是在它上面打开了 IIS(Windows)。本文讲解如何让我的主机和外网用户可以访问 IIS 的网站。
我的情景是这样的:主机 (Windows 7) 位于局域网内,要在主机上 VMware 安装 Windows 7 虚拟机;虚拟机上安装 Team Foundation Server2010,并向局域网其他用户提供 TFS 网站的访问。这里分解成几个步骤。
- 网络拓扑
- 原理说明
- VMware 的 NAT 设置
- 端口转发(Port Forwarding)
- 路由器和防火墙设置
- 网络测试
网络拓扑
该前提下的网络拓扑有 3 种主要类型:家庭 ADSL、公司局域网和托管机房公网。我的情景是第二种。
原理说明
有了拓扑之后,需要了解 VMware 的三种网络连接模式,区分桥接(bridged)、NAT 和 Host-only。桥接模式,可以看成主机与虚拟机用 Hub 相连接。NAT 是局域网的重要技术,详细解释可以看百 科。NAT 模式,可看成主机是关口,虚拟机在网络内部,所有与虚拟机的通信均要经过关口。Host-only 模式,看成主机与虚拟机是用双绞线相连的,它 们可分别处于独立的网段。
公司局域网采用域管理,即虚拟机没有 (申请) 在域内,而主机在域内。所以我只能采用 NAT 模式,否则虚拟机没有访问网络(或被访问)的权限。
VMware 的 NAT 设置
- 右键点击虚拟机,选择“setting”;
- 在左边栏的 Hardware 选项卡内选择 Network Adapter;
- 在右边栏选择 NAT,如下图:
端口转发(Port Forwarding)
在完成 NAT 设置之后,虚拟机便可以访问外部网络(局域网其他用户和 Internet)了。但是,从外部网络不能访问虚拟机。这是因为 NAT 对外是屏蔽内部网络细节的。为了实现从外部访问虚拟机,则需要设置端口转发。
- 查看虚拟机的 IP 地址
- 在 VMware 的菜单项 Edit 下选择 Vitual Network Editor;在上方选定 NAT 网络,在下方选择 NAT(shared host’s IP address with VMs), 点击 NAT Settings;
- 点击 Add 添加端口转发;
Host Port 是主机的端口,即从外网访问主机该端口的请求,均转发至虚拟机;
Type 指定传输协议,这里添加了 TCP 和 UDP(Http 一般只使用 TCP);
Vitual Machine IP Address 填写虚拟机的 IP 地址和端口;由于这里需提供 Web 服务,所以应该填写 Web 端口(在 windows IIS 的网站中设定);
路由器和防火墙设置
- 在外部网络与主机间若有路由器,则需设置端口映射;我的情景下没有;
- 关闭主机上的防火墙,或者设置防火墙的端口允许规则;
网络测试
- TFS 的 IIS 网站已经搭建好;
- 在局域网其他用户的计算机上打开浏览器,访问 http://<host’s IP address>:host port;
假设主机的 IP 为 10.1.1.1,则在浏览器访问 http://10.1.1.1:8080。正常情况下,访问请求会转发至虚拟机,即该请求实际访问的是 http://192.168.75.134:8080。
- 若正常打开 Web 网站,则测试通过。
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-01/139529.htm