温馨提示:本站所有内容均来源网络,请自行区分好坏。

在oneprovider服务器上安装ESXI6.5并用openwrt做软路由开NAT小鸡

 

ESXi由于其使用了vSwitch作为网络交换设备,因此没有类似NAT这样的选项了。但在实际环境中,我们还是经常会遇到IP不够用的情况,比如只有一个或者两个公网IP,但是有一堆虚拟机需要上网。此时就要通过软路由来达到目的。本次使用openwrt做软路由介绍。

本次使用oneproviderder 8欧的服务器,单网卡,一个默认的主IP做为ESXI的管理IP,另外购买一个故障转移IP用于给虚拟机做NAT连接外网。软路由使用最新版的openwrt.

oneprovider的控制面板提供了ESXI6.5的模板,可以直接重装系统,不用操心驱动问题。等待30分钟左右即可重装完成,用主IP地址即可访问ESXI网络控制端。

首先是ESXI的网络配置图

network

虚拟交换机nat下面连接的虚拟机通过同一网段的软路由openwrt的LAN口连接至软路由,同时软路由的WAN口连接至虚拟交换机vSwitch0,再桥接至物理网口vmnic0,最后连接到外网。软路由负责全部数据的转发。

新建虚拟交换机

全新安装的ESXI只有vSwitch0一个交换机,我们还需要新建一个虚拟交换机nat,需要注意的是新建的虚拟交换机不要让它与物理网卡相关,需要点击图中的X,删除上行链路,之所以这么做,是因为我们要把这个网络的请求都需要通过软路由转发到VM Network上去,而不要让它自己走物理网卡出去。

vSwicth

安装配置软路由

openwrt官网 下载最新的固件
将下载到的GZ文件解压得到img文件, 使用starwindconverter,转换为vmdk格式,将转换后的2个文件传到esxi里.

然后新建一个虚拟机,创建步骤和普通虚拟机一样,操作系统选择linux->其它3.x或更高版本的linux(64位),内存分配512M即可,硬盘删除默认,单独为这个虚拟机添加一块现有的磁盘, 磁盘文件选择openwrt转换后的vmdk文件,网卡添加两个,一个关联VM Network, 一个关联NAT.

由于oneproviderwe的8欧机器实际为online的服务器,所以我们需要遵守online的一些规定

  • 如果将故障转移ip分配给虚拟机则必须要生成mac地址
  • 如果虚拟机的mac地址没有正确配置, 则会触发交换机的保护措施, 网络端口会被关闭.

再去oneproviderwe的管理控制台给故障IP添加一个MAC地址,同时注意左上角的网关和掩码是故障转移IP专用

failoverIP

然后,给关联VM Network的网卡输入获得的MAC地址

MAC

启动虚拟机后,首先使用ifconfig命令查看网卡信息, 通过之前设定的MAC地址找出和两个交换机对应的两个网卡,记下网卡名称。
然后编辑接口配置文件

vim /etc/config/network

修改其中的LAN和WAN部分,WAN口对应填写了故障转移IP对应MAC地址的网卡,另外一个网卡对应LAN口。

config interface 'lan'
    option type 'bridge'
    option ifname 'eth1' #这个是关联NAT交换机的网卡
    option proto 'static'
    option ipaddr '192.168.1.1'
    option netmask '255.255.255.0'
    option ip6assign '60'

config interface 'wan'
    option ifname 'eth0' #这个是关联VM Network交换机的网卡
    option proto 'static'
    option ipaddr '你的故障转移IP'
    option netmask '255.255.255.255'
    option gateway 'XX.XX.XX.XX'  #你的故障转移IP的网关
    option macaddr '00:50:56:44:44:44' #你的故障转移IP的mac地址

#添加以下内容,使得外网与软路由连通

config 'route' 'gateway_route'
    option 'interface' 'wan'
    option 'target' 'XX.XX.XX.XX'  #故障转移IP的网关

reboot重启虚拟机后,可以通过ping 8.8.8.8来查看是否已经连接外网。

之后可以另外新建虚拟机,带有桌面及浏览器的即可,访问
http://192.168.1.1 进行详细的设置。

参考https://blog.ni-co.moe/public/538.html

PS

本例使用了2个IP给ESXI使用,如果是一个IPv4,一个IPv6,可以先用IPv4正常配置,再关闭IPV4管理网络,使用IPv6地址进行ESXI管理(online.net的服务器因为奇葩的IPv6获取方式,不被ESXI支持,所以不行),IPv4给软路由,或者直接利用IPMI来管理,这样可以节省一个故障转移IP的费用。
直接将主IP给软路由使用,设置上需要注意WAN的MAC地址事先改成主IP的物理MAC地址,同时还要在NAT交换机下新建一个管理网络,给与同段IP地址,并给需要远程连接的虚拟机添加端口映射。操作较为复杂,同时风险较大,一个疏忽,就可能造成主机失联。
另外oneprovider家的故障转移IP和配套的网关是比较奇葩的,如果需要单独在一个VM里面设置故障转移IP,是需要特殊设置的,例如在Debian中:

nano /etc/network/interfaces

auto eth0
iface eth0 inet static
address FAILOVER_HERE
netmask 255.255.255.255
broadcast FAILOVER_HERE
post-up route add GATEWAY_HERE dev eth0
post-up route add default gw GATEWAY_HERE
post-down route del GATEWAY_HERE dev eth0
post-down route del default gw GATEWAY_HERE

另外在windows的VM系统中使用故障转移IP,您需要使用255.255.255.0网络掩码设置网络,然后通过注册表强制它使用255.255.255.255
再有,online和oneprovider的IPV6也比较奇葩,ESXI不支持配置到管理网络。

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址