V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
koswu
V2EX  ›  路由器

对于所谓“旁路由”的疑惑

  •  1
     
  •   koswu · 2020-04-16 14:10:41 +08:00 · 26423 次点击
    这是一个创建于 464 天前的主题,其中的信息可能已经有所发展或是发生改变。

    经常在网上能看到有人组 旁路由 这个东西,说是把用网设备的网关设置为旁路由,既能享受主路由的带宽,又能使用旁路由的功能,比如用 N1 、树莓派做旁路由。但是我寻思着,如果把网关设置为旁路由的话,不是每个数据包都会经过这样的路径吗?

    终端->主路由->旁路由->主路由->外网
    

    这样发的话,岂不是最终仍然要受到旁路由的带宽影响,甚至因为一来一回还会降低速度。不如直接接到旁路由上,最多套个交换机

    希望对这方面有了解的人能够解答一下我的疑惑

    38 条回复    2020-06-18 13:17:45 +08:00
    chinni
        1
    chinni   2020-04-16 14:17:05 +08:00   ❤️ 1
    旁路由 其实应该是这么使用 不知道网上所谓得旁路有是不是 估计 80%不是的
    首先 所有局域网设备都设置网关 比如是 192.168.1.1 然后 1.1 这个设备是需要配置一个动态路由表的 利用 mangle 表标记 然后把目标 IP 是在一定定义范围内的数据包 设置下一条路由是旁路设备的 IP 例如 1.10
    那最终会有 2 个路出去
    1. 不在定义范围内的 访问目标 IP 终端->主路由->目标 IP
    2. 在定义范围内的 访问目标 IP 终端->主路由->旁路由->主路由->目标 IP
    jiangyang123
        2
    jiangyang123   2020-04-16 14:17:18 +08:00
    做旁路由的设备一般只有一个网口的
    jip
        3
    jip   2020-04-16 14:17:25 +08:00
    1 、网络链路确实加长了,ping 值会高一点点。2 、旁路有主要是用来处理需要 cpu 计算的那些工作,部分旁路由支持 aes 硬件加密,可以取得更高的效率。3 、yt 上有各种旁路由效果测试视频,可参考。
    jiangyang123
        4
    jiangyang123   2020-04-16 14:20:56 +08:00
    @chinni #1 哪有这么复杂
    digimoon
        5
    digimoon   2020-04-16 14:23:20 +08:00
    你看看这么组的那些人的旁路由有多少网口就明白了
    herozzm
        6
    herozzm   2020-04-16 14:23:42 +08:00
    主路由负责素有上网行为,旁路由作为中间层,典型应用是这样:ros 做主路由,性能强劲稳定,但是它不支持科学上网插件,这个时候就需要引入旁路由 openwrt 安装科学上网插件实现
    also24
        7
    also24   2020-04-16 14:26:26 +08:00
    如果 『每个包』都过旁路由,那直接将旁路由升级为主路由做出口就好了。
    实际中需要通过路由表或多网关的方式做分流,只将必要的流量经过旁路由。


    至于路径,使用多网关的方式,完全可以:
    终端->旁路由->主路由->外网
    chinni
        8
    chinni   2020-04-16 14:28:18 +08:00
    @jiangyang123 网上大多所谓旁路由 就是加了一层 然后又是单口 必定局域网性能减半 各人看法也不同 有的人觉得无所谓. 但是这其实理论上只能成为多加了一个科学的设备 所有数据都要过. 一个口负责上下行 1G->500M .只不过看这些教程弄的人 大多没有这类需求也不是很明白原理而已 差不多理解就行 够用即可
    Sharuru
        9
    Sharuru   2020-04-16 14:30:04 +08:00
    所以直接整个厉害的软路由一步升级成主路由就完事儿了。
    also24
        10
    also24   2020-04-16 14:34:13 +08:00
    主路由使用硬路由,负责内网 DHCP 、NAT 转发,侧重稳定。

    旁路由使用软路由(可以放内网虚拟机上),负责科学上网、去广告之类的应用,侧重功能。

    大家一起接同一个二层交换上,反正内网交换至少都是千兆了,性能损耗一般都不大,干啥也方便。
    also24
        11
    also24   2020-04-16 14:35:58 +08:00
    另:
    好像不少人把『旁路由』和『单臂路由』直接划了等号?
    koswu
        12
    koswu   2020-04-16 14:38:00 +08:00
    @chinni
    可是这么设置的话,如果 1.1 这个设备是主路由,那主路由都可以设置动态路由表了,功能应该不会差吧
    如果 1.1 是旁路由的话,那就等于所有数据包都又走了一遍旁路由
    Jirajine
        13
    Jirajine   2020-04-16 14:43:01 +08:00 via Android
    一般所说的家用路由器是路由器+交换机的结合。
    网关设置为旁路由的时候数据包是直接发往旁路由的。
    但是在链路层(全都插到主路由的网口上)往往“直接发往旁路由”需要先经过主路由内置的交换机。
    also24
        14
    also24   2020-04-16 14:45:51 +08:00
    @Jirajine #13
    使用路由表方式将流量分流到旁路由的情况,还是要过主路由的三层的。
    使用多网关方式将流量分流到旁路由的情况,如你所述只需要过二层交换(主路由的交换或其它二层设备)。
    chinni
        15
    chinni   2020-04-16 14:46:18 +08:00
    @koswu 目前我局域网就是 同 @herozzm 举例的说法
    主路由 1.1. 硬件 Mikrotik ROS 然后配置了动态路由表.把国外所有 IP 都标记好. 设置下一条路由是 1.10 的 Linux 装了 debian 上面任意配置一个 基于 iptables tproxy 的工具即可. 这样 tcp udp 协议基本完美科学了. 如果需要其他协议 只能在 Ros 上再区分出 除了 tcp udp 以外的走 ros 自带的 客户端比如 l2tp 这种出去就是 ip 协议的科学. 1.10 上还能装各种离线 samba 等供局域网电视看视频用 如果预算有限就直接买个 4 口软路由搞定一切
    aureole999
        16
    aureole999   2020-04-16 14:54:02 +08:00
    终端可以有很多啊,有的走旁路由,有的不走。家里那么多设备总有不需要的,像各种智能家居,NAS 之类的。
    比如我只需要电视盒子科学一下,其它设备不需要。但盒子性能太差或不方便装软件,主无线路由器科学性能也不好,而且我不想搞梅林,就用原厂固件,稳定。就找个树莓派当旁路由做这个事。
    树莓派也只有一个网口,没法做主路由。可能有的人也是因为硬件限制只能做旁路由。
    cwbsw
        17
    cwbsw   2020-04-16 15:15:14 +08:00   ❤️ 1
    旁路由拓扑和一楼说的那种拓扑是不同的。

    设备默认网关为旁路由,科学上网流量上下行都经过旁路由,其他流量上行经过旁路由,下行流量真正的网关直接就发给设备了,并不会经过旁路由。
    cwbsw
        18
    cwbsw   2020-04-16 15:18:05 +08:00
    @chinni
    ROS 不支持 dnsmasq+ipset,只能按 IP 段分流,灵活性太低了,维护域名列表比 IP 列表容易太多了。
    xhowhy
        19
    xhowhy   2020-04-16 15:23:25 +08:00
    @cwbsw 666
    cwbsw
        20
    cwbsw   2020-04-16 15:31:30 +08:00
    旁路由最适合的场景是需要在尽量不改动原有网络布局的前提下,增加科学上网等功能。
    ryansvn
        21
    ryansvn   2020-04-16 15:46:17 +08:00   ❤️ 1
    我的理解,所谓旁路由,目前大家都是作为一个代理服务器使用的,也就是科学上网的服务器,仅此而已吧
    chinni
        22
    chinni   2020-04-16 16:26:16 +08:00
    @cwbsw 灵活可能 域名比较灵活 但是 通用的话 IP 直接包圆了 一次性配置 后续国外反正都代理 不用关系是否被干掉
    fayloue
        23
    fayloue   2020-04-16 16:36:32 +08:00 via Android
    一直感觉"旁路由"这个说法不准确,明明是加了一层路由(无论有无 net),为何称之为"旁"?
    fayloue
        24
    fayloue   2020-04-16 16:37:26 +08:00 via Android
    @fayloue 更正"net"→"nat"
    AngryPanda
        25
    AngryPanda   2020-04-16 16:39:12 +08:00
    旁路由如果可用网口足够,为啥不直接做主路由呢?
    AngryPanda
        26
    AngryPanda   2020-04-16 16:40:19 +08:00
    @ryansvn #21 我感觉你的说法不对,代理服务器应该是工作在应用层的。
    Mac
        27
    Mac   2020-04-16 16:40:31 +08:00 via Android
    旁路由主要是用来做 VPN 接入的,花生壳家就是这么搞
    cwbsw
        28
    cwbsw   2020-04-16 16:47:15 +08:00
    @chinni
    问题是 OpenWrt 或者 Debian 等一样可以实现按 GEOIP 分流,但反过来 ROS 这个封闭+阉割+老旧内核的系统却实现不了 dnsmasq+ipset 分流。
    ScepterZ
        29
    ScepterZ   2020-04-16 16:54:35 +08:00
    我理解设备到旁路由的这一步,只是过了下主路由的内置交换机部分,所以效率还是比较高的
    AllenHua
        30
    AllenHua   2020-04-16 17:51:47 +08:00
    收藏+++
    miaoxinwei
        31
    miaoxinwei   2020-04-16 18:44:14 +08:00
    话说我用软路由做主路由,1000m 只能跑到 960m
    autoxbc
        32
    autoxbc   2020-04-16 19:15:06 +08:00
    不要把旁路由当作一种日常用法,要理解为是在受限状态(无法更换主路由)下的变通手法

    这种受限可能来自多种情况
    1. 主路由性能不行但是不能换
    2. 旁路由性能好但是网口不足
    3. 做单臂路由没有网管交换机
    4. 主路由有些特殊功能不可替代

    当你并不处于类似受限状态时,旁路由就是旁门左道,不值得一看
    ileeoyo
        33
    ileeoyo   2020-04-17 10:09:43 +08:00
    @autoxbc 是的,当旁路由是一个常规的性能强劲的路由,其实就和二级路由差不多。流量都得先经过二级路由到主路由出去
    xianlu
        34
    xianlu   2020-04-18 08:08:26 +08:00
    旁啊主啊 只要库存的 N1 卖出去就好
    HEROic
        35
    HEROic   2020-04-18 14:11:46 +08:00 via Android
    @xianlu n1 它就是香啊
    zuoakang
        36
    zuoakang   2020-04-23 08:08:19 +08:00
    @autoxbc 你好,小白请教下,出租房没有光猫和交换机能做单臂路由吗?只有 n1 和 d191 路由器
    gurujune
        37
    gurujune   2020-06-13 13:26:31 +08:00
    能花小钱解决问题就好
    Rangtian
        38
    Rangtian   2020-06-18 13:17:45 +08:00   ❤️ 4
    网上的配置确实五花八门,绝大多数都是复制粘贴的。好多人都是按照这些复制粘贴的教程,关闭主路由的 DHCP,将 N1 设置为 DHCP 服务器。这其实完全没必要。

    旁路由的目的是尽量不改变当前网络拓扑,所以没必要将 DHCP 服务器设置在 N1 上。只要在主路由的 DHCP 设置中,将默认网关设置为 N1,然后 N1 的网关设置为主路由即可,其他网络设置无需改变。这样,上传流量会经过 N1 的过滤,国内下载流量不会经过 N1 。

    同时,DHCP 只是负责内网 ip 发放,与网关、NAT 无关。所以即使将 N1 设为 DHCP 服务器,NAT 转换也是主路由的工作。

    F 大的教程中有这么一句,“iptables -t nat -I POSTROUTING -j MASQUERADE”。这会导致国内下载流量经过 N1 旁路由,因为 MASQUERADE 会将 source ip 替换为 N1 的 ip,不管是否富强。

    在 N1 上 POSTROUTING MASQUERADE 毫无必要,除非将 N1 当作主路由。
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1318 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 00:40 · PVG 08:40 · LAX 17:40 · JFK 20:40
    ♥ Do have faith in what you're doing.