OpenWrt安装配置tailscale

当前对家庭宽带而言,可以使用的IPv4公网IP越来越少,访问家庭内网的资源将会变得越来越困难。部分网友可能会选择使用frp等针对特定协议和端口的内网穿透方案,但这种方案不是十分完美,无法访问家庭内网任意设备的任意端口。最佳的选择还是通过VPN来组建大内网。就当前技术发展而言,毫无疑问必须选择WireGuard,WireGuard就是VPN的未来。

WireGuard相比于传统VPN的核心优势是没有VPN网关,所有节点之间都可以点对点(P2P)连接,效率高,速度快,成本低。

但WireGuard目前最大的痛点就是上层应用的功能不够健全,WireGuard本身只是一个内核级别的模块,它只是一个数据平面,至于上层的更高级的功能,比如秘钥交换机制,UDP打洞,ACL等,需要通过用户空间的应用来实现。

Tailscale就是基于Wireguard的一个联网工具,无需公网地址,通过去中心化,实现各个节点之间点对点的连接。配置简单友好,支持的各类平台和客户端。下面介绍在OpenWrt上的配置过程。

下载软件

下载openwrt-tailscale-enabler,然后使用Winscp工具将下载的软件上传到OpenWrt的/tmp目录下,也可以找到下载链接,直接使用wget命令下载。

wget https://github.com/adyanth/openwrt-tailscale-enabler/releases/download/v1.60.0-e428948-autoupdate/openwrt-tailscale-enabler-v1.60.0-e428948-autoupdate.tgz

将下载的文件解压缩到系统目录:

tar x -zvC / -f openwrt-tailscale-enabler-v1.60.0-e428948-autoupdate.tgz

安装依赖

opkg update opkg 
install libustream-openssl ca-bundle kmod-tun

开机启动

/etc/init.d/tailscale enable

检查开机启动项:

ls /etc/rc.d/S*tailscale*

启动tailscale

/etc/init.d/tailscale start

获取登录链接

tailscale up

复制显示的地址,并在浏览器中打开,使用谷歌或微软帐号登录Tailscale的管理主页进行验证。

编辑子网路由

在OpenWrt上输入以下命令,打开本地子路由。子网地址是OpenWrt的lan网络。

tailscale up --advertise-routes=192.168.18.0/24 --accept-dns=false

在Tailscale的管理页面上,单击设备列表右侧的更多图标,禁用密钥过期,并打开子网路由。

现在在OpenWrt上已经可以ping通其他Tailscale节点了,但其他节点还无法连接OpenWrt节点,还需要在OpenWrt上添加Tailscale接口。

添加接口

在OpenWrt上新建一个接口,协议选静态地址,设备选tailscale0,地址为Taliscale管理页面上分配的地址,掩码255.0.0.0。防火墙区域选lan区域。

配置完成后如下图所示:

添加防火墙规则

将下面内容添加加到防火墙的自定义规则当中,并重启防火墙。

iptables -I FORWARD -i tailscale0 -j ACCEPT 
iptables -I FORWARD -o tailscale0 -j ACCEPT 
iptables -t nat -I POSTROUTING -o tailscale0 -j MASQUERADE

现在各个tailscale节点之间已经可以正常互访了。

评论

  1. Bboy
    2 年前
    2023-1-10 17:29:50

    请问大佬,按照教程装好了TailScale到OpenWRT服务器上,ts的machines里面也显示都属于可以默认访问的终端,但是从一台laptopA想要SSH访问openwrt的机器,一直被告知connection refused。同样的openwrt机器,安装好了zerotier后,从laptop A可以SSH登陆zt的LAN地址。请问能怎么解决呢?谢谢

  2. kai
    1 年前
    2023-1-31 9:04:11

    这篇文章,非常棒,用类似方法也搞了zerotier的,现在两个同事跑在一个开发板上,不知道是否吃得消

  3. 茂盛
    1 年前
    2023-2-11 0:17:26

    爱快主路由,op旁路由。
    在op上安装,到第7步完成的时候,手机已经能正常访问爱快,主路由,nas等局域网设备了。第8,9步就没弄了,不知道是不是有必要的

    • 鉄血男兒
      博主
      茂盛
      1 年前
      2023-2-11 16:45:22

      旁的就不需要了

  4. Facai
    1 年前
    2023-2-16 0:37:06

    Openwrt主路由。
    在设置完第7步后,手机开4G网,已经可以访问主路由和nas等局域网设备了,是不是第8、9也不需要了?

  5. vos
    1 年前
    2023-2-21 19:58:57

    一直提示 failed to connect to local tailscaled; it doesn’t appear to be running

    • 鉄血男兒
      博主
      vos
      1 年前
      2023-2-22 17:17:57

      提示你tailscale没正确运行,检查各个步骤是否都对了

    • tuutoo
      vos
      1 年前
      2023-3-21 22:50:36

      下面这一步最后的IP地址,要输入openwrt的,比如我的OpenWrt地址是192.168.88.22 那这里10.0.0.0/24要改成192.168.88.0/24
      tailscale up –accept-dns=false –advertise-routes=10.0.0.0/24

    • jeston
      vos
      12 月前
      2023-8-08 1:28:52

      你解決了嗎?我也是這樣,。怎麼弄都不行,我已經無語了

  6. Steven
    1 年前
    2023-2-25 1:27:57

    OP,原来看别的教程安装怎么都连不上,直到看到大佬教程操作完8、9步后可以连接了。但现在有个问题是我已经执行第4步操作,并且/etc/rc.d/目录下也已经产生了S99tailscale文件,但重启路由(断电→插电)tailscale还是没有启动,还得手动启动,大佬能看看是什么原因吗?

    • 鉄血男兒
      博主
      Steven
      1 年前
      2023-2-28 9:29:29

      换一个OpenWrt的版本试一试。实在不行,也可以手动添加一条开机启动命令,请自行搜索添加方法。

  7. 多多她爸
    1 年前
    2023-4-06 14:10:56

    路由器下的设备 不安装 tailscale 可以访问 外网的 其他tailscale节点吗

    • 鉄血男兒
      博主
      多多她爸
      1 年前
      2023-4-06 15:20:08

      只要路由器安装了就可以了。后面的客户端不用安装。

      • 多多她爸
        鉄血男兒
        1 年前
        2023-4-07 1:52:57

        root@QWRT:~# /etc/init.d/tailscale start
        root@QWRT:~# /etc/init.d/tailscale enable
        root@QWRT:~# ls /etc/rc.d/S*tailscale*
        /etc/rc.d/S99tailscale
        root@QWRT:~#
        重启后 开机启动不生效 要如何修复呀

        • 鉄血男兒
          博主
          多多她爸
          1 年前
          2023-4-07 16:07:52

          不知道你用的什么版本,你可以参考一下这里

          • 多多她爸
            鉄血男兒
            1 年前
            2023-4-07 22:56:55

            大雕的 闭源 红米 AX5 QWRT 固件 链接我看了 全英文 的 我白天网络好点的时候 翻译了看看 .

  8. 多多她爸
    1 年前
    2023-4-14 1:51:30

    我今天更新了 QWRT 的固件并重新安装了一次; 发现第8第9不设置外网也可以ping 通路由器下的所有主机了; 我先不操作8/9步观察一段时间看看; 也不知道是不是 tailscale 1.38.4 版本更新的原因; 另外发现重启路由器后不会马上启动tailscale,系统日志里有重新下载的记录要下载完成后才会启动.

    • 鉄血男兒
      博主
      多多她爸
      1 年前
      2023-4-14 17:26:48

      非常细心!

  9. tt
    1 年前
    2023-4-20 4:45:23

    我有个需求有些电脑不能配置ip,这种方法已经可以让不能配置ip的电脑插到openwrt的lan口自动获取dhcp了吗?

    • 鉄血男兒
      博主
      tt
      1 年前
      2023-4-20 8:32:08

      IP地址配置跟tailscale没啥关系,这个是系统设置的问题。

  10. guest
    1 年前
    2023-6-24 23:33:48

    感谢,一路路灯,很有用的教程

  11. lwx
    1 年前
    2023-6-30 16:15:59

    安装成功,使用正常。但重启路由后,/tmp只下载了tailscaled tailscale不会下载,管理后台显示已连接,ping其它子机延迟非常高,不知道什么原因

  12. 木木360121
    9 月前
    2023-11-14 22:38:23

    大佬好,我目前在istoreos 按照第8,第9步能ping通其他节点地址,但是使用RDP等的时候无法正常连接(已开机),请问是否RDP填入的地址有问题(使用的为tailscale后台显示的100开头的配置地址),另外我也无法访问家里的路由器后台(在电脑本地安装tailscale可以连接)

    • 鉄血男兒
      博主
      木木360121
      8 月前
      2023-11-15 16:58:46

      RDP输入的地址应该为远程电脑的私网地址,不是tailscale分配的地址。

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇