前言
最近趁着 Dacentec 的特价服务器上架了,趁机上了一台来玩耍。机子总体的性能还过得去,毕竟一分钱一分货,钱没到位货就不能要求太高。一开始装机的时候,是给了 IP-KVM 让我自行安装的,然而组了软 Raid1 然后 Debian / Ubuntu 等系统我都没做好启动的设置,所以干脆直接就安装了 Proxmax 这个虚拟化系统。
Proxmax 实际上就是基于 Debian 的一个包,为了方便安装官方打包成了 iso 镜像来给我们。安装过程挺顺利的,组好软 Raid1 然后就顺利的进到系统了。
虽然这台服务器的 IP 给的是 /30
,但是除去一个网关地址、一个广播地址,其实实际上能用的 IP 就只有一个,那么我要用 Proxmax 就只能用 nat 转发了。
后来,在 Dacentec 的 Wiki 上面搜了一下,发现是可以免费拿到一个 IPv6 段的,马上就去发了 Ticket ,然后,很快就有了回复,拿到了我可以用的 IPv6 地址。
下面就讲讲怎么把拿到的 IPv6 地址用上!
步骤
其实正如上面所说的,Proxmox 是基于 Debian 的,那么这篇教程理论上来讲也是适合单纯的 Debian 用户的。
给 Host 配置 IPv6
我们需要修改这个文件 /etc/network/interfaces
,把我们 IPv6 的地址配置上去
一般来说,在文件的最后加上下面的行就可以的了
iface vmbr0 inet6 static
address 2607:xxxx:xxxx:xxxx::2
gateway 2607:xxxx:xxxx:xxxx::1
netmask 64
服务器给我的是 IPv6 格式大概是这个样子的:Network 2607:xxxx:xxxx:xxxx::/48
因此我只需要随便选择一个 IPv6 地址即可,所以我就选了 2607:xxxx:xxxx:xxxx::2
, 然后将子网掩码设置成 64
如果并不是 Proxmox 的用户的,就把 vmbr0
改为 eth0
(改成你实际的网卡)
然后执行下面命令重启网络
service networking restart
((如果配置有问题的话,那么你的机子应该就完全离线了….
测试 Host 的 IPv6
测试也十分简单,只要 ping
一下几个地址就可以了。
- 你的 IP
- 网关 IP
- 2001:4860:4860::8888 (Google Public DNS)
- 2001:4860:4860::8844 (Google Public DNS)
如果都能 ping 通,那就证明没有问题了。
配置系统
系统内核
修改 /etc/sysctl.conf
文件,检查下面的行是否存在,如果存在就确保前面是没有注释的,如果不存在就新增加到最后
# IPv6 Packet Forwarding and Proxy NDP
net.ipv6.conf.default.forwarding = 1
net.ipv6.conf.all.forwarding = 1
net.ipv6.conf.default.proxy_ndp = 1
net.ipv6.conf.all.proxy_ndp = 1
保存后,重启系统或者执行 sysctl -p
使配置生效
OpenVZ 配置
检查 /etc/vz/vz.conf
中下面这行是没有注释的
IPV6="yes"
分配 IPv6
经过了前面的步骤之后,现在就可以正式去分配 IPv6 地址给 OpenVZ 虚拟机了。
Proxmox 的控制面板上面似乎并不支持分配 IPv6 地址,因此我们就在命令行下面进行,执行下面的语句即可
vzctl set <VEID> --ipadd 2607:xxxx:xxxx:xxxx::3 --save
( 注意不要分配重复的地址….
另外需要记住的是,除非这个 OpenVZ 虚拟机同时有 IPv4 的 nat 以及 IPv6 的地址,不然的话即可把虚拟机里面的 DNS 地址改成 ipv6 的 DNS ,不然的话就什么网站也上不去了。