国内云主机便宜的有阿里云、腾讯云。
1、阿里云虚拟主机,阿里云虚拟主机主要用于搭建网站,提供预装网站运行环境,赠送正版数据库,可通过图形化控制面板管理,包括独享系列虚机和共享系列虚机。独享系列适合企业建站客户,提供独享的服务器资源,无资源争抢更稳定,不限流量更快速、独立IP更易推广;共享系列适合于开发者、个人站长建站,多客户共享服务器硬件资源,价格优惠,简单易用。
2、腾讯云虚拟主机,专用宿主机提供用户独享的物理服务器资源,满足您资源独享、资源物理隔离、安全、合规需求。专用宿主机搭载了腾讯云虚拟化系统,购买之后,您可在其上灵活创建、管理多个自定义规格的云服务器实例,自主规划物理资源的使用。
关于桥接网络:
]Host 的物理网卡和Guest 的网卡在VMnet0 交换机上通过虚拟网桥进行桥接,这也就是说,我的物理网卡和Guest 的虚拟网卡(注:这个虚拟网卡不等于VMware Network Adapter VMnet1 或者VMware Network Adapter VMnet8)处于同等地位,此时的Guest 就好像我的Host 所在的一个网段上的另外一台机器。我的Host 的物理网卡配置如下:IP 地址为手工指定方式,网关为192.168.0.1,那么我的Guest 就应该和我的Host 处于同一个网段,它的配置可为:
Ethernet adapter 本地连接:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Broadcom NetXtreme 57xx Gigabit Controller
Physical Address. . . . . . . . . : 00-1A-A0-A9-DC-1B
Dhcp Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . . : 192.168.0.2
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.0.1
IP 地址为手工指定方式,网关为192.168.0.1,那么我的Guest 就应该和我的Host 处于同一个网段,它的配置为:
Ethernet adapter Bridged:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Broadcom NetXtreme 57xx Gigabit Controller
Physical Address. . . . . . . . . : 00-1A-A0-A9-DC-1B
Dhcp Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . . : 192.168.0.10
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.0.1
同样,IP 地址也为手工指定方式,网关也为192.168.0.1,这样的话,IP 地址为192.168.0.2 的Host 和IP 地址为
192.168.0.10的Guest 就可以互通了:
Ethernet adapter Bridged:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Broadcom NetXtreme 57xx Gigabit Controller
Physical Address. . . . . . . . . : 00-1A-A0-A9-DC-1B
Dhcp Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . . : 192.168.0.10
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.0.1
Pinging 192.168.100.10 with 32 bytes of data:
Reply from 192.168.100.10: bytes=32 time1ms TTL=64
Reply from 192.168.100.10: bytes=32 time1ms TTL=64
Reply from 192.168.100.10: bytes=32 time1ms TTL=64
Reply from 192.168.100.10: bytes=32 time1ms TTL=64
Ping statistics for 192.168.100.10:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
当然,Guest 所配置的IP 地址一定要在192.168.0 网段没有被占用,而且我的网络管理员允许我来使用这个IP 地址。如果在192.168.0 网段,存在DHCP 服务器,那么Host 和Guest 都可以把IP 地址获取方式设置为DHCP 方式。
关于NAT网络
在NAT 网络中,会使用到VMnet8 虚拟交换机,Host 上的VMware Network Adapter VMnet8 虚拟网卡被连接到VMnet8交换机上,来与Guest 进行通信,但是VMware Network Adapter VMnet8 虚拟网卡仅仅是用于和VMnet8 网段通信用的,它并不为VMnet8 网段提供路由功能,处于虚拟NAT 网络下的Guest 是使用虚拟的NAT 服务器来连接到Internet 的。VMware 功能非常强大,在NAT 网络下,我们甚至可使用Port Forwarding 功能,来把Host 的某一个TCP 或者UDP 端口映射到Guest 上!我的VMware Network Adapter VMnet8 虚拟网卡的IP 地址配置如下:Ethernet adapter 本地连接:
Ethernet adapter VMware Network Adapter VMnet8:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : VMware Virtual Ethernet Adapter for VMnet8
Physical Address. . . . . . . . . : 00-50-56-C0-00-08
Dhcp Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . : 192.168.153.1
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . :
IP地址是手工填写的,但却不是由我来指定的,而是VMware 在安装的时候自动随机指定的一个IP 地址(注意,不要修改VMware Network Adapter VMnet8 虚拟网卡所在的网络ID,这样的话会造成Host 和Guest 无法通信)。那么,我的NAT 网络的虚拟机的IP 地址也为192.168.153.0 这个网段,其IP 地址配置为:
Windows IP Configuration
Host Name . . . . . . . . . . . . : Lineage
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Unknown
IP Routing Enabled. . . . . . . . : no
WINS Proxy Enabled. . . . . . . . : No
Ethernet adapter NAT:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . . . . . : VMware PCI Ethernet Adapter
Physical Address. . . . . . . . . . . . . : 00-50-56-C0-00-08
Dhcp Enabled. . . . . . .. . . . . . . . : Yes
Autoconfigureration Enanble. . . . :Yes
IP Address. . . . . . . .. . . . . . . . : 192.168.153.10
Subnet Mask . . . . . . .. . . . . . . . : 255.255.255.0
Default Gateway . . . .. . . . . . . . . :192.168.153.2
DHCP Server. . . . . . .. . . . . . . . . :192.168.153.254.....................
可以看到,它的IP 地址分是由DHCP 服务器分配的的,DHCP 服务器的地址为192.168.85.254,那为什么会有DHCP 服务器存在呢?
这是因为VMware 安装之后,会有一台虚拟的DHCP 服务器为虚拟机来分配IP 地址,这个DHCP 服务器,你可以ping 通它,但是无法进行访问,因为实际上它就是一个系统服务而已,在开始——运行中输入services.msc,就会看到这个服务
此时可以看到,Guest 的网卡和Host 上的VMware Network Adapter VMnet8 虚拟网卡拥有相同的网络ID,这样的话,在Guest 中,ping 通Host 就没有问题了:
Pinging 192.168.153.1 with 32 bytes of data:
Reply from 192.168.153.1: bytes=32 time1ms TTL=64
Reply from 192.168.153.1: bytes=32 time1ms TTL=64
Reply from 192.168.153.1: bytes=32 time1ms TTL=64
Reply from 192.168.153.1: bytes=32 time1ms TTL=64
Ping statistics for 192.168.153.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
有一点需要说明的是,在NAT 方式的网络中,Guest 的Gateway 都指向了192.168.X.2,在本例中,X=153,也就是那个虚拟的NAT 服务器的地址,这个服务器是一台虚拟的NAT 服务器,可以ping 通它,但是却无法访问到这台虚拟机,因为这同样也是一个系统服务:这时候,我的Guest 和Host 就可以实现互访了,并且如果我的Host 此时已经连接到了Internet,那么我的Guest 也就可以连上Internet 了。那么Host 上的VMware Network Adapter VMnet8 虚拟网卡在这里扮演了一个什么角色呢?它仅仅是为Host 和NAT 虚拟网络提供了一个通信接口,所以,即便在Host 中Disable 掉这块虚拟网卡,Guest 仍然是可以上网的,只是Host 无法再访问VMnet8 网段,也即是无法访问Guest 而已。
关于Host-Only网络
在Host-Only 网络中,Host-Only 网络被用来设计成一个与外界隔绝的(isolated)网络,其实Host-Only 网络和NAT 网络非常相似,唯一不同的地方就是在Host-Only 网络中,没有用到NAT 服务,没有服务器为VMnet1 网络做路由,它当然就没有办法访问Internet 啦,可是如果此时我的Host 要和Guest 通信怎么办呢?当然就要用到VMware Network Adapter VMnet1 这块虚拟网卡了。
如下图,这是我的Host 上的VMware Network Adapter VMnet1 虚拟网卡的配置,同样,VMware 也为我自动随机分配好了它的IP:
Ethernet adapter VMware Network Adapter VMnet1:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : VMware Virtual Ethernet Adapter for VMnet1
Physical Address. . . . . . . . . : 00-50-56-C0-00-01
Dhcp Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . : 192.168.201.1
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . :
那么如果我把Guest 的网络设置成了Host-Only 的话,把它的IP 获取方式设置为DHCP,它会到虚拟的DHCP 服务器上拿到IP,这个DHCP 服务器仍然是一个虚拟的DHCP 服务器(仅仅是一个系统服务而已),而且在下图中,可以看到,这个DHCP 服务器的IP 地址仍然是192.168.X.254,这里X=201,因为要和我的VMnet1 的网络ID 相同。所以,Guest 所获得的IP和我的Host 的VMware Network Adapter VMnet1 虚拟网卡的IP 使用同一个网络ID:
Windows IP Configuration
Host Name . . . . . . . . . . . . : Lineage
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Unknown
IP Routing Enabled. . . . . . . . : no
WINS Proxy Enabled. . . . . . . . : No
Ethernet adapter Host-Only:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . . . . . : VMware PCI Ethernet Adapter
Physical Address. . . . . . . . . . . . . : 00-50-58-C0-50-0d
Dhcp Enabled. . . . . . .. . . . . . . . : Yes
Autoconfigureration Enanble. . . . :Yes
IP Address. . . . . . . .. . . . . . . . : 192.168.201.10
Subnet Mask . . . . . . .. . . . . . . . : 255.255.255.0
Default Gateway . . . .. . . . . . . . . :
DHCP Server. . . . . . .. . . . . . . . . :192.168.153.254.....................
可以看到,在Host-Only 网络下,Guest 的Default Gateway 被设置为NULL,这是由于没有默认路由器为它到外部网络提供路由的缘故,也即是上边说到的Host-Only 网络没有NAT 服务器!如果使用route add 命令加上某个地址做为它的路由器,它仍然不能访问Internet(实际上也没有地址可加)。这样,我的Guest 虽然没有办法访问Internet,但是仍然可以和我的Host进行通信,这正是因为我的Host 上的VMware Network Adapter VMnet1 虚拟网卡起到了作用,它负责和VMnet1 网络相连,为我访问Host-Only 网络下的Guest 提供了通信接口。下图显示了在Host-Only 网络中的Guest 与我的Host 的通信情况:
Pinging 192.168.201.1 with 32 bytes of data:
Reply from 192.168.201.1: bytes=32 time1ms TTL=64
Reply from 192.168.201.1: bytes=32 time1ms TTL=64
Reply from 192.168.201.1: bytes=32 time1ms TTL=64
Reply from 192.168.201.1: bytes=32 time1ms TTL=64
Ping statistics for 192.168.201.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
至于为何要把Host-Only 网络设置为没有Default Gateway 的方式,这是VMware 的设计使然,它就是让我们建立一个与外界隔离(isolated)的网络时而使用的。事实上,如果我足够BT,也可以在Host 上来为VMware Network Adapter VMnet1 虚拟网卡来做路由。比如,我可以用Windows 2000 的RRAS 来做,这样的话,处于Host-Only 网络下的Guest 就又可以上网了,它们只需要使用route add 命令把自己的Default Gateway 指向Host 上的VMware Network Adapter VMnet1 虚拟网卡即可,不过这样做不推荐,也没有必要.
至此,VMware 的3 种网络,就应该可以理解可以看到,如果想要Guest 上网,在3 种网络模型中,
最为简单的方式就是NAT,因为它不需要任何的网卡设置,IP 地址也可以从虚拟的DHCP 服务器来获得,要做的仅仅就是把它的网络设置为NAT 方式即可。
至于Bridged 模式,则需要额外的IP 地址,这有可能会实现不了,因为并不是每个ISP 都那么大方。
如果是Host-Only,则又需要设置RRAS,没有几个人会愿意为了让虚拟机上网而换OS 的,所以就用NAT 最好了。
在这里要强调的一点是,如果设置了Host-Only 网络,非要为VMnet1 做路由,一定要用RRAS,而不要用Windows XP 或者2000 的ICS,因为它会自动把内网的接口地址改为192.168.0.1。你在安装虚拟机的时候,VMware 不会正好给你的VMware Network AdapterVMnet1 虚拟网卡分配为192.168.0.1 的地址吧?这样的话会造成VMware Network Adapter VMnet1 虚拟网卡和VMnet1 网段的网络ID 不一致,自然,你的Guest 就没有办法和Host 通信了!
实际上经常还会遇到这样的情况:比如VMware 为我分配的网络ID 在将来会被我用到,或者嫌VMware 为你分配的网络不好(比如它给你分了个192.168.148.0 的网络ID),那么可以到这里来修改:
单击VMware 的“Host”菜单,选择“Virtual Network Settings ...”
选择“Host Virtual Network Mapping”中,VMnet1 所在的虚拟网络,单击后边的按钮,选择“Subnet”菜单,即可以调整你的网络ID。
在使用weave之前,你需要在所有宿主机上安装Docker环境,参考这些教程,在Ubuntu或CentOS/Fedora发行版中安装Docker。Docker环境部署完成后,使用下面的命令安装weave:$wget/zettio/weave/releases/download/latest_release/weave$chmoda+xweave$sudocpweave/usr/local/bin注意你的PATH环境变量要包含/usr/local/bin这个路径,请在/etc/profile文件中加入一行(LCTT译注:要使环境变量生效,你需要执行这个命令:source/etc/profile):exportPATH="$PATH:/usr/local/bin"在每台宿主机上重复上面的操作。Weave在TCP和UDP上都使用6783端口,如果你的系统开启了防火墙,请确保这两个端口不会被防火墙挡住。在每台宿主机上启动Weave路由器当你想要让处于在不同宿主机上的容器能够互相通信,第一步要做的就是在每台宿主机上启动weave路由器。第一台宿主机,运行下面的命令,就会创建并开启一个weave路由器容器(LCTT译注:前面说过了,weave路由器也是一个容器):$sudoweavelaunch第一次运行这个命令的时候,它会下载一个weave镜像,这会花一些时间。下载完成后就会自动运行这个镜像。成功启动后,终端会输出这个weave路由器的ID号。下面的命令用于查看路由器状态:$sudoweavestatus第一个weave路由器就绪了,目前为止整个peer对等网络中只有一个peer成员。你也可以使用docker的命令来查看weave路由器的状态:$dockerps第二台宿主机部署步骤稍微有点不同,我们需要为这台宿主机的weave路由器指定第一台宿主机的IP地址,命令如下:$sudoweavelaunch当你查看路由器状态,你会看到两个peer成员:当前宿主机和第一个宿主机。当你开启路由器,这个peer成员列表会更长。当你新开一个路由器时,要指定前一个宿主机的IP地址,请注意不是第一个宿主机的IP地址(LCTT译注:链状结构)。现在你已经有了一个weave网络了,它由位于不同宿主机的weave路由器组成。把不同宿主机上的容器互联起来接下来要做的就是在不同宿主机上开启Docker容器,并使用虚拟网络将它们互联起来。假设我们创建一个私有网络10.0.0.0/24来互联Docker容器,并为这些容器随机分配IP地址。如果你想新建一个能加入weave网络的容器,你就需要使用weave命令来创建,而不是docker命令。原因是weave命令内部会调用docker命令来新建容器然后为它设置网络。下面的命令是在宿主机hostA上建立一个Ubuntu容器,然后将它放到10.0.0.0/24网络中,分配的IP地址为10.0.0.1:hostA:~$sudoweaverun10.0.0.1/24-t-iubuntu成功运行后,终端会显示出容器的ID号。你可以使用这个ID来访问这个容器:hostA:~$dockerattach在宿主机hostB上,也创建一个Ubuntu容器,IP地址为10.0.0.2:hostB:~$sudoweaverun10.0.0.2/24-t-iubuntu访问下这个容器的控制台:hostB:~$dockerattach这两个容器能够互相ping通,你可以通过容器的控制台检查一下。如果你检查一下每个容器的网络配置,你会发现有一块名为“ethwe”的网卡,你分配给容器的IP地址出现在它们那里(比如这里分别是10.0.0.1和10.0.0.2)。Weave的其他高级用法weave提供了一些非常巧妙的特性,我在这里作下简单的介绍。应用分离使用weave,你可以创建多个虚拟网络,并为每个网络设置不同的应用。比如你可以为一群容器创建10.0.0.0/24网络,为另一群容器创建10.10.0.0/24网络,weave会自动帮你维护这些网络,并将这两个网络互相隔离。另外,你可以灵活地将一个容器从一个网络移到另一个网络而不需要重启容器。举个例子:首先开启一个容器,运行在10.0.0.0/24网络上:$sudoweaverun10.0.0.2/24-t-iubuntu然后让它脱离这个网络:$sudoweavedetach10.0.0.2/24最后将它加入到10.10.0.0/24网络中:$sudoweaveattach10.10.0.2/24现在这个容器可以与10.10.0.0/24网络上的其它容器进行通信了。这在当你创建一个容器而网络信息还不确定时就很有帮助了。将weave网络与宿主机网络整合起来有时候你想让虚拟网络中的容器能访问物理主机的网络。或者相反,宿主机需要访问容器。为满足这个功能,weave允许虚拟网络与宿主机网络整合。举个例子,在宿主机hostA上一个容器运行在10.0.0.0/24中,运行使用下面的命令:hostA:~$sudoweaveexpose10.0.0.100/24这个命令把IP地址10.0.0.100分配给宿主机hostA,这样一来宿主机hostA也连到了10.0.0.0/24网络上了。显然,你在为宿主机选择IP地址的时候,需要选一个没有被其他容器使用的地址。现在hostA就可以访问10.0.0.0/24上的所有容器了,不管这些容器是否位于hostA上。好巧妙的设定啊,32个赞!
腾讯云专用宿主机(CDH,CVM Dedicated Host)区别于腾讯云云服务器(CVM),提供用户独享的物理服务器资源,是云服务器产品的补充,满足客户资源独享、资源物理隔离、安全、合规需求。用户可通过独享整台宿主机的方式购买、管理资源。可以在其上创建免费的 CVM 实例,规格、数量支持自主定义、自主规划。都是找的腾讯云蓝色航线了解的,很专业,也很划算,太热情了。
友情声明:本文内容由用户自发奉献,本站文章量较多,不能保证每篇文章的绝对合法性,若您发觉违规/侵权内容,请尽快联系我们删除。