以前写过一篇关于群晖安装Tailscale的教程(如果还不了解Tailscale是什么的,去看“这篇教程”),考虑到有些小伙伴的NAS并非7*24小时开机或者有些小伙伴没有使用群晖,因此博主把在OpenWrt安装Tailscale设置内网穿透的方法发出来,如果你在使用OpenWrt但是宽带没有公网又想远程访问的,可以按照本教程设置。
【准备工作】
在操作之前,需要做一些准备工作:
1、需要准备一个邮箱(支持:谷歌Gmail邮箱、微软outlook邮箱、微软hotmail邮箱、苹果Apple邮箱)或者一个账号(支持:github账号、passkey账号),如果你都没有,建议先去注册(推荐注册微软邮箱):https://outlook.live.com/owa/
2、安装好OpenWrt软路由系统,并设置好网络环境,保证能正常运行和访问。
【内网穿透的设置步骤】
1、本教程使用的OpenWrt固件是博主于2024年3月1自行编译的(博主编译的全功能版、主路由版、旁路由版均可使用),如果你使用的OpenWrt固件并非博主编译的固件或者OpenWrt固件不带应用商店的有可能无法正常使用,如果你使用的OpenWrt固件版本低于该版本的建议升级到此版本或者升级到最新的版本;
2、在OpenWrt左边菜单,iStore,全部软件,搜索栏输入tailscale回车,在下图位置显示的tailscale,点“安装”;
5、点OpenWrt左边菜单,服务,Tailscale,右边显示的服务状态为“未运行”,由于直接在图形界面不好设置,所以需要到命令行去设置;
6、点OpenWrt左边菜单,系统,TTYD终端,输入超级管理员账号root以及密码,进入root状态下(如果你使用的OpenWrt固件不带TTYD终端,也可以在电脑上使用MobaXterm、Xshell、Putty之类的软件登录到OpenWrt的root状态下);
7、输入以下命令回车,启动tailscale:
/etc/init.d/tailscale start
8、输入以下命令回车,设置本设备为局域网出口,如果你的局域网不是192.168.1.X的网段,需要将命令中的192.168.1.0修改你的局域网实际的网段(假设你的openwrt的IP是10.10.10.222,那么命令应该写tailscale up --accept-dns=false --advertise-routes=10.10.10.0/24 --advertise-exit-node,注意命令行中有空格),运行后会弹出一个链接让我们登录,点击该链接:
tailscale up --accept-dns=false --advertise-routes=192.168.1.0/24 --advertise-exit-node
9、在浏览器会弹出需要登录的窗口,登录tailscale(注意:所有的设备必须要登录同一个账号才可以组网);
11、登录成功,耐心等待一会,会自动进入tailscale的管理后台;
12、在tailscale的管理后台,可以看到当前组网的设备清单(博主有NAS、台式电脑、OpenWrt旁路由、手机一共4台设备一起组网),其中名称为“openwrt-gxnas”的就是刚刚添加进入的Openwrt软路由,有个绿灯并显示Connected就表示该设备正常联网了,点右边三个小点;
13、选择“Disable key expiry”,设置该设备的密钥为永不过期;
14、看到该设备下方有显示“Expiry disabled”就设置成功,再继续点三个小点;
16、在“192.168.1.0/24”(第8个步骤命令中你写的网段是什么,这里就显示什么)和“Use as exit node”这两处打勾,再点“Save”;
17、输入命令回车,让tailscale开机自动启动:
/etc/init.d/tailscale enable
18、输入命令回车,查看tailscale是否已经生成开机自动启动的服务,看到有/etc/rc.d/S**tailscale字样(注意S后面的数字不一定跟我的一样)就表示设置成功;
ls /etc/rc.d/S*tailscale*
19、来测试一下远程访问的效果,关闭手机的WIFI使用手机流量来模拟远程访问,先在手机上打开tailscale(登录与OpenWrt同一个账号),然后在手机浏览器打开家里主路由内网IP看看,可以访问;
21、再试一下群晖NAS,全部使用内网IP,也是没有问题的,相当方便;
22、好了,操作到这里,你已经可以内网穿透回家,在外网访问家里局域网的设备了。
【科学出国的设置步骤】
如果你的OpenWrt不具备科学出国的环境,那么请无视此步骤的设置。
如果你使用的OpenWrt具备科学出国的环境,那么可以使tailscale网络内的设备通过OpenWrt代理来实现科学出国,设置步骤(本教程以手机app为例,其他客户端设置方法一样):
1、打开tailscale手机app,先激活功能(左上角开关处于Active状态),然后点右上角三个小点的下拉菜单,选择“Use exit node...”;
2、在弹出的小窗口选择在“【内网穿透的设置步骤】”第16步骤中设置的exit node出口设备名称(我这里的设备是“openwrt-gxnas”);
3、tailscale手机app会多出一行绿色的状态栏,显示exit node出口设备和名称;
【外网互访局域网设备的设置步骤】
如果你有多个局域网想组成虚拟局域网,每个局域网内的设备不需要安装tailscale客户端也可以相互访,那么除了做完“【内网穿透的设置步骤】”以外,在每个局域网内的exit node出口设备上,还需要设置以下地方:
1、在Openwrt的菜单,网络,接口,添加新接口;
2、新接口的名称我写的是tailscale,新接口的协议选择“静态地址”,在“包括以下接口”处选择“以太网适配器:tailscale0”,提交;
3、登录【tailscale后台】,找到“【内网穿透的设置步骤】”第16步骤中设置的exit node出口设备IP地址,记录下来(不要抄我的,写你的exit node出口设备实际IP);
4、把上一步骤记录的IP地址(是哪个局域网的exit node出口设备IP就写哪个,别搞混淆了),填写到下图的“IPv4地址”处,IPv4子网掩码选“255.0.0.0”;
5、点击“防火墙设置”,创建/分配防火墙区域选择“LAN”,点“保存/应用”;
6、把以下三行内容复制,到“防火墙”、“自定义规则”处粘贴,再点一下“重启防火墙”;
iptables -I FORWARD -i tailscale0 -j ACCEPT
iptables -I FORWARD -o tailscale0 -j ACCEPT
iptables -t nat -I POSTROUTING -o tailscale0 -j MASQUERADE
7、把需要做互通的网络,全部按照上面的设置好以后,所有局域网内的设备不需要安装tailscale客户端,相互之间都可以访问,实现大内网组网。
文章评论
最新固件,ttyd不显示界面,是什么问题啊?
@zcl666 我这边使用正常,没有遇到你说的问题:https://img.picui.cn/free/2025/07/06/6869ccaca917a.jpg
固件自带tailscale,点启用没反应,日志也不报错,有什么办法么?
@zcl666 信息量太少,没法判断。
用站点的新固件,防火墙没有“自定义规则”咋弄啊
@zcl666 复制命令到终端运行,一样的效果。
第八步要加"--accept-route",不然外网访问不了内网设备。
请教下大佬,我在openwrt中有使用科学上网,但会与Tailscale冲突,安装Tailscale后,科学上网服务 如Passwall就没有办法使用了,不知是什么问题,是否要进行特殊的设置呢,谢谢
@czs 我不知道你做了什么设置,所以没法回答。
@czs 把防火墙和DNS关掉,--accept-dns=false --netfilter-mode=off。
想问下,tailscale是装在旁路由吗?我这边按照这样配置,在外面的时候,访问不到主路由的ip比如192.168.27.1 但是其他都可以比如192.168.27.2(旁路由ip),是怎么回事?
@elicip 应该是你哪个步骤设置不对
博主大大,今天在虚拟机安装了最新版精简版尝试配置Tailscale,因为系统已经安装好,我通过Finalshell从第7步 /etc/init.d/tailscale start 开始,但是根本无法进行下去,在root权限下面报 “
disabled in config”, 尝试在openwrt tailscale配置勾选 启用 ,系统卡死了。还请大佬指点一下,谢谢!
@hank 我网盘里面昨晚更新的OP固件,已经内置了Tailscale,不需要敲命令安装,直接在Tailscale界面上启用,保存应用,界面上就会有看到有登录链接,点链接进去登录,登录完成后就好了,已经简化操作了。
@博主 我尝试了在openwrt tailscale配置勾选 启用 ,如何保存应用,界面就显示刷新页面,一直转圈圈,没有出现登录链接什么的。
@hank 一直使用大佬的openwrt,最新版本更新后,tailscale界面也是一直转圈圈。
上一个版本跟着教程设置完后,使用很完美了,结果一更新,不能用了。
所以好用就不能追新。
另外,在R24.9.18下配置的TS在openwrt旁路由内,在外网可以访问nas下docker内的应用,也就是说NAS IP:端口 可以外网访问,比如nasip+8999就是Qb,+9091就是Tr. 使用很丝滑,但是新部署的TS智能访问NAS了,跟着教程捋了几遍也没发现问题在哪里?
求指点一下? :hehe:
@Mphasis 先执行/etc/init.d/tailscale disable,再https://github.com/adyanth/openwrt-tailscale-enabler,按照页面提示操作,后面就可以/etc/init.d/tailscale start和up了,不要用图形界面。
@hank 我是删了最新版,重新安装的24.9.18。
@Mphasis 幸好我只是在虚拟机里面测试,没有正式安装替换24.9.18版本。看来不是只有我碰到这个问题,就先用着老版本等待博主更新了
@Mphasis 我是在威联通虚拟机内安装的旁路由,
还好不太影响网络
大大,一直用你的OP旁路由版本,今天24年11月3日升级了最新的OpenWrt_x64_旁路由版 by GXNAS build 2024.10.11 @ OpenWrt R24.9.18 / Lede - 18.06后,软件商店或终端方式里面Tailscale怎么也装不上了。。。
@Bob 商店里面提示: * opkg_install_cmd: Cannot install package app-meta-tailscale.错误,我也查询了一下OP的官网,好像软件包里面没有Tailscale这个软件包了。
@Bob 应该是Openwrt官方把tailscale去掉了,你去tailscale官网查看命令能不能手动敲命令安装吧,如果搞不定的话,以后我想办法集成进去,最近Lean的OP变动比较大,我还在调试中,需要一点时间。
@博主 我按官方方法手动在SSH下安装了,但是没有面板,也看不到状态了,感觉tailscale官方越来越不上心了,哈哈。
@Bob 下次更新我就把tailscale加进去了,直接就有管理界面的,这是预览图https://img.picui.cn/free/2024/11/04/67289580a0428.jpg
@博主 博主,烦请在精简版里也把tailscale集成进去吧。我现在是敲命令行科学上网安装的,万分感谢!
博主,反馈一个问题。我准备AIO,安装ESXI虚拟机。但是不能使用StarWind V2V Converter 把IMG转换成VMDK,尝试过精简版和旁路由版,都转换不了。能否分享VMDK文件?谢谢
截屏发不了,我通过邮件发您邮箱了!
@hank 你那个软件有点问题,卸载了吧。去我网盘下载V2V,OP固件下载解压出Img后改个名字,文件存放的路径以及Img文件自身不能有中文或者特殊符号(比如D:\openwrt\openwrt.img),再用v2v去转换就可以了。
@博主 好的,我去试一试
@博主 更新一下,转换不了的原因是文件名称包含中文,我使用官网最新版也可以成功转换了。谢谢博主!