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

旁路由这个叫法是什么时候流行起来的?

  •  
  •   moln · 2020-07-19 21:03:04 +08:00 · 16703 次点击
    这是一个创建于 1617 天前的主题,其中的信息可能已经有所发展或是发生改变。
    讲真,每次看到这个词都觉得怪怪的,首先这货是要转发数据的,其次它与客户端、网关都处于同一子网内,数据都跑在数据链路层,可以说它既不旁路,也不路由。正常来说不是应该叫内网代理服务器么。
    69 条回复    2020-11-16 13:08:21 +08:00
    skyaiwh
        1
    skyaiwh  
       2020-07-19 21:10:47 +08:00
    可能这样受众更多一点
    ysc3839
        2
    ysc3839  
       2020-07-19 21:11:23 +08:00 via Android
    可能是某些企业推广宣传某些产品用的词,然后人们为了省事业就直接用了。

    https://pgy.oray.com/news/8290.html
    比如这篇文章,还抄了一段“旁路”的解释上去,然而里面推广的产品跟他抄的解释完全不是同一个意思。
    ysc3839
        3
    ysc3839  
       2020-07-19 21:15:24 +08:00 via Android
    我自己对“旁路路由”“旁路网关”的理解就是放在主路由旁边的另一个路由器,不过这个路由器和主路由都连入同一个局域网内。
    你说“数据都跑在数据链路层”是错的,因为这个路由器不是做二层交换机使用,而是做三层路由器,有路由转发功能。
    Jirajine
        4
    Jirajine  
       2020-07-19 21:18:40 +08:00 via Android   ❤️ 11
    它既是旁路,也是路由。
    旁路指数据不直接走主干,而是从它这里绕了一圈。
    路由当然不必多说,数据经过了它的三层转发。
    其作用是在不改变网络拓扑的情况下给数据链路增加一个“中间件”进行一些处理。
    whileFalse
        5
    whileFalse  
       2020-07-19 21:31:09 +08:00
    旁不旁的先不说,LZ 能分得清楚路由翻墙和代理翻墙的区别么。
    moln
        6
    moln  
    OP
       2020-07-19 21:34:41 +08:00
    @ysc3839 好吧,用 tracert 测试了一下,确实多了一跳,但是更加迷茫了,十几年前有个软件叫什么剪刀手的,运行原理是在局域网内进行 arp 攻击,广播自己的 mac 地址和网关 ip,从而劫持内网的流量达到网络内容审计和网速控制等功能,请问这种情况下数据是跑在第几层呢,进行 arp 攻击充当中间人的机器算是路由么?
    pod
        7
    pod  
       2020-07-19 21:36:20 +08:00 via Android
    叫什么都无所谓,关键是功能
    moln
        8
    moln  
    OP
       2020-07-19 21:43:18 +08:00
    @Jirajine 旁路不转发数据,它不是。
    whileFalse
        9
    whileFalse  
       2020-07-19 21:47:25 +08:00
    @moln “进行 arp 攻击充当中间人的机器算是路由么?”
    算,那个就是个旁路由。不过现在大家说的旁路由不是通过这种劫持的方式生效的,而是直接通过 dhcp 或者手动设置网关生效的。
    moln
        10
    moln  
    OP
       2020-07-19 21:50:28 +08:00   ❤️ 1
    @whileFalse 不知道你在秀什么,翻墙除了肉身 /接收境外手机信号 /境外 sim 漫游等物理方式和 iplc/iepl/atm 等特殊线路,还有什么方式不通过代理么,你路由上跑的 ss/ssr/v2 照样要有个本地代理的,别自己整天发明这些不知所谓的东西
    cedoo22
        11
    cedoo22  
       2020-07-19 21:52:09 +08:00   ❤️ 3
    走旁门左道的路由~ 简称旁路由 (狗头
    whileFalse
        12
    whileFalse  
       2020-07-19 21:54:03 +08:00
    @moln 代理翻墙我是指用 socks/http/https 代理翻墙。哥们你先思考一下代理翻墙有什么必要的先决条件,你就知道“旁路由”为什么会存在了。
    moln
        13
    moln  
    OP
       2020-07-19 21:57:07 +08:00
    @whileFalse 那如果是部署在网关和主交换之间的深信服上网行为管理呢?纯桥接下算什么,二层交换吧?不改变数据,只做审计呢?不改变数据,只做限速呢?做 ssl 中间人攻击,改变了数据呢?
    Illusionary
        14
    Illusionary  
       2020-07-19 22:04:38 +08:00
    大概是从 N1 刷 openwrt 开始火起来的吧,因为只有一个网口,所以只能做旁路由。
    moln
        15
    moln  
    OP
       2020-07-19 22:06:08 +08:00
    @whileFalse 我的理解是只要翻墙了,你访问的目的网站的来源 ip 不是你的本地真实 ip,那么数据就肯定是经过了代理服务器。你所说的“路由翻墙”我的理解是代理软件运行在一台充当路由器的 linux 计算机上,把客户端发来的需要走代理的数据转发给了路由上的本地代理,对客户端来说是透明代理,依然是属于代理翻墙啊。
    moln
        16
    moln  
    OP
       2020-07-19 22:10:10 +08:00
    @cedoo22 承包笑点~
    whileFalse
        17
    whileFalse  
       2020-07-19 22:11:04 +08:00
    @moln 旁路由我理解是挂在主路由下面的一个设备,和主路由下的手机 /电脑等设备处于同一地位,只不过这玩意儿是个网关,也就是说这个网络有两个可用网关,一个是主路由,一个是这个旁路由代理网关。
    一般来说是关掉主路由 DHCP,打开旁路由 DHCP,这样网络内的设备默认使用旁路由无感翻墙。而用户还可能会把电脑手动配置成使用主路由直接连接,因为电脑本身可以安装代理,并且用户可能需要手动控制该代理。

    而深信服开路由模式或者网桥模式的时候,就是串在原有的交换 /路由后面的,内网的所有流量都要通过深信服。
    ysc3839
        18
    ysc3839  
       2020-07-19 22:11:30 +08:00
    @moln 跑在三层,因为 ARP 协议是跟网络层相关的。
    moln
        19
    moln  
    OP
       2020-07-19 22:12:38 +08:00   ❤️ 1
    @Illusionary 我记得单臂路由就是一个口,设置成 trunk 模式,在里面绑定子接口,用来解决二层交换环境下不同 vlan 之间不能通信的问题,但是跟这个不一样。
    moln
        20
    moln  
    OP
       2020-07-19 22:18:26 +08:00
    @ysc3839 不会吧,arp 我记得很清楚就是 data-link 层的啊,难道时代变了?
    whileFalse
        21
    whileFalse  
       2020-07-19 22:19:21 +08:00
    @moln 对,路由翻墙就是基于网关层的透明代理,因为不是所有应用 /设备都能设置 socks/http/https 代理。
    然后某些场景下,不希望在主路由上部署网关代理,就只好搞个旁路由。一般有以下原因:
    1. 希望在一个局域网中,一部分设备走透明代理,一部分设备走直连
    2. 提供透明代理的设备性能不如主路由,或者缺少某些功能
    3. 提供透明代理的设备只有一个网口
    ysc3839
        22
    ysc3839  
       2020-07-19 22:22:01 +08:00
    @moln https://zh.wikipedia.org/wiki/%E5%9C%B0%E5%9D%80%E8%A7%A3%E6%9E%90%E5%8D%8F%E8%AE%AE
    地址解析协议(英语:Address Resolution Protocol,缩写:ARP )是一个通过解析网络层地址来找寻数据链路层地址的网络传输协议。

    简单说是在进行 IPv4 通信之前,要用 ARP 知道对方的 MAC 地址,当然跟网络层相关。
    moln
        23
    moln  
    OP
       2020-07-19 22:24:24 +08:00
    @whileFalse 你说的无感翻墙就是透明代理,深信服路由模式就没有网关了,自己充当路由 /网关。
    cjpjxjx
        24
    cjpjxjx  
       2020-07-19 22:32:11 +08:00 via iPhone
    叫什么无所谓,就一个代号而已,老婆饼里也没老婆
    moln
        25
    moln  
    OP
       2020-07-19 22:33:02 +08:00
    @ysc3839 https://en.wikipedia.org/wiki/Address_Resolution_Protocol 看下英文版,明确说了在第二层的,arp 协议里面除了 ip 是第三层,mac 、帧的封装、传输、arp 的广播、泛洪等等都是工作在第二层的。
    moln
        26
    moln  
    OP
       2020-07-19 22:38:04 +08:00
    @whileFalse 所以你说的路由翻墙和代理翻墙的区别到底是啥呢?一个部署在了充当网关的 linux 计算机上,为客户端提供透明代理,另一个是部署在客户端本机上,提供本地代理?不都是基于代理的翻墙么。
    ysc3839
        27
    ysc3839  
       2020-07-19 22:39:43 +08:00
    @moln 它通过二层传输不代表跟三层无关,IP 包也是在二层之上传输的。
    换个角度看,一个设备不支持三层协议的话,为什么会用到 ARP 呢?是先要进行三层的通信,才会用到 ARP 来解析 MAC 地址。
    iloveayu
        28
    iloveayu  
       2020-07-19 22:42:46 +08:00 via Android
    我一直叫它“透明网关”,叫“旁路由”的可能觉得比较形象吧,普通用户也能猜出大概是做什么用的。
    smallfount
        29
    smallfount  
       2020-07-19 22:47:59 +08:00
    不就是 UP 主们为了让广大用户知道这是啥自己造的呗。。。
    网工的单臂哪有这样玩的。。。
    henvm
        30
    henvm  
       2020-07-19 22:54:22 +08:00 via Android
    需要交换机有端口镜像功能
    kindjeff
        31
    kindjeff  
       2020-07-19 22:57:05 +08:00
    想请教下,我的用法是:光猫拨号,光猫后面有两个设备,主路由和一台 linux PC 运行在同一网段;其他设备都连主路由在它的网段下,但是主路由配置了连接设备的默认网关都为 linux PC 的 ip 。

    这样我的终端和所谓旁路由( linux PC )不在同一网段下,linux PC 叫旁路由是不是合理的?
    jiangzhuo
        32
    jiangzhuo  
       2020-07-19 22:57:35 +08:00
    好更好奇“软路由”这个名字怎么叫期来的,至今不明白软路由什么意思,现在所有路由器不都有软件吗?难道固件里的不是软件??
    dawniii
        33
    dawniii  
       2020-07-19 23:04:28 +08:00 via iPhone
    @jiangzhuo 软 nat 和硬 nat 的区别吧
    jiangzhuo
        34
    jiangzhuo  
       2020-07-19 23:09:43 +08:00
    @dawniii #33 哦哦哦,,,,可能时开源和不开源的区别吧。
    moln
        35
    moln  
    OP
       2020-07-19 23:22:43 +08:00   ❤️ 1
    @ysc3839 我觉得不对,ip 数据包就是在网络层上传输的,到了数据链路层就已经变成帧了,同理到了物理层就是电流。后面一句话更不对了,二层交换机,没有 arp 它怎么工作呢。
    moln
        36
    moln  
    OP
       2020-07-19 23:23:34 +08:00
    @iloveayu 这个名字好,我觉得合适。
    moln
        37
    moln  
    OP
       2020-07-19 23:27:55 +08:00
    @kindjeff 从你的描述看不明白你的网络拓扑,首先你光猫拨号的话说明光猫是路由模式,实际上光猫才是你的边界路由,后面你的主路由和 linux pc 是桥接的还是做了二次 nat 你没说明白。
    moln
        38
    moln  
    OP
       2020-07-19 23:42:56 +08:00   ❤️ 1
    @jiangzhuo 软路由这个词是相对硬路由来的,硬路由指设计之初就是用来做路由器的这些硬件,通常采用 mips 架构,有硬件的网络加速。而软路由,则通常是 x86 架构的 linux 计算机,通过多网卡,安装专门的系统如 openwrt 、ros 等实现路由器的功能。
    reus
        39
    reus  
       2020-07-19 23:48:18 +08:00
    @ysc3839 arp 是用来发现二层地址的,和三层一点关系都没有。非 ethernet 的网络里,arp 根本就不需要。
    reus
        40
    reus  
       2020-07-19 23:52:30 +08:00
    @ysc3839 ip 通讯并不一定需要知道 mac 地址,之所以需要 mac 地址,是因为需要封装出 ethernet 二层帧。如果二层并不是 ethernet,那就不需要 mac 来填充 dst 和 src 地址,那就不需要 arp 协议。
    ysc3839
        41
    ysc3839  
       2020-07-20 00:10:10 +08:00
    @moln IP 要依赖二层来传输,它本身就是网络层。
    至于交换机,它完全不需要关心上层协议的内容,它只需要关心以太网的头部。

    @reus 我知道 ARP 是在以太网上用的,IP 也只是在以太网上用才需要知道 MAC 地址。
    但是 ARP 是为了让 IPv4 能在以太网上用的协议,怎么一点关系也没有呢? ARP 的数据也包含 IP 地址。
    lxml
        42
    lxml  
       2020-07-20 00:11:46 +08:00 via Android
    我感觉旁路由是为了和单臂路由,主路由区分所以这么叫吧,比如最常用的,一根网线接主路由,就有单臂和旁路由俩模式,一个 DHCP 一个不 DHCP 。

    我自己虽然有双网口但是还是当旁路由用,不想所有设备都设置透明代理,而是就那么几个设备
    msg7086
        43
    msg7086  
       2020-07-20 04:27:20 +08:00   ❤️ 1
    @jiangzhuo 硬路由由芯片做转发,软路由由软件做转发。
    你可以类比成电脑上的网卡。硬路由就像你插了一块网卡,网线上的信号进来以后,经过网卡芯片处理,得到更上层的数据。软路由就像直接读取网线上的信号,传到软件里,然后软件一步步解析信号拆包得到数据。

    硬路由里的软件主要是用来控制芯片的工作状态的,而软路由因为根本没有可用的硬件处理芯片,所以都要自己做,但是更灵活。
    tankren
        44
    tankren  
       2020-07-20 07:32:08 +08:00 via Android
    透明代理
    Widewind
        45
    Widewind  
       2020-07-20 07:33:02 +08:00 via Android
    软路由的名字类似于软件定义无线电或者软件定义网络,业务处理流程可以通过软件自定义配置,但底层的 raw 数据处理还是可以由硬件加速完成,前提是有相应的驱动支持。
    PbCopy111
        46
    PbCopy111  
       2020-07-20 09:05:12 +08:00
    我就一直没搞懂。。一直觉得这不就是做一个单独的网关出来么??
    如果是转发所有流量。。。那我这高级主路由器不就白买了??哈哈哈哈
    Telegram
        47
    Telegram  
       2020-07-20 09:08:45 +08:00
    对,我也觉得准确来说,最多只能叫一个内网代理服务器。
    whileFalse
        48
    whileFalse  
       2020-07-20 09:40:47 +08:00
    @oln
    这不是一个原理问题,这是一个用户体验问题,或者说场景问题。

    比如我用 Surge 翻墙,Surge for Mac 有一个“增强模式”,就是把自己伪装成网关,并且设置本机使用 Surge 网关,这可以看作是软件旁路由。

    一般情况下使用普通代理协议模式,方便管理。因为代理部署在本机,所以使用浏览器插件或者简单的开关代理设置可以方便地控制哪个网站要翻墙,或者对于同一个网站有的时候需要翻墙有的时候不需要。毕竟固定的规则有时并不符合需要。然后最近还有一些场景是连接到服务器做一些初始化设置的时候,还可以把本地代理端口通过 ssh tunnel 映射到远程服务器。这些功能网关翻墙都实现不了。

    有的时候也会打开 Surge 的增强模式(网关模式)。首要的原因是某些 APP 不支持设置代理,另外有时候我也会希望让局域网内的某些设备使用代理,比如通过一台额外路由器提供 DHCP,然后让 Google Home 音箱上网。通常 Surge 的增强模式(网关模式)能满足普通模式下的所有需求,不过这是因为 Surge [部署在本机] ,其可控性和路由的网关翻墙有本质性的不同。
    BadAngel
        49
    BadAngel  
       2020-07-20 10:05:33 +08:00 via Android
    @moln 关于 ARP,我举个简单的例子,你在网关抓个 ARP 包,里面的内容有网关请求冲突域下所有 mac 某个 IP 的 mac 地址。不能简单说 arp 只是是链路层,可以说包含了链路层和网络层。
    fucker
        50
    fucker  
       2020-07-20 10:05:49 +08:00
    掺在一起做撒尿牛丸啊笨蛋
    lewis89
        51
    lewis89  
       2020-07-20 10:24:08 +08:00
    你写个不带 DHCP 功能的路由.. 老百姓也不懂啊,人民大众喜欢的,你不喜欢 ,你算老几?
    hun2008hun
        52
    hun2008hun  
       2020-07-20 10:56:21 +08:00   ❤️ 4
    因为我把它放在了主路由的旁边,所以叫旁路由~~
    henyi2211
        53
    henyi2211  
       2020-07-20 11:49:43 +08:00
    哈哈, 同意 52 楼......

    叫啥无所谓了, 在我理解看来就是一代理服务器而已....
    standin000
        54
    standin000  
       2020-07-20 12:19:57 +08:00
    bypass 翻译成旁路吧
    aquarz
        55
    aquarz  
       2020-07-20 12:29:30 +08:00
    @hun2008hun 这个解释太到位了
    rrfeng
        56
    rrfeng  
       2020-07-20 13:10:09 +08:00
    真要说的话这玩意儿叫单臂路由
    aquarz
        57
    aquarz  
       2020-07-20 13:21:04 +08:00
    @moln arp 算 2.5 层就合适了
    moln
        58
    moln  
    OP
       2020-07-20 13:41:15 +08:00
    @whileFalse 你说的我明白啊,就是你本地运行 surge 为其它客户端提供服务,有两种模式,一是把本地代理的端口暴露出去,其它客户端通过设置其为代理的方式翻墙,这种方式还可以把端口映射出去,让远程的客户端使用,但是对于不能设置代理的应用如 uwp 应用无法使用,另一种方式是网关模式,局域网内的客户端设置网关为你运行 surge 的机器,实现全局翻墙( surge 采用全局模式的情况下)。我不明白的是,这俩哪个叫路由翻墙和代理翻墙,为什么这么叫,谁定的名字,从名字上看路由翻墙指明的是通过路由这个设备翻墙,区别于客户端自行翻墙,代理翻墙则指的是通过代理服务器这种技术手段翻墙,区别于 iplc/iepl/atm 等手段翻墙,这两个放在一起我当然分不清楚。
    moln
        59
    moln  
    OP
       2020-07-20 13:44:53 +08:00
    @BadAngel 这么说我更看不懂了,冲突域是 hub 时代的了,二层交换机下面应该一个端口一条网线自己就是一个冲突域了,交换机网口那边是没有 mac 的,网卡上有一个,一个冲突域里面怎么来的多个 mac 呢(不考虑上古 hub 的情况了)?
    moln
        60
    moln  
    OP
       2020-07-20 13:52:29 +08:00
    @PbCopy111 对,是个单独的网关,它转发的是所以翻墙的流量而非所有流量,不需要翻墙的机器可以直接把网关设置成主路由。另外所有的流量最后还是从你的主路由走的,所以你钱没白花😂
    BadAngel
        61
    BadAngel  
       2020-07-20 13:55:16 +08:00 via Android
    @moln 呀,发错了,是广播域。简单说就是网关请求 ARP 是在广播域下面请求 MAC 对应的 IP 地址,你说二层,三层都可以
    moln
        62
    moln  
    OP
       2020-07-20 13:55:24 +08:00
    @standin000 对,我理解的旁路应该是指从主路由端口镜像出来的一路审计服务器或者 gfw 这样的,以监听和审计为主,不转发数据的,即使 down 了数据也不会断。
    moln
        63
    moln  
    OP
       2020-07-20 13:57:55 +08:00
    @BadAngel 好吧,以前上学的时候会在宿舍里给电脑配个局域网 ip 联机打游戏就觉得很 nb 了,现在发现了解的越多越不懂,越来越迷茫
    darknoll
        64
    darknoll  
       2020-07-20 14:15:21 +08:00
    主路由旁边的路由,没毛病撒
    BadAngel
        65
    BadAngel  
       2020-07-20 14:23:18 +08:00 via Android
    @moln 有时因为交换机 hrp 主备的对等性要求,防火墙也有旁路的情况,主备专线使用与对端相同速率接口,先接入交换机,再旁路防火墙。
    sola97
        66
    sola97  
       2020-07-20 14:36:51 +08:00
    这玩意比单臂路由多了一跳,配置起来简单点,N1 上搞 VLAN 令人头大
    thtznet
        67
    thtznet  
       2020-07-20 15:32:19 +08:00
    通常放在主路由的旁边,且也是个路由器。
    mwh1987
        68
    mwh1987  
       2020-11-14 00:20:50 +08:00 via Android
    路由器也可以叫做网关设备,是连接因特网中各局域网、广域网的硬件设备,可以读取每一个数据包中的地址然后决定如何传送,是在网络间起网关的作用的智能性的网络设备。我们使用所谓“旁路由”的时候,需要在终端上将“旁路由”设置为新的网关,而旁路由的网关通常就是主路由,所以相当于在原来的路由中间加了一个路由,所以叫旁路由。以区别于原来的路由。
    vxlan
        69
    vxlan  
       2020-11-16 13:08:21 +08:00   ❤️ 1
    老夫搞了十几年网络,就是一把梭!神经病才搞软路由、旁路由!性能不够?企业路由+AC+AP,就是干!科 X 上网?自己手机和电脑玩玩就得了,你还想连累家人?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5230 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 09:34 · PVG 17:34 · LAX 01:34 · JFK 04:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.