首先在kimsufi的后台用他们提供的系统模板把机器重装一次,随便用哪个linux发行版都可以,我这里重装的是debian11。目的只是为了获取机器原始的ipv6网络配置信息。
登到机器内查看机器的ipv6地址:
ip -6 a
回显类似:
查看机器的ipv6网关:
ip -6 route list
回显类似:
kimsufi的网站上虽然标明每台机器只有/128的ipv6,但实际可用应该是/64,为了后续的步骤能够正常进行,这里先简单检查一下机器到底能用多少个ipv6,可以先往机器的主网卡接口添加一个ipv6测试:
ip addr add 2001:41d0:x:xxxx::2/128 dev eno1
在别的机器上能ping通刚添加的地址就说明可用的ipv6不止/128:
那就可以继续下面的操作了,按照我先前这篇文章的步骤安装好proxmox:
编辑网卡配置文件:
nano /etc/network/interfaces
在先前这篇文章的配置基础上,加入ipv6相关的配置:
auto lo iface lo inet loopback iface eth0 inet manual auto vmbr0 iface vmbr0 inet static address xx.xx.xx.xx/24 gateway xx.xx.xx.xx bridge-ports eth0 bridge-stp off bridge-fd 0 iface vmbr0 inet6 static address 2001:41d0:x:xxxx::1/64 gateway 2001:41d0:x:xxxx:ff:ff:ff:ff auto vmbr1 iface vmbr1 inet static address 192.168.0.1 netmask 255.255.255.0 bridge_ports none bridge_stp off bridge_fd 0 post-up echo 1 > /proc/sys/net/ipv4/ip_forward post-up iptables -t nat -A POSTROUTING -s '192.168.0.0/24' -o vmbr0 -j MASQUERADE post-down iptables -t nat -D POSTROUTING -s '192.168.0.0/24' -o vmbr0 -j MASQUERADE
重启网络服务:
systemctl restart networking.service
正常的话,现在母鸡的ipv6就通了:
为了让小鸡也能用上ipv6,现在还需要做一系列的配置。首先开启ipv6转发:
echo "net.ipv6.conf.all.forwarding = 1" >> /etc/sysctl.conf && sysctl -p
然后安装ndppd:
apt -y install ndppd
编辑ndppd的配置文件:
nano /etc/ndppd.conf
写入如下配置,ipv6地址块换成你自己的:
proxy vmbr0 { rule 2001:41d0:x:xxxx::/64 { static } }
重启ndppd服务使其生效,并设置开机自启:
systemctl restart ndppd.service systemctl enable ndppd.service
现在开小鸡的话ipv6实际上就能用了,但是只能手动设置小鸡的ipv6地址,每台都手动设置的话太麻烦,重复劳动浪费时间,所以这里可以配置radvd实现slaac。
安装radvd:
apt -y install radvd
新建radvd配置文件:
nano /etc/radvd.conf
写入如下配置,ipv6地址块换成你自己的:
interface vmbr0 { AdvSendAdvert on; MinRtrAdvInterval 3; MaxRtrAdvInterval 10; prefix 2001:41d0:x:xxxx::/64 { AdvOnLink on; AdvAutonomous on; AdvRouterAddr on; }; };
重启radvd服务使其生效,并设置开机自启:
systemctl restart radvd.service systemctl enable radvd.service
下面是开小鸡时的设置,注意不论是lxc还是kvm架构的小鸡,我这个配置统一都需要添加两个网卡。
对于lxc小鸡,在创建的时候可以先添加一个用于ipv6网络的eth0,桥接vmbr0,ipv6选择slaac:
等小鸡创建完成后再添加一个用于ipv4网络的eth1,桥接vmbr1,手动配置ipv4的地址和网关:
正常情况下,小鸡现在就是natipv4+ipv6双栈网络了:
对于kvm小鸡,实际操作大同小异,这里我就开个debian11的小鸡演示一下配置。
创建的时候先添加一个桥接vmbr0的网卡:
等小鸡创建完成后再添加一个桥接vmbr1的网卡:
打开vnc控制台开始安装系统:
这里有两块网卡ens18和ens19,实际ens18对应vmbr0,ens19对应vmbr1,这里选择ens18就可以实现ipv6的slaac:
至于ens19那块对应vmbr1的网卡,等待系统安装完成后手动配置ipv4即可。
接下来需要配置一个dns:
剩下的就是设置root密码,创建普通用户,还有分区这些了,这里就不多说了。等系统安装好,登录进去后,测试ipv6是否正常:
现在这台小鸡只有ipv6,如果还需要natipv4的话就得修改网卡配置文件,默认的配置是这样:
只需要在文件的尾部添加ens19网卡的ipv4配置:
auto ens19 iface ens19 inet static address 192.168.0.4/32 gateway 192.168.0.1
然后添加一个dns服务器:
nano /etc/resolv.conf
写入如下配置:
nameserver 8.8.8.8
重启机器即可。
在母鸡上做dnat,把小鸡的ssh端口暴露出来:
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 16823 -j DNAT --to-destination 192.168.0.4:22
最后在这台kvm小鸡内跑个bench,简单测试一下各项配置: