MENU

在online的Dedicated server上安装esxi并使用LEDE做软路由开NAT小鸡

最近考虑到每月独立服务器和乱七八糟的小鸡的支出太高,准备大幅度消减在小鸡和独立服务器上的开支,便入了一个online的20o,使用了raid1,这样可以更少担心数据安全的问题了,计划将アニメ,大多数网站,gitlab都放在20o里,由于环境太多还有需要windows执行一些任务,所以决定使用esxi,然而online额外一个ip每月2o,考虑到成本则决定只买一个额外ip,配置软路由进行NAT(想要和esxi共用一个ip的可以忽略这个文章了),另外这个说明不适用于oneprovider.

资料查找

查看了online的文档,找到一些提示
To communicate on the Internet each of your virtual machines needs an IP Address. You can use Failover IP's to have additional IP's available for your server.
为了在因特网上通信,你的每台虚拟机都需要一个IP地址.您可以使用故障转移IP来为服务器提供额外的IP.

there is no other network equipment allowed on our network except for the MAC of your physical network card.
If you start a virtual machine in bridge mode, a protection will be activated on the switch and your network port will be closed.
To solve this problem you can add virtual MAC addresses, which are allowed on the network.
除了物理网卡的MAC,我们的网络上不允许其他网络设备.
如果在网桥模式下启动虚拟机,交换机上将激活保护,网络端口将关闭.
为了解决这个问题,您可以添加虚拟MAC地址,这在网络上是允许的.

Note that we now have a unique Gateway for all your VMs! It's 62.210.0.1.
请注意现在我们有一个独立的网关用于你所有的vm,它是62.210.0.1

通过查找资料知道了这些事情

  • 故障转移ip可以分配给小鸡使用,也就是说故障转移ip等于附加ip
  • 故障转移ip需要和服务器关联才可以使用
  • 虚拟机使用统一的网关:62.210.0.1
  • 如果将故障转移ip分配给虚拟机则必须要生成mac地址
  • 如果虚拟机的mac地址没有正确配置,则会触发交换机的保护措施,网络端口会被关闭.

准备

下载一个软路由系统,这里我使用64位的lede,下载地址在这里
将下载到的tar文件解压得到img文件,将其转换为vmdk格式,这里我使用StarWind V2V Image Converter进行转换,将转换后的2个文件传到esxi里.
在online控制台为你的故障转移ip生成一个虚拟mac(具体操作看online的文档)

esxi配置

首先去online的面板安装esxi6.5.0,安装完之后添加一个交换机,用于软路由和小鸡之间的连接,web页面的网络太高级了,所以使用VMware vSphere Client添加交换机.

image

注意,不要关联任何的物理适配器

image

下一个页面的标签随便(这里我改为NAT,下文NAT也代表这个交换机),然后完成就好.

然后新建一个虚拟机,创建步骤和普通虚拟机一样,然后操作系统选择linux->其它3.x或更高版本的linux(64位),内存分配512M即可,硬盘不需要,网卡添加两个一个关联esxi的交换机,一个关联NAT.

image

然后将虚拟机和esxi交换机关联的那个网卡的mac地址修改为在online控制台生成的mac地址,为了防止触发online的交换机保护措施,网卡先暂时不连接.

然后为这个虚拟机添加一块现有的磁盘,磁盘文件选择lede转换后的vmdk文件.

然后可以启动你的虚拟机了.

LEDE配置

开机后首先使用ifconfig命令查看网卡信息,找出和两个交换机对应的两个网卡
如果只看到一个eth0则表示这个是关联NAT的网卡(也是lan口用的网卡),如果看到2个网卡则需要根据mac地址来判断了,如果esxi面板中和esxi交换机关联的网卡设置的mac正确,则这里看到的和故障转移ip的mac地址一样的网卡则是和esxi交换机关联的网卡(也是wan口用的网卡).

特别注意
我开机后发现和esxi交换机关联的网卡被设置成了lan,NAT则被设置成了wan,注意一下,这样会触发online的交换机的保护措施,你的母鸡会断网,这也是我上文中为和将关联esxi交换机的网卡暂时不连接的原因.

然后编辑接口配置文件

vim /etc/config/network

这个文件是接口和静态路由的配置文件,其中我们只需要修改wan和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' #这个是关联esxi交换机的网卡
    option proto 'static'
    option ipaddr '你的故障转移IP'
    option netmask '255.255.255.255'
    option gateway '62.210.0.1'
    option macaddr '00:50:56:44:44:44' #你的故障转移IP的mac地址

当esxi重启的时候小鸡设置的mac地址会失效,不知为什么,所以可以直接在wan口配置中设置mac地址.

然后编辑防火墙配置文件

vim /etc/config/firewall

这里需要开放wan口的防火墙,以便通过luci进一步设置其他的东西,找到config zone其中option namewan的部分,将option inputoption output设置为ACCEPT,下面是示例

config zone
    option name 'wan'
    list network 'wan'
    list network 'wan6'
    option input 'ACCEPT'
    option output 'ACCEPT'
    option masq '1'
    option mtu_fix '1'
    option forward 'ACCEPT'

然后保存你的文件并执行下面两句

/etc/init.d/network restart
/etc/init.d/firewall restart

设置路由规则

通常,按照上面方法设置后并不能上网,需要添加两个路由规则,在online可以找到centos的规则,这里将其转为lede|openwrt的规则后命令如下

route add 62.210.0.1 dev eth0
route add default gw 62.210.0.1 dev eth0

其中eth0是和esxi交换机关联的网卡,执行后即可连接网络.
这里要注意的是每当接口发生更改时,路由规则会被重置,需要重新执行上面的两个命令,唯一的解决办法是设置静态路由,我设置了一次没成功.
然后我在lede的论坛发帖求助,一位dalao成功解决的了我的问题,链接在这方法如下

在网络配置文件中增加一个路由信息

vim /etc/config/network

直接copy实例粘帖在最下面即可

config 'route' 'gateway_route'
    option 'interface' 'wan'
    option 'target' '62.210.0.1'

LEDE的后续配置和注意事项

执行passwd设置root密码,然后打开http://x.x.x.x 用户root密码和shell里设置的密码一样,登录之后进行进一步设置

设置dns
选择Network -> DHCP and DNS其中DNS forwardings填写dns服务器(支持非53端口的dns,如208.67.222.222#5353),然后切换到Resolv and Hosts Files选项卡,勾选Ignore resolve file,然后点击下面的Save & Apply

中文语言
选择System -> Software点击Update lists等待页面刷新后在Filter输入chinese然后点击后面的Find package页面刷新后切换到下面的Available packages选项卡,找到luci-i18n-base-zh-cn点击前面的install页面刷新后选择System -> System切换到Language and Style选项卡Language内会出现中文 (Chinese)选择并点击下面的Save & Apply按钮后等待保存之后即可变为中文.

端口转发
选择System -> Firewall切换到Port Forwards选项卡,下面New port forward就是添加新端口转发了,设置完转发信息后点击后面的add然后再点击Save & Apply即可.

添加新评论

已有 10 条评论
  1. 只玩过桌面版vm母鸡ip共享到爱快然后dhcp给小鸡整台机器一个IP

    1. @小樱啊,爱快弱爆了,之前买了个爱快m1,没有找到ipv6和hosts指定,去问官方客服,刚开始问客服态度就非常差,就差没骂人了,后来找来找去也没找到.

    2. @shirakun嗯,,,都不支持 客服也很坑 bug也多 但是 免费→_→

    3. @小樱买了他们的硬件可不是免费了,而且比同配置路由贵很多.

  2. wu wu

    你好,请问下exsi6.5怎么使用VMware vSphere Client 登录呢?web的确太高级了,看不懂。

    1. @wu用6.0的就可以,只是不能设置虚拟机参数,6.5已经不再提供客户端了

    2. wu wu

      @shirakun感谢回复,一口气从5.5升级到6.5 7388607,搜索了一下超过版本5969303的都不能用客户端,我再慢慢摸索下设置。

    3. @wu可以使用,我不会再web页面配置虚拟交换机,就是在客户端配置完再去web配置其它设置的,最好绑域名换个ssl证书,我没装ssl之前时不时就会出现密码错误,只能硬重启机器,不知为什么,换了证书之后就好了.

    4. WU WU

      @shirakun新年快乐,网络配置终于弄好了,域名会绑,但是证书怎么导入?使用的是在你那儿签名的泛SSL,直接导入证书,web提示无法导入SSL证书后直接崩掉,得去官网强制重启机器。

    5. @WU官网有配置文档
      http://pubs.vmware.com/vsphere-50/index.jsp?topic=%2Fcom.vmware.vsphere.security.doc_50%2FGUID-A261E6D8-03E4-48ED-ADB6-473C2DAAB7AD.html