前言
上篇简单介绍了下 tailscale 的部署,都是一些基础的功能,由于先前把 tailscale 直接部署到 nas 上,组网要访问的也就 nas ,所以也够用。但是现在虚拟机里面装了个 openwrt 当旁路由网关,想把 tailscale 也部署在这之上,但是 ip 与 nas 的不一样了,不能直接访问,所以需要用到子网路由功能,也顺便记录一下~
血与泪的教训
如果使用官方 openwrt ,千万千万千万要把软件包中的 dnsmasq 移除,换成 dnsmasq-full!!!否则可能导致子网路由访问不了!!!
旁路由配置
安装 tailscale
在 系统 -> 软件包 中,搜索 tailscale 然后安装即可!(有 2 个)
装完后,需要 ssh 连接到 openwrt 中,由于服务端我用 docker headscale 搭建,所以输入如下命令:
tailscale up --login-server=https://yourservers --advertise-routes=192.168.12.0/24 --accept-routes=true --accept-dns=false
--advertise-routes
:需要上报 tailscale 的子网,也就是 openwrt 所在网段,让其他设备可以被访问到!--accept-routes
:接受路由,也就是其他设备上报的组网,开启就可以直接访问其他设备的子网了!--accept-dns
:接受下发的 DNS,一般我都是关闭,它会篡改当前设备的 DNS 配置。
--login-server
参数即可!不出意外的话,会返回一串 URL,然后在浏览器中打开,会看到一串命令:
进入 VPS,再进入到 headscale 容器内部:
docker exec -it headscale /bin/sh
然后输入上面的浏览器中的代码注册(把 USERNAME 改成你注册在 headscale 中的用户名),看到成功提示即可!
最后注意,要让其他组网内设备访问到子网的话,需要在 webui 中开启相关路由:
配置防火墙
进入 openwrt 网络 -> 接口 菜单,选择 添加新接口,名称任意,协议选 静态地址,设备选 tailscale0(也就是安装 tailscale 后自动创建的设备):
点击 创建接口,下一步需要填写 IP 和子网掩码即可!(IP 和在服务端查看分配的 IP):
防火墙设置 中,自定义一个防火墙名,最后点击 保存 -> 保存并应用:
然后进入 网络 -> 防火墙 ,点击刚刚新建的规则后的编辑,入站数据修改为 接受,转发数据也修改为 接受,勾选 IP 动态伪装、MSS 钳制,允许转发到目标区域 选择 lan 和 wan,允许来自源区域的转发 选择 lan 即可,如下图:
最后 保存 -> 保存并应用,openwrt 这边的设置就完成了!
主路由配置
进入主路由,这边只要配置下静态路由就可以了,以 ASUS 的路由器为例,参考如下:
应用后,就可以连接网络了~
Comments NOTHING