如何从外网访问VMware虚拟机的Web服务

2023-01-13 2859阅读

温馨提示:这篇文章已超过439天没有更新,请注意相关的内容是否还可用!

主机上安装了VMware,VMware上安装了一个Linux虚拟机。我想让虚拟机对外提供web服务。本文记录如何让我的主机和外网用户在VM虚拟机上访问Web。VMware有三种网络连接模式:桥接、NAT和Host-only。这里需要选择NAT模式虚拟机配置web服务器,因为虚拟机没有单独的IP可以使用,只能共享主机IP。在桥接模式下,VMware虚拟出的虚拟交换机Vmnet0相当于一个网桥。例如主机IP为192.168.1.100,虚拟机为192.168.1.101,这是两个状态相同的节点。可以看作是宿主机和虚拟机之间通过Hub的连接。可以认为宿主机和虚拟机是用双绞线连接起来的,它们可以在不同的网段。从VMware菜单栏选择“编辑”→“虚拟网络编辑”,打开虚拟网络编辑器,查看虚拟网络。

目的:

如何从外网访问VMware虚拟机的Web服务
(图片来源网络,侵删)
如何从外网访问VMware虚拟机的Web服务
(图片来源网络,侵删)

主机上安装了VMware,VMware上安装了一个Linux虚拟机(我安装的是Centos7)。 我想让虚拟机对外提供web服务。 本文记录如何让我的主机和外网用户在VM虚拟机上访问Web。

网络环境:

一台单IP服务器,提供一个固定IP,固定IP允许公网访问。 (屌博客,不能上传图片。。。随便写吧)

\

VMware有三种网络连接模式:桥接、NAT和Host-only。 这里需要选择NAT模式虚拟机配置web服务器,因为虚拟机没有单独的IP可以使用,只能共享主机IP。

在桥接模式下,VMware虚拟出的虚拟交换机Vmnet0相当于一个网桥。 虚拟机和宿主机的位置是对等的,在同一个网段,并且有一个与宿主机同IP段的独立地址。 例如主机IP为192.168.1.100,虚拟机为192.168.1.101,这是两个状态相同的节点。 可以看作是宿主机和虚拟机之间通过Hub的连接。 在 NAT 模式下,虚拟机可以与主机通信并访问互联网服务,但外部主机无法访问虚拟机。 可以认为宿主机是一个路由交换机(网关),虚拟机在网络内部,与虚拟机的所有通信都必须经过网关。 Host-only模式,建立一个全封闭的网络环境,虚拟机唯一能访问的就是主机。 它与NAT非常相似,但与NAT不同的是虚拟机不能访问外网/外网,宿主机和虚拟机可以通信。 可以认为宿主机和虚拟机是用双绞线连接起来的,它们可以在不同的网段。

详见VMware虚拟机三种网络模式及配置方法

VMware NAT 设置:

1、虚拟机访问外网(通过NAT方式)

1.虚拟机设置为NAT模式

选择安装好的虚拟机(Centos 7),右击选择“设置(Settings)”,打开虚拟机设置窗口; 在左侧栏的Hardware选项卡中选择Network Adapter(网络适配器); 在右栏中选择 NAT(NET 模式);

如何从外网访问VMware虚拟机的Web服务

2.VMware编辑虚拟网络

从VMware菜单栏选择“编辑”→“虚拟网络编辑”,打开虚拟网络编辑器,查看虚拟网络。 默认情况下,VMnet0、VMnet1、....

VMnet0:Bridged Network 桥接模式 VMnet1:Host-Only Network host-only 模式 VMnet8:NAT 模式

\

(1)打开主机的网络连接,选择本地连接网卡(一般为Broadcom NetXtreme Gigabit Ethernet#2),右键属性,选择“共享”选项卡;

① 勾选“允许其他网络用户通过这台电脑的互联网连接进行连接”;

②家庭网络连接选择“VMnet8”

(2)从VMware菜单栏中选择“编辑”→“虚拟网络编辑”,打开虚拟网络编辑器,

① 选择上面的VMnet8(NAT模式);

②在下面选择NAT(Shared host's IP address with VMs)(NAT模式(Shared host's IP address with virtual machine));

③点击“NAT设置”;

④ 记录子网IP(192.168.186.)、掩码、网关地址,将这些网卡信息配置到虚拟机中的网卡中;

⑤配置虚拟机(Centos 7)网络连接:

#ip addr# ip addr show #查询网卡信息

#vim /etc/sysconfig/network-scripts/ifcfg-eno16777736 #修改网卡配置信息

关键参数含义:

HWADDR=00:0c:29:15:e1:3e #MAC地址,根据#ip addr show查询到的MAC修改

BOOTPROTO=static #设置静态IP

ONBOOT=yes #这里如果是no,改成yes,表示网卡设备自动启动

如何从外网访问VMware虚拟机的Web服务

GATEWAY=192.168.137.1 #这里的网关地址是VMnet8的IP地址

IPADDR=192.168.137.1 #配置ip,根据VMnet8的IP地址,设置这里的ip在192.168.137.xxx范围内,只要和网关不一样即可

#NETMASK=255.255.255.0 #子网掩码

PREFIXO0=24 #设置子网掩码

DNS1=211.140.13.188 #dns server 1,填写你所在网络可用的dns服务器地址

DNS2=211.140.188.188 #dns server 2关键参数含义:

HWADDR=00:0c:29:15:e1:3e #MAC地址,根据#ip addr show查询到的MAC修改

BOOTPROTO=static #设置静态IP

ONBOOT=yes #这里如果是no,改成yes,表示网卡设备自动启动

GATEWAY=192.168.137.1 #这里的网关地址是VMnet8的IP地址

IPADDR=192.168.137.1 #配置ip,根据VMnet8的IP地址,设置这里的ip在192.168.137.xxx范围内,只要和网关不一样即可

#NETMASK=255.255.255.0 #子网掩码

PREFIXO0=24 #设置子网掩码

DNS1=211.140.13.188 #dns server 1,填写你所在网络可用的dns服务器地址

DNS2=211.140.188.188 #DNS服务器2

子网掩码的简单解释:

24位表示24个二进制1,像这样:11111111.11111111.11111111.00000000,转换成十进制表示就是:255.255.255.0

28位:11111111.11111111.11111111.11110000,转为十进制为255.255.255.240

30位数字:11111111.11111111.11111111.11111100,换算成十进制是255.255.255.252

⑥配置静态IP后重启网络服务

#systemctl restart network.service 或服务网络重启

重启网络服务虚拟机配置web服务器,如果报错,解决方法如下: 第一种方法:与NetworkManager服务冲突,关闭NetworkManger服务

# service NetworkManager stop,并禁止启动 chkconfig NetworkManager off。

重启。

第二种:与配置文件MAC地址不匹配,修改/etc/udev/rules.d/70-persistent-net.rules文件MAC地址与/etc/sysconfig/network相同-scripts/ifcfg-eth0 启动。

第三种方法解决Failed to start LSB: Bring up/down networking问题

一世。 执行service network restart出现如下错误

重新启动网络(通过 systemctl):network.service 的作业失败。 有关详细信息,请参阅“systemctl status network.service”和“journalctl -xn”。

二. 根据以上提示,执行“systemctl status network.service”输出类似如下信息:

[root@localhost ~]# systemctl status network.service

network.service - LSB:启动/关闭网络

加载:加载(/etc/rc.d/init.d/network)

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]