如何将tailscale设置为透明l2开关

问题描述 投票:0回答:1

我有两台机器,vm1、vm2,两台机器上都安装了 tailscale。 每台机器都运行 lxd 和容器。 每台机器都有自己的私有子网,分别为 10.55.1.0/24 和 10.55.5.0/24。

Tailscale 设置为通告路由,以便 vm1 或 vm2 上的容器可以相互通信。 vm1 或 vm2 上的容器可以 ping 另一台主机上的其他容器,tcp 和 udp 工作正常。

问题在于,一旦数据包跳过 tailscale 隧道,它们就会丢失源 ip,但会拥有 它们源自的机器的 tailscale0 地址的 ip 地址。 即容器 1(地址为 10.55.1.20)对 vm2(地址为 10.55.5.20)上的容器 2 执行 ping 操作。 当数据包到达 vm2 时,看起来像是来自 vm1 (100.64.x.x),而不是 10.55.1.20)

我似乎无法找到tailscale up标志的正确组合,以使tailscale不NAT源地址。

--snat-subnet-routes=false 看起来像是要使用的正确标志,但我在测试中看不到任何差异。

vm1 尾部向上命令:

tailscale up --accept-routes --accept-dns=false --advertise-routes=10.55.5.0/24 --snat-subnet-routes=false

vm2 tailscale up 命令与通告的子网不同。

我想看到的:

在容器2上,来自容器1的任何数据包都应具有源地址10.55.1.20,而不是vm1的100.64.x.x。

vm1 和 vm2 是 debian linux 机器,并且正在运行最新的 tailscale 客户端 (1.26.1)

我尝试使用 tailscale0 设置一座桥,如下所述: 桥接接口和 Tailscale“Raspberry” 但没有取得任何成功 - 但这可能是另一个问题。

linux subnet lxd tailscale
1个回答
0
投票

不要在每个 lxd 服务器上安装 tailscale 霸主,而是在每个 lxd 容器中安装 tailscale 用户空间模块。

© www.soinside.com 2019 - 2024. All rights reserved.