Back To Home

Back To Home 可从任意位置安全地通过 VPN 访问你的路由器,即使它没有公网 IP 或位于 NAT 之后。它使用 MikroTik 中继服务器进行间接连接,确保端到端加密且不会暴露密钥。该功能支持智能手机应用和手动 RouterOS 配置,包括与访客共享隧道,或通过 WireGuard 与计算机共享。

Back To Home

子菜单: /ip/cloud 所需软件包: routeros
所需 RouterOS 版本: v7.12 及更新版本
硬件要求: ARM/ARM64/TILE 架构设备

Back To Home 是一项便捷功能,可将你的设备配置为支持从世界任何位置通过安全 VPN 访问你的路由器和网络,即使你的路由器没有公网 IP 地址、位于 NAT 或防火墙之后。

配置通过 MikroTik Back to Home 应用完成(Android、iPhone)。

如果 VPN 服务器(你的家用路由器)具有公网 IP 地址,VPN 应用将在手机与路由器之间创建直接的 VPN 连接。但是,如果路由器无法从互联网直接访问,连接将通过 MikroTik 中继服务器建立。连接始终是端到端加密的。中继服务器或任何其他设备都无法访问加密密钥。本质上,中继只是帮助你的设备连接到路由器。连接将表现为从你的路由器发出,而不是从中继发出。在通过中继的情况下,速度可能会受到限制。

对于在无法访问某些内容的位置访问你的家庭网络或查看本国可用内容而言,该功能是一个便捷选项。它并非用于匿名;它只是用于一键式简便访问你的家庭网络。如需更精细的安全控制,我们建议使用 RouterOS 的高级选项手动配置并保护 VPN 连接。

使用应用启用 BTH

要设置 Back to Home,你应当拥有一部装有 BTH 应用的智能手机,并应身处家中,连接到路由器的 WiFi 网络。

  • 使用手机连接到路由器的 Wi-Fi。
  • 打开 Back to Home 应用(Android、iPhone)。
  • 点击 "Create new"。
  • 输入你的本地路由器 IP 地址(很可能是 192.168.88.1)、路由器的用户名和密码,然后点击 "Connect"。
  • 为隧道命名,然后点击 "Create tunnel"。
  • 你的手机将请求添加新 VPN 设置的权限。使用手机 PIN 码批准该请求。
  • 设置完成。现在你可以断开与路由器 Wi-Fi 的连接,并连接到任何其他网络,例如 LTE/5G,或者干脆现在离开家。
  • 点击 Connect 按钮以切换所选隧道的连接状态。
点击 "Create new"提供你的路由器凭据连接已建立允许添加 VPN如果设备不受支持,将显示错误

与其他手机用户共享 BTH 连接

可以为你的朋友和家人创建访客隧道。你甚至可以指定是否希望这些人同时访问你的本地网络,或者是否限制他们仅通过你的路由器使用互联网。创建共享隧道后,你可以通过手机上的任意聊天应用发送邀请链接,或当面给朋友展示二维码(在这两种情况下,朋友都需要安装 BTH 应用)。如果你想从另一部手机或从计算机通过 WireGuard(TM) 应用连接到你的路由器,同样可以做到。只需选择共享 WireGuard(TM) 配置文件,然后在 WireGuard(TM) 应用中打开该文件即可。

管理共享先连接到你的隧道连接后,创建共享提供名称和访问级别共享面板打开通过 WhatsApp、Signal 等发送邀请链接

要与某人共享你的隧道:

  • 作为所有者,连接到你的 BTH 隧道。
  • 点击隧道旁的 "..." 图标,然后点击 "Manage shares"。
  • 输入路由器的管理员密码,因为你将修改路由器配置。
  • 在 Shares 管理器中点击 "Create"。
  • 在 "Tunnel name" 中输入你朋友的名字,因为将为他们创建一个新隧道。
  • 指定这个新访客隧道的到期日期。
  • 指定该用户是否需要访问你的家庭内部网络。如果他们只想使用此隧道访问互联网,请勿勾选此项。
  • 按下 "Create tunnel" 后,手机的共享面板将打开。选择发送邀请链接的方式。
  • 对方点击此链接后,他们要么会被引导安装 BTH 应用,要么 BTH 应用将打开并允许他们在自己的手机上设置这个新的访客隧道。

通过 WireGuard(TM) 应用与计算机共享 BTH 隧道

由于没有适用于 PC 的 BTH 应用,你可以使用 WireGuard(TM) 应用连接到共享隧道。你甚至可以通过"邀请"你的计算机连接,与自己共享你的连接。

让我们创建一个新的共享,这次是为你自己,以便从 PC 使用。

创建指定名称和访问级别现在你有两个共享点击 "..." 发送邀请选择 "Share WireGuard config file"AirDrop 到你的 macOS 或通过电子邮件发送该文件

在你的计算机上安装 WireGuard 应用,然后点击 "Import Tunnel from file"


在 RouterOS 中手动配置 BTH(可选,如果你没有可用的智能手机)

信息

重要提示

需要注意的是,使用 Back to Home 无需在 RouterOS 中配置任何内容。只需使用 BTH 应用(见上文)即可启用它。Back to Home 的核心目的就是避免使用 Winbox 或命令行。以下说明仅供调试或资深管理员参考。

  1. 连接到路由器

  2. 启用 DDNS Cloud 服务:/ip/cloud/set ddns-enabled=yes

  3. 启用 Back To Home:/ip/cloud/set back-to-home-vpn=enabled

  4. 打印隧道配置:/ip/cloud/print

  5. 扫描二维码(vpn-wireguard-client-config-qrcode)或复制配置(vpn-wireguard-client-config)并输入到首选的 WireGuard® 客户端中。同一时间只有一个客户端可以使用此配置。

    :::warning 配置 Back To Home 后,会自动创建一个额外的 peer 条目,可通过运行命令 /ip/cloud/print 查看。其目的是在设备无法访问公网 IP 地址、选择通过 MikroTik 中继服务器建立连接时,使 VPN 能够正常工作。
    如果设备可以访问公网 IP 地址,则生成的 peer 条目会被忽略:

    [Peer]
    PublicKey = //////////////////////////////////////////8=
    AllowedIPs = 0.0.0.0/32
    Endpoint = example.com:12345
    PersistentKeepalive = 15 
    

    :::

移除和禁用连接

在智能手机应用中,VPN 配置会添加到系统 VPN 设置中。因此,Back to Home 应用仅充当向导。它向操作系统提供所需的配置(这就是 iPhone 会警告你将更改系统配置的原因)。

要移除已创建的连接,请进入智能手机的设置应用,并在那里移除该 VPN 连接。

在 MikroTik 路由器侧,你应手动删除 Wireguard 菜单中添加的 Peers。请注意,"revoke-and-disable" 按钮不能用于"暂停" Back to Home 功能的使用。一旦你在 RouterOS 中执行 revoke-and-disable,所有 Peers 都将与 Cloud / Relay 服务器解除关联,你将不得不从智能手机应用重新创建连接。因此,一旦你在 RouterOS IP Cloud 菜单中使用了 "revoke-and-disable" 选项,还需要从 Wireguard 菜单中删除这些 Peers,因为它们无法被重用。

属性参考

IP Cloud

子菜单: /ip/cloud

Back to Home 与 IP Cloud 共用该菜单。Back to Home 参数:

属性描述
back-to-home-vpn(enabled | revoked-and-disabled;默认:revoked-and-disabled)启用或撤销并禁用 Back to Home 服务。要使 BTH 正常工作,ddns-enabled 不能设置为 no。
vpn-dns-name(只读:string)显示分配给设备的 DNS 名称。该名称由产品序列号加上 .vpn.mynetname.net 组成。只有在至少成功完成一次 ddns-request 后,此字段才可见。
vpn-port(只读:integer)BTH VPN 使用的端口。
vpn-status(只读:string)包含描述当前 BTH 状态的文本字符串。
vpn-relay-rtts(只读;"region (ip4: time(ms), ip6: time (ms)")每个可用中继的往返时间(毫秒),IPv4 和 IPv6 的值都会显示。
vpn-relay-ipv4-status(只读:string)到中继的连接状态以及有关中继的详细信息
vpn-relay-ipv6-status(只读:string)到中继的连接状态以及有关中继的详细信息
vpn-relay-regions(只读:string)可用的 VPN 中继区域,可在 vpn-prefer-relay-code 中引用。所有可用中继都将显示在此处。
vpn-relay-addressess(只读:string)中继的 IPv4 地址
vpn-relay-addressess-ipv6(只读:string)中继的 IPv6 地址
vpn-private-key(只读:string) 敏感BTH 的私钥
vpn-public-key(只读:string)BTH 的公钥
vpn-peer-private-key(只读:string) 敏感Peer 私钥
vpn-peer-public-key(只读:string)Peer 公钥
vpn-prefer-relay-code(string;)你可以输入一个希望优先用于 BTH 连接的中继代码;如果未设置,将选择 RTT 最小的中继。
vpn-interface(只读:string)为 Back to Home WireGuard® 隧道创建的接口名称。
vpn-wireguard-client-config(只读:string)可输入到首选 WireGuard® 客户端中的配置。同一时间只有一个客户端可以使用此配置。
vpn-wireguard-client-config-qrcode(只读)可供首选 WireGuard® 客户端扫描的二维码。同一时间只有一个客户端可以使用此配置。

信息

使用 vpn-wireguard-client-config 或 vpn-wireguard-client-config-qrcode 时,这两个选项是等效的;你只需将其中之一导入你的 WireGuard 客户端设备即可。

Back to Home 用户

子菜单: /ip/cloud/back-to-home-user

自 RouterOS 7.14 起,菜单 /ip/cloud/back-to-home-user 中提供了一个新的 Back to Home 专用用户管理器,你可以在其中查看 Back to Home 移动应用添加的所有用户、修改其防火墙偏好设置,并添加新用户。

[boss@mikrotik-ax] /ip/cloud/back-to-home-user> print detail   
Flags: X - disabled; A - active   
  
 0  A name="user1" slot=3 expires=never client-address=192.168.216.3/32,fc00:0:0:216::3/128 allow-lan=no   
      private-key="OHqR2BZXJp0N6//3JzzoJhBJVb0rrSxV0dxQL/2UdXY=" public-key="Na7oEq9XLdeK8ouCUX+tC4FIM51vEnZ7mLiFqG9xiUQ="   
  
[boss@mikrotik-ax] /ip/cloud/back-to-home-user>

在此菜单中添加用户时,你可以使用命令 /interface/wireguard/peers/show-client-config user1 查看其 Wireguard 配置和二维码。

Allow-lan=no 会将用户添加到防火墙地址列表中,该列表仅允许互联网访问,但阻止用户访问你的内部网络。请注意,用户一旦添加,到期日期便无法更改。

属性描述
name(string)BTH 用户的信息性名称
expires(string;never | date:"YYYY-MM-DD HH:MM:SS"; 默认:never*)*用户的到期时间和日期。用户创建后无法更改
client-address(string:IPv4 | IPv6)客户端地址。如果未指定,将自动生成一个
allow-lan(string:yes | no;默认:no)会将用户添加到防火墙地址列表中,该列表仅允许互联网访问,但阻止用户访问你的内部网络
private-key(string;) 敏感用户的私钥,如果未手动设置,将由系统生成
public-key(string;)用户的公钥,如果未手动设置,将由系统生成