单个公网ip在多台虚拟机上的应用
服务器在托管的时候,运营商会提供一个固定的IP地址,此IP可以管理一个OS。但有时服务器上会装上虚拟软件比如微软自带的HYPER-V,同时运行多个OS。需要在此IP上绑定不同端口来访问不同的OS或应用。本篇将描述如何实现上述功能。
环境
宿主机为 win Server 2012R2 64bit
虚拟机为OS自带的Hyper-V
虚拟机1为Ubuntu 18.0.4
虚拟机2为win Server 2008R2 32bit
步骤
1.首先升级2012R2,打上最新的补丁。毕竟到时候要放到外网上,安全性可靠性等方面都会好很多。
让我们先看看宿主服务器此时的网络状况:
2.在服务器管理器里面添加脚色和功能-安装Hyper-V,(需要选择、改动的我列到下图,其他的保持默认,点击下一步)
3.安装虚拟机,这里不论述。我安装的第一台虚拟机为2008R 32Bit。
4.虚拟机安装好后,不用启动,先关着。开始配置宿主机的虚拟网卡。
打开设备管理器,添加过时硬件:
5.创建虚拟交换机
随便起个名字,我起名叫2008,网卡选择刚才添加的虚拟网卡。这一步建立名为2008的虚拟交换机的同时,也连接上了宿主机的网卡。
名字叫2008的虚拟交换机建立后,在属性里面只保留IPV4属性,并设置地址为192.168.111.1,24位的掩码。
这一步就是把虚拟机的网卡连接到虚拟交换机2008上。
这个时候用192.168.111.0这个网段地址,就可以相互ping通宿主机和虚拟机了。
宿主机通过默认的网卡连接外网,通过添加的虚拟网卡连接虚拟机,虚拟机虽然可以上网,但是外部访问不了,因为没有做路由哦。
6.先看一下虚拟机的ip,为192.168.111.117
7.下面继续做路由。先配置一下路由协议,把它启动。
8.打开NAT,在默认网卡上设置服务和端口,
生产环境下可能需要其他端口,比如,虚拟机需要用到SQL Server的话放通1433,mysqld的话需要放通3306. 注意宿主机上有同样应用或端口一样的话,映射时需要改掉传入端口。
9.测试
写在最后,次篇主要是针对一个公网ip对应多个虚拟机,提供不同服务。其原理是通过默认网卡连接外网,(本篇基本未对默认网卡做任何改动,仅在路由配置里面做了指定),新建虚拟交换机和虚拟网卡连接虚拟机和宿主机,并通过宿主机上的路由分配端口和服务。 既然是公网ip,建议在配置路由时,把必要的端口号修改掉,如3389。并设置多用户可登陆和复杂的密码,启用防火墙或安装杀毒软件。安全很重要!!!