V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MrGba2z
V2EX  ›  宽带症候群

请教个旁路由的一个小问题

  •  
  •   MrGba2z · 2023-08-19 12:21:16 +08:00 · 2628 次点击
    这是一个创建于 460 天前的主题,其中的信息可能已经有所发展或是发生改变。

    请不要纠结旁路有这个名字,我也不知道该用什么名字合适。

    这里的旁路由是指这样的网络布局(全都在一个子网下)

    • 主路由.1 上面桥接猫, 负责所有 dhcp
    • 旁路由.2 上接主路由
    • 需要魔法的设备.n 会被分配到.2 作为网关和 dns 查询

    旁路由.2 会根据策略选择坐飞机或者直连

    问题 1:不管直连还是坐飞机,是否魔法设备的流量路径都会是 设备<->旁路由<->主路由?(既旁路由如果链路速度有瓶颈,会影响最大速度?)

    问题 2:如果上面的是对的,那么想要在碰到直连时流量不经过旁路由的话,除了把策略软件安装在需要魔法的设备上,还有别的方法吗?(假想:旁路由:“你这个地址直接去主路由,别找我”)

    (换个方式问的话:在大型的且自带魔法的网络布局下,是如何保证梯子设备不成为瓶颈的?在不考虑有子网的情况下,我想到的就是用同等或者更强的硬件来做旁路由)

    21 条回复    2023-08-24 12:27:58 +08:00
    bing1178
        1
    bing1178  
       2023-08-19 12:30:08 +08:00
    建议 dhcp 分的网关是 主路由

    只有需要魔法的设备 手动改网关指向旁路由 , 旁路由的线路是 设备<->旁路由<->主路由。

    只要你硬件强。 这点绕路问题不大。
    yyzh
        2
    yyzh  
       2023-08-19 12:33:51 +08:00 via Android
    1 对 2 不行 3 买好点的 u
    leonshaw
        3
    leonshaw  
       2023-08-19 12:34:20 +08:00 via Android   ❤️ 1
    1. 不做代理或 NAT 的话,下行流量从主路由直接到设备
    2. 协议上有 ICMP redirect ,但是设备不一定认
    SenLief
        4
    SenLief  
       2023-08-19 12:38:20 +08:00
    如果你主路由可以分流的话,其实利用主路由分流最好了,需要代理的给旁路由,不需要的直接主路由。
    MrGba2z
        5
    MrGba2z  
    OP
       2023-08-19 12:41:06 +08:00
    @bing1178
    因为大部分设备(有挺多的,pve 里经常开新的机器)还是想魔法的 所以为了简化操作还是默认分配了旁路由当网关,真的不需要的比如 iot 那些我会手动在主路由里指定他们用默认网关


    @leonshaw
    如果下行流量是直达的话那可能不太需要考虑这个问题了。毕竟国内的上行流量就那么点大。。。
    carrionlee
        6
    carrionlee  
       2023-08-19 21:02:48 +08:00
    主路由做策略路由,所有设备网关和 dns 都是主路由,主路由来决定哪些设备在访问需要科学的地址时走旁路。
    ppbaozi
        7
    ppbaozi  
       2023-08-20 03:38:31 +08:00 via iPhone
    2 楼❌
    3 楼✅
    Ipsum
        8
    Ipsum  
       2023-08-20 09:22:15 +08:00
    先用个 dns 分流魔法,然后使用 clash 的 fake-ip 。需要魔法的直接静态路由。
    laozhoubuluo
        9
    laozhoubuluo  
       2023-08-20 20:06:00 +08:00
    1. 出去的路径一定是 设备-旁路由-主路由,如果最后没走梯子的话回程流量是 主路由-设备 。
    2. 主设备配置境外需要走梯子的 IP 段,相关 IP 段定向到旁路由也可以,不过家用设备输入不了这么多静态路由。
    3. 家用、小规模单位就是靠路由器和梯子服务器能力抗。
    flynaj
        10
    flynaj  
       2023-08-20 22:55:44 +08:00 via Android
    只想要一个路由器就行,路由表,smartdns.可以应对大多数情况。
    Naples
        11
    Naples  
       2023-08-21 10:51:28 +08:00 via Android
    @laozhoubuluo 确实,我网络结构与楼主一直,主路由是 mikrotik ,发现未翻墙的下行流量不经旁路由,但任何上行流量都得从旁路由出去。

    想请教下,为何未翻墙的下行流量可以“直连”?
    kaedeair
        12
    kaedeair  
       2023-08-21 10:59:03 +08:00
    @Naples 因为被分出去的流量会进行处理,变成旁路由发出去的,其他国内流量是包转发
    xhcnb
        13
    xhcnb  
       2023-08-21 11:02:20 +08:00
    @Naples #11 因为你的旁路由在转发未翻墙流量的时候没有进行 NAT, 这样主路由就知道了原始源 IP 了, 返程的时候就直接给源 IP 了
    rojer12
        14
    rojer12  
       2023-08-21 14:20:05 +08:00
    配不同的网关就可以解决了吧?
    我的主路由是 192.168.x.1 dns114 ,旁路由是 192.168.x.254dns 四个 8
    laozhoubuluo
        16
    laozhoubuluo  
       2023-08-21 16:23:43 +08:00
    @Naples 因为 TCP/IP 网络里面每个设备转发数据都只看自己的路由表。
    设备的默认路由因为指向了旁路由,因此所有去互联网的数据都匹配默认路由指向旁路由。
    对于未翻墙的数据来说,旁路由如果没做 NAT 等特殊处理的话那就把数据包原样交给主路由,回程的时候路由器查到目的地址位于路由器同网段内就直接交给设备了。
    对于翻墙的数据来说,旁路由会把他封装到梯子协议中,数据包源地址变为旁路由,目的地址变为梯子,自然就需要路由器发给旁路由,旁路由解开梯子协议之后再重新组装数据包发给设备。
    lovelylain
        17
    lovelylain  
       2023-08-21 20:37:33 +08:00 via Android
    1 是 2 如果你主路由上面能用
    Archeb
        18
    Archeb  
       2023-08-22 00:13:06 +08:00
    @laozhoubuluo
    @leonshaw

    理论上是这样没错,但是如果是用 Clash 的话其实还是会再 NAT 一次。
    有不少人想要让 clash 的 DIRECT 支持直接转发数据包来达到这个效果( https://github.com/Dreamacro/clash/issues/1876 )但是没有后文

    想知道大家都是怎么解决的?直接在旁路由上做 iptables 规则不让数据包到 clash 里的话,又失去了 clash 规则的灵活性。
    conglovely
        19
    conglovely  
       2023-08-22 09:08:08 +08:00
    我的方案:
    主路由用爱快,旁路由用 openwrt
    DHCP 配置网关为主路由,将需要科学上网的设备做静态 IP 分到同个组,流控分流->端口分流->下一跳网关配置旁路由
    旁路由崩了也别影响你老婆刷手机:)
    cloudyrs
        20
    cloudyrs  
       2023-08-23 14:15:21 +08:00
    我目前的做法是:
    主路由作为 dhcp 、默认网关、默认 dns
    旁路由装了梯子
    主路由对需要坐飞机的设备设置了静态 ip 、网关(指向旁路由)、dns (指向旁路由),其余设备自动分配 IP 、默认网关(主路由)、默认 dns (主路由)
    dawnh
        21
    dawnh  
       2023-08-24 12:27:58 +08:00   ❤️ 3
    问题 1:不管直连还是坐飞机,是否魔法设备的流量路径都会是 设备<->旁路由<->主路由?(既旁路由如果链路速度有瓶颈,会影响最大速度?)

    这个其实比较复杂。流量分上行下行。上行流量是你下面设备的默认网关控制的。所以只要设置网关为旁路由的,上行必然经过旁路由。但下行流量要具体看情况。因为主路由,旁路由,和上网设备都在同一子网,所以拓扑上看是完全直连的。所以下行流量应该是在主路由 NAT 转换回内网 IP 后直接发回设备,不会经过旁路由。但是有例外,旁路由因为有魔法加持,在上行流量经过时有部分魔法加持的流量被装箱飞国外节点了,这个装箱行为会写上标签源地址时旁路由自己,所以相应魔法加持过的流量在下行阶段的目的地址时旁路由地址。然后旁路由再拆箱变成原始下行。正因为这个魔法加持的影响,所以造成了没有魔法加持的流量主路由直接传输到设备,魔法加持的流量必然走旁路由。
    所以这里如果要讨论速度影响的话,实际上有点过度考虑。原因有 2 点:1. 上行流量远小于下行,基本上可以认为任何弱鸡设备都能跑得起。2. 因为旁路本身应该有国内国外分流功能,而分流后需要魔法加持的流量更小,所以更不用担心了。

    问题 2:如果上面的是对的,那么想要在碰到直连时流量不经过旁路由的话,除了把策略软件安装在需要魔法的设备上,还有别的方法吗?(假想:旁路由:“你这个地址直接去主路由,别找我”)

    没必要这么做,如果只论技术上可行性,那可以主路由上再做针对 IP 段的策略路由,提前筛选一遍,把需要魔法加持的流量路由到旁路由。但是针对 IP 段的分流策略远不如目前魔法技能的那些域名+IP 策略方式灵活和精准。所以还不如不做,让旁路由上面的魔法工作起来就好。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3596 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 00:53 · PVG 08:53 · LAX 16:53 · JFK 19:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.