昨天跟风入手了KIMSUFI-LE
独服,配置和价格都很不错。唯一槽点是机器只有下行是G口,上行被限制在了100M。听说有几率中奖开到上下都是G口,还听说有几率IPV6的上下行都是G口(仅IPV4限速)。结果我开的机器2个奖都没中(′⌒`)。
写这个教程主要是给IPV6中奖者开小鸡一个参考。IPv4设置较简单,这里只设置了小鸡可以访问IPv4外网,并没有给小鸡分配端口转发(这类教程网上很多)。
我以前都是用proxmox【PVE】
开小鸡,这次还是用它。
KIMSUFI后台装系统可以直接选择安装proxmox【PVE】
系统,这里略过。
系统安装完毕后,会收到通知邮件。邮件内有个链接,打开该链接会看到服务器root密码。
等待安装系统时,您先在kimsufi控制台点IP
按钮,查看分配给您的IPV6地址,并记录下来,一会要用。
SSH连接独服。
使用命令vi /etc/network/interfaces
修改文件 /etc/network/interfaces,按insert
键进入编辑模式,在末尾添加如下内容(其中涉及到的IPV6地址要换成你自己的):
iface vmbr0 inet6 static
address 2001:41d0:2:cf5a::1
auto vmbr1
iface vmbr1 inet static
address 10.1.1.1/24
bridge-ports none
bridge-stp off
bridge-fd 0
post-up iptables -t nat -A POSTROUTING -s '10.1.1.1/24' -o vmbr0 -j MASQUERADE
pre-down iptables -t nat -D POSTROUTING -s '10.1.1.1/24' -o vmbr0 -j MASQUERADE
iface vmbr1 inet6 static
address 2001:41d0:2:cf5a::2/64
post-up /sbin/ip -f inet6 route add 2001:41d0:2:cfff:ff:ff:ff:ff dev vmbr0
pre-down /sbin/ip -f inet6 route del 2001:41d0:2:cfff:ff:ff:ff:ff dev vmbr0
post-up /sbin/ip -f inet6 route add default via 2001:41d0:2:cfff:ff:ff:ff:ff
pre-down /sbin/ip -f inet6 route del default via 2001:41d0:2:cfff:ff:ff:ff:ff
post-up /sbin/ip -f inet6 neigh add proxy 2001:41d0:2:cf5a::2 dev vmbr1
pre-down /sbin/ip -f inet6 neigh del proxy 2001:41d0:2:cf5a::2 dev vmbr1
post-up /sbin/ip -f inet6 neigh add proxy 2001:41d0:2:cf5a::100 dev vmbr0
pre-down /sbin/ip -f inet6 neigh del proxy 2001:41d0:2:cf5a::100 dev vmbr0
vmbr1
是负责小鸡网络的虚拟网卡。2001:41d0:2:cfff:ff:ff:ff:ff
是由分配给独服的IPV6地址转换而来,规则就是第3个冒号后面的后2位开始,全部换成ff
。2001:41d0:2:cf5a::2
是给虚拟网卡vmbr1
的地址,这个地址也将作为小鸡们的IPV6网关。2001:41d0:2:cf5a::100
是小鸡将要使用的地址。如果要建立多个小鸡,就增加末尾2行对应的小鸡地址的代码,增加后需要重启服务器。想立即生效可以手动在母机上运行一下(以小鸡IP尾号101为例):/sbin/ip -f inet6 neigh add proxy 2001:41d0:2:cf5a::101 dev vmbr0
另外还有个一劳永逸的方法,可以免去最后两行,以后再开多个小鸡也不再需要其他设置,点此了解使用NPD6自动配置IPV6子网。
添加后按ESC
键退出编辑模式,然后输入:wq
,按ENTER
键保存退出。然后运行下面命令使网卡配置生效:
/etc/init.d/networking restart
更新:如果您重启网络遇到错误,再运行
systemctl status networking.service
查看详情,如果错误信息里含有RTNETLINK answers: File exists
和ifup: failed to bring up vmbr1
,可能是你之前执行过错误的配置,导致错误的vmbr1
残留在系统内,可运行下面的命令尝试解决: ip addr flush dev vmbr1 /etc/init.d/networking restart 如果还有错误,就从文件/etc/network/interfaces
中去掉下面两行,再执行上个步骤重启网络: post-up /sbin/ip -f inet6 route add default via 2001:41d0:2:cfff:ff:ff:ff:ff pre-down /sbin/ip -f inet6 route del default via 2001:41d0:2:cfff:ff:ff:ff:ff
使用命令vi /etc/sysctl.conf
修改文件 /etc/sysctl.conf,按insert
键进入编辑模式,在任意位置添加如下内容:
net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1
net.ipv6.conf.all.proxy_ndp = 1
net.ipv6.conf.default.forwarding = 1
net.ipv6.conf.vmbr0.autoconf=0
net.ipv6.conf.vmbr0.accept_ra=2
某些教程还会有
net.ipv6.bindv6only = 1
。实测会导致服务器重启后网络故障,千万不要写这行。
添加后按ESC
键退出编辑模式,然后输入:wq
,按ENTER
键保存退出。
执行命令sysctl -p
,使配置生效。
注意:截图中的net.ipv6.bindv6only=1是错的,要去掉,或者值设为0。旧图我懒得更换了。
通过https://你的IP:8006
进入proxmox【PVE】
WEB管理界面。使用用户root和密码登录。
这里以开CT小鸡为例。
依次点击菜单local
、CT模板
、模板
,在打开的界面中选择想要用的系统模板下载。
点击网页右上角的创建CT
。
依次设置主机名
、密码
;模板
;跟磁盘
;CPU
;内存
;网络
;DNS
信息。下面只贴出最关键的网络
设置示例图,:
桥接
选择刚才新建的那个虚拟网口vmbr1
IPV4/CIDR
设置小鸡的内网IP,后面要加/24
。IPV4网关设置为vmbr1
的IPV4地址,后面不带/24
IPV6/CIDR
设置小鸡的IPV6地址,后面要加/64
。IPV6网关设置为vmbr1
的IPV6地址,后面不带/64
另外,DNS
选项卡可以不设置,保持默认即可。
设置完毕后等待系统创建小鸡,创建完毕后点左侧菜单的小鸡ID,然后点网页右上角启动
按钮,就可以启动小鸡了。
点控制台
可进入小鸡界面,ping6一下试试。
KVM小鸡在创建时选择网络桥接到vmbr1
,其他的要在小鸡内部设置。
这个步骤较简单,直接上图。
后面如果再开小鸡,比方说使用IP2001:41d0:2:cf5a::101
,开完小鸡后在母机里面执行一下下面代码,可以免重启使网络生效:
/sbin/ip -f inet6 neigh add proxy 2001:41d0:2:cf5a::101 dev vmbr0
KIMSUFI家的机器只要严格按照本文设置,基本可以确保小鸡内IPV4和IPV6都可以连接外网。小鸡也可以通过IPV6被外网访问。如要通过IPV4访问小鸡,需要在母机设置NAT端口转发,网上端口转发教程比较多,这里暂不讨论,只提供一个例子。若要通过IPV4的10080端口访问100号小鸡的80端口,在/etc/network/interfaces
文件的vmbr1
下增加:
post-up iptables -t nat -A PREROUTING -p tcp --dport 10080 -j DNAT --to-destination 10.1.1.100:80
pre-down iptables -t nat -D PREROUTING -p tcp --dport 10080 -j DNAT --to-destination 10.1.1.100:80
保存后重启网络服务生效:/etc/init.d/networking restart
。如果不想重启网络,可以手动在母机执行一下这个命令:
iptables -t nat -A PREROUTING -p tcp --dport 10080 -j DNAT --to-destination 10.1.1.100:80
这样会立即生效。
备忘:有的教程修改
/etc/network/interfaces
时还有下面两行,我实测不写也可以。 post-up /sbin/ip -f inet6 route add 2001:41d0:2:cf5a::100 dev vmbr1 pre-down /sbin/ip -f inet6 route del 2001:41d0:2:cf5a::100 dev vmbr1
此教程参考了网上的诸多其他教程【虽然几乎没有(完全/完美)能用的】,我本人也进行了很多试错和测试。如需转载请注明出处。