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

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

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

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

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

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

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

    45 条回复    2024-01-21 23:25:07 +08:00
    chinni
        1
    chinni  
       2020-04-16 14:17:05 +08:00   ❤️ 2
    旁路由 其实应该是这么使用 不知道网上所谓得旁路有是不是 估计 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   ❤️ 1
    你看看这么组的那些人的旁路由有多少网口就明白了
    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  
    OP
       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   ❤️ 1
    终端可以有很多啊,有的走旁路由,有的不走。家里那么多设备总有不需要的,像各种智能家居,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   ❤️ 1
    @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
    不要把旁路由当作一种日常用法,要理解为是在受限状态(无法更换主路由)下的变通手法

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

    当你并不处于类似受限状态时,旁路由就是旁门左道,不值得一看
    ileeoyo
        33
    ileeoyo  
       2020-04-17 10:09:43 +08:00   ❤️ 1
    @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   ❤️ 6
    网上的配置确实五花八门,绝大多数都是复制粘贴的。好多人都是按照这些复制粘贴的教程,关闭主路由的 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 当作主路由。
    fullsail
        39
    fullsail  
       2021-10-21 13:52:19 +08:00
    我感觉部分答案把旁路由和单臂路由搞混了。包括题主。
    题主提出的 N1,树莓派这类设备,一般是搞成单臂路由。但其实还是主路由。只是网口只有一颗,eth0 既用于内外接入也用于外网接入。
    路由最大的功能是连接不同的网络。比如公网和你的家庭网络。其他功能也包括 DHCP,DNS 等。大部分人家里其实都是光猫拨号(上 V2EX 倒不一定),光猫其实完成了主路由功能。如果你用自己的路由拨号,那么主路由就是你的拨号设备。
    旁路由的目的是在主路由的一旁进行部分功能服务,比如 DNS,DHCP,本地代理等。甚至进行辅助接入部分其他网段的网络。但不负责主要网络的流量接入等。拿家庭举例,拨号这个事情,一般还是主路由干了,那么主流量还是不会走旁旁路由。当然如果你把你的旁路有当成了 2 级路由,那么流量会走旁路由,再到主路由。
    而如果是 N1,树莓派做的单臂路由,同时用于拨号,其实就是主路由。基本辅助了路由的一切功能,流量走单臂路由很正常。
    photon006
        40
    photon006  
       2021-11-22 11:06:01 +08:00
    @autoxbc 总结得比较全面,不过有一种场景不得不用这种“旁门左道”,而且很普遍,那就是公司网络,个人入职公司不太可能把主路由换了,这时旁路由是最佳解决方案。
    colinhd8
        41
    colinhd8  
       2021-12-07 13:21:41 +08:00
    @chinni
    严重同意,这才是真正的旁路由。不过可惜 routeros 没法像 op 那样方便的维护这个列表
    colinhd8
        42
    colinhd8  
       2021-12-07 13:37:55 +08:00
    @Rangtian
    赞同。其实现在很多谓的旁路由配置,压根就是二级路由。相比起一般的二级路由只不过多了富强的功能。
    确实在旁路由上不需要开 MASQUERADE ,但即便关了,对于所有的上行流量,还是要走旁路由,还是相当于二级路由。所以还是相当于一半的二级路由
    libregratis
        43
    libregratis  
       2022-02-16 19:25:48 +08:00
    有的叫旁路由,有的叫旁路网关或辅助网关,其实叫什么名字并不重要,功能上是针对不同需求做分流,有些公司除了 internet 还有 intranet 所以在公司局域网内也会部署第二个网关(或更多),换个角度,墙内也可以被看作一个更大的 intranet
    garryforreg420
        44
    garryforreg420  
       2023-10-25 16:41:36 +08:00
    @fayloue 旁路由并不是一定会多一层 nat,通过分流机制,国内的流量只是上行多一跳路由,回程流量不经过旁路由,只有出国流量才会多一层 nat
    Cu635
        45
    Cu635  
       325 天前
    @cwbsw #28
    “按 GEOIP 分流”和“按域名分流”需要什么软件包或者插件?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3790 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 05:25 · PVG 13:25 · LAX 21:25 · JFK 00:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.