V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
whileFalse
V2EX  ›  问与答

家用异地组网选型

  •  
  •   whileFalse · 3 天前 · 211 次点击
    现在用 Tailscale ,速度没问题。它号称支持子网功能,但太复杂了看不懂。
    希望实现的功能:
    1. 两个家庭分别使用网段 192.168.0.0/24 和 192.168.1.0/24
    2. 两个网段可以互访。分别使用各自的网络出口访问 Internet
    3. 最好能够在不替换现有主路由器的情况下通过添加新的设备实现
    IDAEngine
        1
    IDAEngine  
       4 小时 10 分钟前
    配置 Tailscale 网络
    设备加入网络:
    在每个家庭安装 Tailscale 的设备上登录同一 Tailscale 账户,确保设备出现在 Tailscale 管理控制台中。
    给设备命名(如 “FamilyA-Gateway” 和 “FamilyB-Gateway”),便于识别。
    启用子网路由( Subnet Routing ):
    Tailscale 默认不广播整个子网(即 192.168.0.0/24 和 192.168.1.0/24 ),需手动启用子网路由。
    在 Tailscale 管理控制台中:
    进入 “Machines” 页面,找到家庭 A 的设备(如 “FamilyA-Gateway”)。
    启用 “Subnet Router” 选项,添加子网 192.168.0.0/24 。
    对家庭 B 的设备(如 “FamilyB-Gateway”)重复操作,添加子网 192.168.1.0/24 。
    在设备上确认子网路由已启用:
    BASH
    sudo tailscale up --advertise-routes=192.168.0.0/24
    (针对家庭 A ,家庭 B 类似)。
    管理控制台中需审批路由(默认未启用),点击 “Approve” 确认。
    禁用默认出口(可选,确保互联网流量走本地):
    Tailscale 默认可能将所有流量路由到一个“退出节点”( Exit Node ),需确保互联网流量走本地出口。
    在 Tailscale 管理控制台或客户端设置中,禁用 “Use Tailscale as Exit Node” 或类似选项。
    或者,在客户端设备上设置路由规则,确保只有目标网段(如 192.168.1.0/24 )走 Tailscale ,其他流量(如 0.0.0.0/0 )走默认网关(主路由器)。
    在 Linux 上:
    BASH
    ip route add 192.168.1.0/24 dev tailscale0
    (假设 tailscale0 是 Tailscale 接口)。
    在 Windows 上:
    CMD
    route add 192.168.1.0 MASK 255.255.255.0 <Tailscale_IP_of_FamilyA_Gateway>
    步骤 4:配置家庭网络路由
    如果主路由器支持静态路由:
    家庭 A 主路由器:添加路由规则,目标网段 192.168.1.0/24 ,下一跳为 Tailscale 设备 IP (例如 192.168.0.2 )。
    家庭 B 主路由器:添加路由规则,目标网段 192.168.0.0/24 ,下一跳为 Tailscale 设备 IP (例如 192.168.1.2 )。
    如果主路由器不支持静态路由:
    在每个家庭的设备上手动添加路由规则。例如,在家庭 A 的 PC 上:
    Windows:
    CMD
    route -p add 192.168.1.0 MASK 255.255.255.0 192.168.0.2
    ( 192.168.0.2 是家庭 A 的 Tailscale 设备 IP )。
    Linux:
    BASH
    sudo ip route add 192.168.1.0/24 via 192.168.0.2
    家庭 B 类似,目标网段为 192.168.0.0/24 ,下一跳为 192.168.1.2 。
    这种方式对非技术用户可能不友好,建议至少在一台设备上运行 Tailscale 作为网关,并尽量选择支持静态路由的主路由器。
    步骤 5:测试连接
    确保两台 Tailscale 设备在线(在 Tailscale 管理控制台查看状态)。
    从家庭 A 的设备 ping 家庭 B 的设备,例如:
    BASH
    ping 192.168.1.100
    (假设 192.168.1.100 是家庭 B 的某设备 IP )。
    从家庭 B 类似测试家庭 A 的设备。
    测试互联网连接,确保访问互联网时不走对方网络出口(可通过 traceroute 或在线 IP 检测工具确认流量出口)。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5237 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 07:52 · PVG 15:52 · LAX 00:52 · JFK 03:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.