OpenWrt 22.03 安装并配置Tailscale 解决无法启动问题

OpenWrt 22.03及以上版本,安装Tailscale后,无法启动初始化,提示“iptables: executable file not found”错误。该如何解决呢?

error: creating router: exec: “iptables”: executable file not found in $PATH

Tailscale介绍:

Tailscale是一种虚拟私人网络(VPN)解决方案,旨在简化安全网络连接。它利用现代加密技术,通过互联网连接不同设备、服务器和网络,形成一个安全的私人网络,使用户能够安全地访问远程资源和设备。Tailscale不同于传统的VPN,它使用了一种名为“WireGuard”的高性能加密协议,提供了更快的连接速度和更好的性能,同时也更易于设置和管理。用户可以轻松地在各种平台上安装和配置Tailscale,实现安全、简便的远程访问和网络连接。

OpenWrt 22.03 安装 Tailscale 遇到的问题:

Tailscale官方未提供在OpenWrt系统中安装Tailscale的方法和教程,但OpenWrt的官方源中,提供了tailscale和tailscaled两个软件包,可直接在LuCI中手动安装。

但在22.03及以上版本,安装后Tailscale无法正常启动,会提示如下错误:

error: creating router: exec: “iptables”: executable file not found in $PATH

造成上述问题的主要原因是:OpenWrt 22.03及更高版本使用nftables(取代iptables)作为firewall4的后端。Tailscale无法自动配置nftables,这会导致Tailscale守护程序无法正确启动初始化和转发流量。

OpenWrt 22.03 安装 Tailscale 方法:

第一步 安装Tailscale

opkg update
opkg install tailscale
opkg install iptables-nft

第二步 启动Tailscale,并关联账户

service tailscale restart
tailscale up --netfilter-mode=off

在OpenWrt→状态→系统日志中,找到Tailscale关联账户的链接,将设备添加至自己的Tailscale账户。

第三步 设置Tailscale自启动

在OpenWrt→系统→启动项→本地启动脚本中,将原有的Tailscale命令删除(若有),并添加一行:

tailscale up --netfilter-mode=off

第四步 网络及防火墙设置

1.创建一个新接口,路径:OpenWrt→网络→接口→添加新接口

名称:tailscale
协议:不配置协议
设备:tailscale0

2.创建一个新的防火墙“区域”,路径:OpenWrt→网络→防火墙→区域→添加

名称:tailscale
入站数据:接受(默认状态)
出站数据:接受(默认状态)
转发:接受
IP动态伪装:开启
MSS钳制:开启
涵盖的网络:tailscale
允许转发到目标区域:选择你的LAN(和/或其他内部区域,或者如果你计划将此设备用作出口节点,则选择WAN)
允许来自源区域的转发:选择你的LAN(和/或其他内部区域,如果你不想将LAN流量路由到其他tailscale主机,则留空)

点击“保存并应用”。

 

至此,就完成了在OpenWrt 22.03及更高版本安装Tailscale,并完成了基础配置。


额外的,如果希望可以直接跨网络使用内网IP访问局域网设备,除了需要对tailscale进行subnet设置外。

还需在防火墙设置中,将“lan→wan和tailscale”的“IP动态伪装”也设置为开启。

同时,建议在高级设置中,限制下需要暴露的subnet ip地址,将他们填入“要限制 IP 动态伪装的目标子网”。一方面更安全,另一方面还可以解决外网端口映射无法连通的问题。

发表回复

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