如上图所示,设备( A 、B 、C )和设备 D 分别通过路由器(10.10.10.1)、(20.20.20.1)连接互联网,设备 D 为树莓派 4B ( WAN 口为 eth0 ,LAN 口为 wlan0 ,已安装 openwrt ,设备 E 为手机或者 ipad 等手持设备,通过设备 D 的 DHCP 和 wifi 连接互联网(IP : 30.30.30.X)。
在设备 A 和设备 D 上已设置好 tailscale 客户端,关已连接到有独立 IP 的 headscale 服务器,设备 A 设备了--advertise-routes=10.10.10.0/24 参数,设备 D 可以正常访问到 10.10.10.0 内网的设备 B (NAS)和设备 C (Windows remote desktop)。
之前尝试过用 wireguard 组网,但是效果不理想,现在用 headscale 感觉挺好的,但也遇到了一些问题,想请问大神们设备 B 、C 、E 在不用安装 tailscale 客户端的前提下,连接到设备 D 的 wifi 的设备 E ( F 、G 、H 等)怎样才能访问设备 B 、C 提供的服务?请把具体的操作和命令都说一下,谢谢。
1
winson030 2022-10-24 01:25:44 +08:00
给设备 D 也设置 --advertise-routes=30.30.30.0/24 --accept-routes ,并开启路由转发即可。
其实就是两个内网互相访问。建议到 tailscale 的文档上看看免费版的有没有限制子网数。 |
2
unknow01 OP @winson030 有尝试在设备 D 也设置了--advertise-routes=30.30.30.0/24 参数,但是设备 E 还是无法访问路由器 10.10.10.1 的内网设备。你说的开户路由转发具体要怎么去操作呢?
|
3
winson030 2022-10-24 19:56:57 +08:00
```shell
echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.conf echo 'net.ipv6.conf.all.forwarding = 1' | sudo tee -a /etc/sysctl.conf sudo sysctl -p /etc/sysctl.conf ``` https://tailscale.com/kb/1019/subnets/ 👆这里 |