Terrarum::异世界丨居正博客

Recent content on Terrarum::异世界丨居正博客

马上订阅 Terrarum::异世界丨居正博客 RSS 更新: https://blog.skyju.cc/index.xml

用 Incus/LXD 在 VPS 上开小鸡,给虚拟机分发 /64 的独立 IPv6

2025年1月14日 09:37
Featured image of post 用 Incus/LXD 在 VPS 上开小鸡,给虚拟机分发 /64 的独立 IPv6

如果手上有 /64 这种整段 IPv6 的 KVM 虚拟机的话,可以玩一下用这种方式开小鸡。

这篇之前的博文介绍了 Proxmox VE 配置 IPv6 的情况,其实原理都是一样的。不过这里操作的是 Ubuntu,主要用 netplan。

Incus/LXD 是另一个虚拟机管理平台,对比 Proxmox VE 的优点是可以在任意 Linux 系统上安装,且不需要更换内核,也更节省资源。缺点是功能不如 PVE 多。关于 Incus 的安装和 Web UI 的使用可以去网上搜搜教程。

Incus 是 LXD 的一个社区版 Fork,两者没什么大的区别。但由于 LXD 改用了 Canonical 的许可证,且需要 snap 安装,所以一般建议用 Incus。

母鸡配置:

网关:2403:71c0:2000::1

拥有的子网:2403:71c0:2000:a217::/64

首先在/etc/sysctl.conf 里开启 IPv6 转发:

1
net.ipv6.conf.all.forwarding=1

然后 sysctl -p 生效。

在 Incus UI 里加一个 vmv6 的网卡:

image-20250114094226086

关闭 IPv4 地址和 IPv6 的 NAT。这里给的 vmv6 网卡是/64 整个子网,网关是 2403:71c0:2000:a217::1212(母鸡本机 IPv6)。

母鸡 netplan:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
network:
  version: 2
  ethernets:
    eth0:
      addresses:
        - 2403:71c0:2000:a217::1212/128
      routes:
        - to: "2403:71c0:2000::1/128"
          scope: link
        - to: "::/0"
          via: "2403:71c0:2000::1"

几个地方需要注意:

  • 母鸡上的 eth0 实际上相当于物理网卡,我们虽然用 incus vmv6 代理了 IPv6 的子网分发,但真正最终上网要经过的还是这个物理网卡。

  • 母鸡 IPv6 是 2403:71c0:2000:a217::1212/128,只分配单个/128 的,防止和 vmv6 的冲突。2403:71c0:2000:a217::1212 是母鸡的本机 IPv6,也相当于作为小鸡的网关。

  • 走物理网关地址单个 2403:71c0:2000::1/128 配置直接 link,不需要路由转发。

  • 母鸡上网直接走物理网关 2403:71c0:2000::1,vmv6 上网实际上最终的流量也还是会被路由到这个物理网关,正如前面所说的。

效果:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
root@anontokyo:~# ip a
...
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:16:3c:ad:57:5d brd ff:ff:ff:ff:ff:ff
    altname enp0s3
    altname ens3
    inet6 2403:71c0:2000:a217::1212/128 scope global...

剩余内容已隐藏

查看完整文章以阅读更多