配置ipv6

首先宿主机查看当前的配置

1
sysctl -a | grep net.ipv6.conf.all.accept_ra

确认为以下值

1
net.ipv6.conf.all.accept_ra=2

不是的话

1
sysctl -w net.ipv6.conf.all.accept_ra=2

然后执行sysctl -p使配置生效

在创建LXC容器时,网络,ipv6获取方式选择SLAAC

添加设备

创建号LXC容器后,首先为容器添加tun设备

在PVE宿主机上查看设备号

1
ls -l /dev/net/tun

一般都是

root@pve:~# ls -l /dev/net/tun
crw-rw-rw- 1 root root 10, 200 May 1 01:16 /dev/net/tun

所以在 指定LXC容器的配置文件中新增两行

1
2
lxc.cgroup2.devices.allow: c 10:200 rwm
lxc.mount.entry: /dev/net/tun dev/net/tun none bind,create=file

比如我的容器ID是102

1
vim /etc/pve/lxc/102.conf

启用 IP 转发

1
2
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
echo "net.ipv6.conf.all.forwarding=1" >> /etc/sysctl.conf

立即生效

1
sysctl -p /etc/sysctl.conf

配置sysctl服务的开机启动,使上述配置重启也可以生效

1
rc-update add sysctl default

安装

首先更换软件源为清华源

1
sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositories

增加一条源,该存储库包含了一些较新的社区维护软件包。

1
echo "http://mirrors.tuna.tsinghua.edu.cn/alpine/edge/community" >> /etc/apk/repositories

安装ip6tables

1
apk add --no-cache ip6tables

使用 dhcpcd 代替默认的 udhcpc,并设置开机启动

1
2
apk add --no-cache dhcpcd
rc-update add dhcpcd default

安装Tailscale

1
apk add --no-cache tailscale

设置开机启动,并启动 tailscale

1
2
rc-update add tailscale default
rc-service tailscale start

配置

如果不配置子网路由,则执行

1
tailscale up

如果需要配置子网路由(自行修改IP段:192.168.31.0

1
tailscale up --advertise-routes=192.168.31.0/24