先决条件
- 宿主机上层有ipv6的路由器
- 需要一个双栈机器,仅需要一个ipv4公网端口,为宿主机与NodeHatch面板进行端口转发(仅面板流量使用,小小鸡不会使用到)
原理
- 为小小鸡增加一个桥接的网络,此桥接网络直接使用宿主机上层的ipv6路由。
准备
- 本次宿主机,使用sososo B区ipv6 only杜甫(购买见签名)
- 本次双栈端口转发机器,使用sososo A区的标准合租房(vps) + 一个公网端口(购买见签名)
教程
1、测试网络
检查宿主机网络状况。
宿主机没有ipv4网络,ipv6网络正常。标准的ipv6 only机器。
ping google.com -6
ping google.com -4
ip a
2、安装Node Hatch
安装Node Hatch要使用root用户。
Node Hatch安装文档
sudo su
wget -O install.sh https://docs.nodehatch.com/install.sh && chmod u+x install.sh && ./install.sh
3、创建桥接
这里宿主机使用的是netplan的网络管理器。
注意:如果你的宿主机使用的是networkmanager的网络管理器,请参考此文章建立桥接网络。
sudo apt update
sudo apt install bridge-utils
sudo vi /etc/netplan/50-cloud-init.yaml
修改前 |
修改后 |
|
|
然后应用调整。
sudo netplan apply
应用调整后,你宿主机的ipv6地址会发生变化!
请从你购买此宿主机的商家提供的vnc重新获取ip地址。
4、修改小小鸡默认网络
先把incusbr0中的ipv6干掉,避免他的干扰。
sudo incus network edit incusbr0
修改前 |
修改后 |
|
|
然后再为小小鸡添加 br0网络接口
sudo incus profile edit default
修改前 |
修改后 |
|
|
5、连接到Node Hatch面板
使用其他的双栈机器,创建一个端口转发:ipv4转发到ipv6端口
这里使用socat来进行转发,你也可以使用其他的转发方案。
token肯定过期了,重新生成一下
Node Hatch安装文档
sudo incus config trust add NodeHatchCert
然后我们去Node Hatch面板进行添加宿主机
6、切割小小鸡
准备工作都完成了,可以尽情的切割小小鸡了。
这里切割3台作为测试。每个系统一个。
7、测试小小鸡
因为面板上ipv4端口转发以及ssh都不能用,所以我们不理他,直接拿到密码进入终端看ipv6公网地址。
LXC-debian(正常工作)
LXC-alpine
问题:ipv6可正确连接到公网,但是使用ssh登陆不了。我之前没用过alpine,不知道是防火墙还是什么问题。希望有大佬来帮忙测试和解决此问题。
KVM-debian
kvm上默认网络没被启用,需要手动开启
vi /etc/network/interfaces.d/50-cloud-init
修改前 |
修改后 |
|
|
设置完成后使用如下命令重启网络(或者直接重启小小鸡也可以)
systemctl restart networking
然后我们再次查看网络,就能发现ipv6公网地址了
ip a
Enjoy!