落叶的心思的博客

一个记录与折腾的小站

OpenWrt 上配置 Tailscale 组网与出口节点配置教程

发布时间:

发布者:

分类:

阅读数:

50

点赞数:

2

阅读时长预计:

3 分钟

前言

这个教程主要是分享一下我用 Tailscale 搭建内网组网的过程。
不用公网 IP,也不用端口转发,只要设备装上 Tailscale、登录一下账户,马上就能自动组网,像局域网一样互通,非常适合家里没公网 IP 或者懒得折腾的人。
顺带在说说 Tailscale 的 “出口节点” 怎么用。这个功能很实用,比如人在外面,想让流量走家里的网络再出去,可以实现“回家上网”,用来访问内网设备、使用局域网部署的服务。设置也不难,配置好之后手机、电脑随时切换流量出口。

Tailscale 的工作原理:

Tailscale 本质上是一个基于 WireGuard 协议的内网穿透工具,它的作用就是:让不同网络下的设备,像连着同一个路由器一样互通。
比如你有三台设备:一台家里的电脑、一台公司笔记本、一台手机,正常情况下它们各自连的网络都不一样,彼此之间互相 ping 不通。装上 Tailscale 之后,它们就能自动组网,像在一个虚拟的“内网”中,彼此之间能直接通信,就像在家里局域网下一样,访问远程桌面、NAS、开发环境都很方便。
整个过程不需要你手动转发端口,也不用公网 IP,连接是加密的,而且大多数情况下都是 P2P(点对点)直连的,如果实在穿不过 NAT,它会走 Tailscale 的中继(relay)服务器,但所有数据都是加密的,Tailscale 服务器也看不到内容。
所有设备在登录你的 Tailscale 账号之后,就会自动互相“认识”,然后通过 NAT 穿透尝试建立连接。这就是它“傻瓜式组网”的原因:不用你写配置文件,也不用你去维护节点列表,全自动。
如果你开了“出口节点”(Exit Node),那连接这个节点的设备,连公网流量也会走这台机器的网络,像是连接了你家里面的 wifi 一样,适合在外面上“家里的网”。

教程开始::

第一步:OpenWrt的设置

进入OpenWrt的后台
打开浏览器,输入你的后台地址,进入OpenWrt,输入你的登录密码。找到服务打开,在找到tailscale,打开。

运行tailscale
我们找到启用复选框 未选中,把他选中,找到保存应用,我们会看到一个Tailscale 运行中,好了大功告成,简单吧?

第二步:加入tailscale的虚拟网络

还在刚刚那个页面,在启用的复选框下面有一个已绑定用户链接 未登录,点击这个未登录的连接,加入我们的虚拟网络,点击后会跳转到tailscale的控制台页面,按照步骤一步一步的操作,这里建议使用微软账户登录,如果页面是英文的,看不懂的直接翻译就可以了。加入后不要关闭页面,有几个设置简单说下。

我们找到我们加入的设备,一般他会按照你的设备主机名命名,我这边就是OpenWrt, 所以我找到OpenWrt下面有一个Actions for openwrt 菜单按钮 已折叠 子菜单,点击他,然后在找到Disable key expiry点击,这里的意思是禁用秘钥过期,如果你只是暂时用用可以不设置这一步,页面不要关闭,后面有用。
这里其实我们已经可以用tailscale分配的虚拟IP来访问我们的OpenWrt后台了,如果你只有这点要求,其实已经可以了,如果你还想玩得更深点接着看。

第三步:开启tailscale的子网路由

开启这个子网路由后,你外网的设备连接到你的tailscale虚拟网络下,就像在你的局域网下一样,可以用你内网的IP来进行访问你的任何局域网设备。例如,我可以直接输入“192.168.31.1”直接访问我的主路由,也可以直接使用“192.168.31.2”访问我的旁路由,怎么样?爽吧。

开始操作,在我们的OpenWrt的tailscale下找到启用路由接受其他节点广播的子网路由打钩选择上,在找到一个编辑框,公开网段 编辑框 192.168.31.0/24编辑框填写你的实际网段,在找到子网互通复选框选择上,保存并应用。然后再回到我们的tailscale的控制台页面,还是找到那个菜单点击,在找到Edit route settings点击,在找到,192.168.31.0/24复选框 已选中,找到Save,tailscale的控制台基本就设置完成了,页面还是不要关闭,后面还有更好玩的玩法。

第四步:创建一个tailscale接口

找到网络,接口,添加一个新接口,名称随你,协议选择自定义,设备还选择tailscale的虚拟网卡,创建。

编辑创建好的新接口,选择防火墙,选择自定义,名称tailscale,你也可以选择你自己想创建的区域名称,保存并应用。

第五步:防火墙的设置

找到网络,防火墙,编辑你刚刚创建好的接口。

入站数据接受、出站数据接受、转发接受,IP动态伪装选择上,目标区域、源区域都选择lan,保存并应用。

然后在防火墙的通讯规则再添加一条规则,点击通讯规则,找到添加,名称随意,协议选择UDP,源区域选择任何区域,出口区域选择设备,目标端口41641,点击保存,再点击保存并应用,大功告成。

第六步:主路由的设置,如果你是旁路可以接着看

这时候我们会发现,只要是指向主路由的设备都是没办法访问的,这时候我们就要来给主路由配置路由表了。

以爱快为例,点击网络,静态路由,添加一个静态路由,接口选择lan,IP选择你tailscale的网段,子网掩码默认,网关指向你旁路,OK可以通了。

这里再说下,如果你主路由是小米或是其他牌子的硬路由,我也没办法。如果你加入的某些网络无法通,按照上面的步骤添加路由表,例如我的,a是我所在的网络192.168.31.0/24,我的b网络是192.168.32.0/24,c网络是192.168.33.0/24。添加b和c的路由表,B网络是192.168.32.0/24网段,所以我这边就添加b的网段,IP填写192.168.32.0/24,子网掩码默认,网关填写你部署了tailscale设备的IP,例如我的是192.168.31.2,我网关这里就填写192.168.31.2,添加c的我就不用再写了吧?变通下就可以了。

第七步:出口节点的妙用

这其实是一个很好用的功能,举个例子,如果你在外地,你想回家里面访问你局域网的设备,但是你还想用你家里面的网络环境来进行上网,这个时候就需要tailscale的出口节点了,否则你是不是还要开多个APP呢?

设置开始,在tailscale的页面找到出口节点作为 Tailscale 广域网出口节点,复选框选择上,点击保存并应用,这个时候我们来到tailscale的控制台,还找到你设备下面那个菜单Actions for openwrt 菜单按钮 已折叠 子菜单 点击展开,还找到Edit route settings点击,找到Use as exit node复选框选择上,点击Save,大功告成。
下面你可以用你的手机或是其他设备测试了,在你的tailscale的客户端页面找到一个“exit-node”的菜单展开,里面就是你设置的出口节点的设备了,选择一个尝试下吧。

服务端的部署应该是完毕了
至于其他的玩法各位可以自行研究研究,都有luci界面了,也可以自己多动动手了。

第八步:客户端的用法

点此下载tailscale

找到download点击,找到对应的平台下载就可以了 macOS iOS Windows Linux Android。

先说windows的

下载回来打开直接安装就可以,安装没有什么好讲的,无非就是点击next和install,最后finish。

安装完毕后在通知区域里面找到tailscale的图标,右键弹出菜单,找到Log in单机会跳转到浏览器让你登录并授权,和OpenWrt那个一样一步一步操作就好,提醒下别忘了把那个秘钥过期给取消掉。当你设置好后就可以开你的手机热点,通过你的内网地址来访问你的内网下的设备了。

下面说说手机的

因为我这边只有android的设备,所以我这边就只说下android如何使用。

安装没有什么可说的,上面地址直接下载安装就好。
安装完后在桌面找到tailscale打开,直接点击Get Started 按钮,提示,“Tailscale”想要设置一个连接,以便监控网络流量。除非您信任该来源,否则请勿接受此请求,直接点击确定,然后就会跳转到你的手机浏览器,和上面一样一步一步操作就好,完成后,使用手机流量就可以访问你的内网设备了。

至于其他平台,基本上都大同小异的,请自行摸索。

第九步:客户端连接出口节点上网

上面我们给我们的OpenWrt设置成了出口节点,我们现在在外面也要用我们家里面的网络上网,就像连接家里的wifi一样的体验。

windows在通知区域找到tailscale的图标右键弹出菜单,找到exit-node展开,选择你的OpenWrt设备即可。

android打开你的tailscale,下面也有一个exit-node的选项,点击进入选择你的OpenWrt设备即可。

这样子我们就可以使用家里面的环境上网了,当然如果你家里面带宽是一百兆以内的,这种体验并不好,因为他的速度取决于你家里的宽带上传速度。

第十步:搭建协调服务器

其实这种方法我个人并不推荐,本来也想写下的,想了想,还是算了,除了装下B,没有什么太大的实用价值,而且成本也不低,主要萌新朋友看到就可能会产生头晕恶心的症状,哈哈,如果真有朋友想搭建,可以私我,我闲下来的时候可以帮你搭,不要想着我手把手教你,我不是耶哥。

第十一步:P2P中的NAT穿越打洞

这里太详细的就不说了,你只需要知道如果你打洞不成功,就会通过tailscale的中转服务器来中转,所以你会感觉很慢,这边我就说几个我个人解决的方法。

第一,如果你有公网IP,那你直接握手基本上就没有太大问题了,前提你不要给你的网络套了一层又一层的nat,如果有能力使用IPv6我建议你把IPv6开启,那你体验会更好。

第二,如果你没有公网IP,也不会用IPv6,这你就要想办法把你的网络设置成nat1-全锥形,我这边就说下爱快和OpenWrt的设置方法。

爱快的是在,系统设置、基础设置,下面有一个上网模式:组合框 已折叠 NAT1 风险提示:此模式下网络安全风险较高,请谨慎选择,不要管他啥提示直接点击保存即可。

OpenWrt的我们可以在防火墙里面设置,位置是在、网络、防火墙、端口转发,找到添加,名称这里我们随意,协议这里我们选择任意,源区域选择wan,目标区域选择lan,内部 IP 地址选择你本机的地址,点击保存,再点击保存并应用,设置完成。

如果你是光猫拨号的,你就当我上面啥都没说。如果你有光猫的超管账号密码,直接进入光猫后台把dmz开启也可以,如果你想好好地玩,改桥接吧。

第三,如果你上面都搞不定,想提高直连的成功率,那你两地组网最好是一个运营商,否则就看运气了。

第十二步:教程完毕

这就是tailscale的基本玩法和高级玩法了,还有一些玩法,这边我有的也不会,有的也没有什么实用价值,所以也就懒得写了,有兴趣的等你玩好了可以自行研究。

转载声明:

转载此文章请注明出处。

若本文内容侵犯了您的权益,请通过本站下方邮箱与我联系,我会尽快处理,谢谢!

分享到:

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注