又查了一夜,搞不懂旁路由和透明网关的区别 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
loxlblade
V2EX    程序员

又查了一夜,搞不懂旁路由和透明网关的区别

  •  1
     
  •   loxlblade 2023-07-27 01:16:54 +08:00 via Android 11853 次点击
    这是一个创建于 809 天前的主题,其中的信息可能已经有所发展或是发生改变。
    又查了一夜资料,整理了我理解的透明网关,



    一句话总结就是 ,当设备指向了透明网关(特指部署在标准 linux 设备上的 tpclash )后,意味着上行流量指向 tpclash ,而从 wan 口来的下行流量就直接指向设备本身了,并不会再从 tpclash 里绕一圈。





    那么我的疑问是,这和传统说法的 openwrt 单 lan 口旁路由的区别是什么呢? 理论来说旁路由也是做了这样的事情啊。但是根据以往经验,使用旁路由时总会遇到 内网变慢,王者荣耀断流等必然复现的问题。或者是刚开始设置时一切完美,用了差不多一星期后,网页就开始各种缓慢。





    难道当使用 openwrt 做旁路由时。它做了比透明网关更多的步骤?导致从 wan 口来的下行流量也经过了 openwrt ?这一点很糊涂,求 v 友们帮我解解惑
    43 条回复    2023-07-28 10:43:50 +08:00
    netusers
        1
    netusers  
       2023-07-27 01:20:31 +08:00   2
    透明网关:就是夹在中间的小三
    旁路:就是旁观者,不挡任何一方去路
    chenyx9
        2
    chenyx9  
       2023-07-27 01:51:55 +08:00 via Android
    Partially boom VS Entirely boom
    wheat0r
        3
    wheat0r  
       2023-07-27 02:11:16 +08:00   7
    首先,旁路有和透明网关都不是术语。
    旁路由这个叫法还是很业余的,如果只是做路由,这东西应该叫单臂路由;如果不只是做路由,还有代理、NAT 之类的功能,应该叫网关。
    透明网关也并不透明,你是自己把路由指过去的,算什么透明。
    建议只关心功能,别在乎名字,会难受。
    loxlblade
        4
    loxlblade  
    OP
       2023-07-27 02:18:51 +08:00
    读完此条回复,有一种被耍的感觉。立马觉得最靠谱的比喻还是一楼。
    tywtyw2002
        5
    tywtyw2002  
       2023-07-27 02:24:44 +08:00 via iPhone   10
    一帮搞软件 x 墙的人在乱起名字。

    在 cisco 的 CCIE 里面,透明网关是在 ASA 系列防火墙中的概念,在 layer 2 进行过滤。因为是 L2 ,所以没有对 IP 层操作,所以叫透明网关。(正常的网关是三层转发,要查路由表)

    旁路路由,就是单臂路由,只连一个网络,把数据包发送到同一个网段的其他机器。
    germain
        6
    germain  
       2023-07-27 07:37:31 +08:00 via iPhone
    我看你们一本正经的的瞎扯淡也不知道说啥好。但凡稍微看过点文档或者你百度一下也行啊。

    出现在这所谓技术社区,也真的是无语♂
    yyysuo
        7
    yyysuo  
       2023-07-27 08:22:00 +08:00
    @germain 照你这么说,V2 没几个帖子是合格的。
    yuchenr
        8
    yuchenr  
       2023-07-27 08:25:16 +08:00
    不必在意名字。
    其实就是一个开了转发的机器 R ,他的作用就是把接收到的数据转发到真正的网关 G 。
    正常来说,客户端 C 应该是把数据发给 G ,如果你把客户端的网关设置成 R ,这时候数据的走向是 C--R---G
    LieNoWell
        9
    LieNoWell  
       2023-07-27 09:00:20 +08:00
    @germain 我就喜欢你这样的帖子,最好加一句懂得都懂。
    lovelylain
        10
    lovelylain  
       2023-07-27 09:16:38 +08:00 via Android
    旁路由是二级路由,数据(在路由层面,链路层面另算)要先到旁路由再到主路由,只不过网段还是和主路由一个网段,所以叫旁路由。
    透明网关只有一层路由,不走代理的数据直接出去了,走代理的数据转发到代理再由代理出去。
    这么解释区别很明显很容易理解吧?性能上透明网关是要优于旁路由的,但是要在路由器上部署透明代理能力,不是所有的路由器都支持,例如光猫你就没法引入这个能力,普通路由器不破解或者不刷机也没有这个能力。旁路由的主路由就是个普通路由器。
    tony1016
        11
    tony1016  
       2023-07-27 09:26:04 +08:00
    我理解透明网关在局域网里负责 DHCP 分配功能,所以可以让都有流量都透明的过它,旁路由不负责 DHCP ,你要用它你就手动配置本地的网关指向
    Linken404
        12
    Linken404  
       2023-07-27 09:55:57 +08:00
    向#5 里说的专业术语确实不太懂,但在搞软路由、nas 、htpc 的氛围里,我大概知道是什么意思

    他们说的旁路由一般是在你有主路由,但主路由没有代理功能的时候(比如爱快),在网络链路的旁路单挂一个单臂路由(但大部分是软路由,虚拟机),然后这个单臂路由提供诸如透明代理、去广告等功能,但整个网络中主网关还是主路由,DHCP 服务也是仅在主路由上开启。旁路由的网关指向主路由,同时如果你有设备需要使用透明代理、去广告这些功能,那就手动把网关指向旁路由就可以了。

    然后透明网关,在某种语境下指的应该是上面的主路由,同时具备透明代理功能,这样在主路由以下的全部网络环境中,都是默认“透明”上网的,默认通过代理。

    还有一种模糊的说法,有的人在说的时候会把做透明代理的旁路由叫成透明网关,因为本身这两个概念在功能上相似,说的时候又不是所有人都很懂,就有点模糊,所以有歧义也很正常。
    Linken404
        13
    Linken404  
       2023-07-27 10:05:43 +08:00
    我是这么认为的,但不一定跟别人的说法完全一样:

    如果说在一个没有默认代理功能的网络链路中,添加一个 linux ,在 linux 里用防火墙做转发,然后将某些流量传到 linux 中的 v2ray 或者什么代理软件里,然后让所有以此 linux 为网关的设备都通过这个 v2ray 代理来上网。那这个 linux 你是叫他旁路由呢,还是叫他透明网关呢?所以在某些语境下这两个其实是一个意思罢了,因为本身就没有一个十分明确的定义,只是爱好者们约定俗成的叫法。

    另外这种实现方式有个最大的问题:无论是现成的旁路由如 lede 、openwrt ,还是上面说的用 linux 本身 ip 转发的方式来做,都会导致在主路由上看到的终端只有旁路由,而看不到旁路由下的设备。如果需要对外暴露端口,还得在旁路由上做端口转发,毕竟是等于多了一层 nat 。
    yyysuo
        14
    yyysuo  
       2023-07-27 10:14:09 +08:00
    @Linken404 我搞不懂为什么要强调透明,现在的科学方案,只要在主路由上的,哪个不透明呢。
    ghostwwg
        15
    ghostwwg  
       2023-07-27 10:15:04 +08:00
    我是这么理解的,单口 op 做所谓的旁路由本质就是一个网关,虽然叫“路由”,但本身不做 nat ,nat 是交给光猫或者另一个路由器来做,op 只是做了一个网关服务,可以对流量做一些上级设备不具备的功能。
    Jirajine
        16
    Jirajine  
       2023-07-27 10:31:12 +08:00
    @tywtyw2002 照你这样说,那他们起的这些名字也没有问题。
    透明网关就是在二层操作流量,也就是二层防火墙,放 linux 里就是 ebtables 和 nftables 的 bridge/netdev family 。
    旁路由虽然是非常糟糕的 hack ,但也确实是把 ip 包转发到同网段的其他机器。
    captainm
        17
    captainm  
       2023-07-27 10:32:11 +08:00
    captainm
        18
    captainm  
       2023-07-27 10:35:18 +08:00   1
    ![]( )
    不知道这样你能明白不。
    Linken404
        19
    Linken404  
       2023-07-27 10:38:31 +08:00   1
    @yyysuo 不知道啊,约定俗成的说法吧,毕竟很多在家里搞软路由、HTPC 的人其实都是爱好者,并不是什么互联网或运维从业人员,很多人 shell 命令都只能照着敲,他们的术语有时候是约定俗成的……不过直观上来说,感觉说透明是在强调无感觉科学上网,反正能理解个大概就行了
    Linken404
        20
    Linken404  
       2023-07-27 10:41:25 +08:00
    @yyysuo 并且爱快这种很多人推崇的主路由,他本身没有代理功能,现在以及可以预见的将来都不会有……以前有代理功能的主路由也不多,也就有了透明跟不透明的区分,算是历史遗留问题了
    lyxeno
        21
    lyxeno  
       2023-07-27 11:26:06 +08:00
    "旁路由" 一般和透明代理 这个词相关联吧?对于科学上网来说,确实够透明
    germain
        22
    germain  
       2023-07-27 11:28:00 +08:00
    @yyysuo 不合格和传播完全错的概念是有很大区别的。而且这些名词都是随手就能找到解释的词条,不是啥高深莫测的技术。


    @MrSheng 我觉得应该加一句“不要不懂装懂”,特别是把 CCIE 搬出来,再来个“旁路路由,就是单臂路由”,不搞笑吗?
    jiangzm
        23
    jiangzm  
       2023-07-27 12:01:46 +08:00
    旁路由就是单臂路由
    samueler2016
        24
    samueler2016  
       2023-07-27 12:27:41 +08:00 via Android
    每次看到有比我更小白的,我就很开森
    yeqizhang
        25
    yeqizhang  
       2023-07-27 12:37:40 +08:00 via Android
    我在电脑用 wifi 连路由器,电脑上开启 clash 透明代理,所以电脑是啥了……
    loxlblade
        26
    loxlblade  
    OP
       2023-07-27 12:40:28 +08:00 via Android
    @samueler2016 生三娃吧。每天三倍开心
    fenghuang
        27
    fenghuang  
       2023-07-27 1:05:29 +08:00 via Android
    旁路由内网设备同一 ip 段之间流量是不是也要到旁路由绕一下
    lvxing888
        28
    lvxing888  
       2023-07-27 13:29:29 +08:00
    @fenghuang 主要看网关吧?你指定了旁路由的网关 什么流量都去绕一圈。 你说这个会不会影响网速。
    preach
        29
    preach  
       2023-07-27 13:31:16 +08:00
    旁路由还是路由 承担着路由的工作,dhcp dns 拨号 网关等
    透明网关 还是网关 承担的网关的工作
    Huelse
        30
    Huelse  
       2023-07-27 14:56:30 +08:00
    看完评论总结:
    旁路 = Hook
    透明 = Middle Layer
    cyspy
        31
    cyspy  
       2023-07-27 14:59:59 +08:00
    主路由:客户端-交换机-路由器-外网
    旁路由:客户端-交换机-旁路由-交换机-主路由-外网
    chronos
        32
    chronos  
       2023-07-27 15:04:02 +08:00
    在家庭外网需求的情况下[透明网关]一般指主路由设备本身提供了代理翻墙,去广告等能力,可以让局域网里面的设备无需另外配置,就能直接获得翻墙,去广告等功能。

    而[旁路由]一般是在主路由没有透明代理的能力,比如光猫或着其它封闭系统的路由器的情况下,通过在局域网中添加一个额外的路由器,配置好类似于[透明网关]的代理能力,让局域网设备将网关指定[旁路由]实现翻墙需求。

    还有[旁路由]并不一定是[单臂路由],[单臂路由]是指只有一个物理端口连接的路由设备。而[旁路由]你接两个物理端口到同一个局域网中,一个做为 WLAN ,一个做为 LAN ,一样可以实现,只是通常没必要而已。
    LYwyc
        33
    LYwyc  
       2023-07-27 15:09:22 +08:00
    @germain 同感,但凡楼上几个做科普的百度一下“单臂路由”啥意思,也不会说出旁路由就是单臂路由这种暴论
    chronos
        34
    chronos  
       2023-07-27 15:11:34 +08:00
    @fenghuang 局域网中一般相同的网段在设备的路由表上是直连的,因为数据包都通过交换机交换,是不是旁路由不影响这个。现实当中反而是主路由更有可能让数据包从它那边绕一圈,因为主路由上通常有好几个 LAN 接口,上面同时插着好几个设备,这时主路由器就承担了部分交换机的功能。
    sleepm
        35
    sleepm  
       2023-07-27 15:56:39 +08:00
    透明网关,对用户来讲是透明的,用户感知不到他的存在(不需要设置什么)
    旁路由,用户需要设置网关为旁路由才能科学上网,也就是所有流量都要先发到旁路由
    包括局域网内流量,比如访问 nas 里的电视剧
    电脑到旁路由,旁路由到主路由,再到 nas
    zsj1029
        36
    zsj1029  
       2023-07-27 16:05:28 +08:00
    我用旁路由实现的透明网关,6 不 6
    chronos
        37
    chronos  
       2023-07-27 16:05:53 +08:00
    @sleepm 局域网流量还真不一定,一般 nas 和电脑是在同一个局域网里面的同个网段下面。你的电脑路由表里面看一下就知道了,主机是直接连接的 nas ,数据包在交换机这层就直接转过去了。访问 nas 时数据并不会到路由器上。
    bbroot
        38
    bbroot  
       2023-07-27 16:31:23 +08:00
    单臂路由难道不是划 vlan 后的用法吗???????
    chronos
        39
    chronos  
       2023-07-27 16:36:29 +08:00
    @bbroot 其实也可以不划 VLAN ,在旁路由这个场景下完全可以只有一个 LAN IP 。
    fenghuang
        40
    fenghuang  
       2023-07-27 22:20:18 +08:00
    @lvxing888 #28
    @chronos #34
    主路由是 K2P
    旁路由 ip:192.168.1.100 网关 192.168.1.1 指向主路由,dhcp 也在主路由上,旁路由是单千兆网口
    设备 1 网关 192.168.1.100 指向旁路由
    设备 2 网关 192.168.1.100 指向旁路由
    就是这种情况下,设备 1 和设备 2 之间跑不满千兆
    mohumohu
        41
    mohumohu  
       2023-07-27 22:55:18 +08:00
    其实主要是看你网络的拓扑,在大多数语境下可能并没有什么区别。很多人的旁路由实际就是个二级路由,也就是个透明网关。真正达到国内流量正常走一级路由,只有需要走代理的流量静态路由走到透明网关,就算这个透明网关挂掉了也不影响国内流量上网,这才是真正的旁路。可以参考下这个方案: https://github.com/kkkgo/PaoPaoGateWay
    ShuWei
        42
    ShuWei  
       2023-07-28 10:01:44 +08:00
    常见的网关,一般分为二层网关和三层网关,二层网关在 L2 数据链路层,主要负责数据格式转换和链路转发,就是个单纯 boy ,并不关心任何上层协议,常说的透明网关就是指这个,而三层网关,因为工作在 L3 网络层,所以多了一层协议封装,需要处理寻址、标识、路由、转发、重新封装数据包,单臂路由的网关一般都是三层网关

    如果懵逼,要么去补习一下网络模型相关的知识,还得比较细,要么就直接懵逼着吧,毕竟搞清楚其实也没太多用途,你需要关心的是自己要用什么,你说的 tpclash ,最多叫透明代理,基于 TUN ,工作在网络的第三层,并不属于真正意义上的透明网关

    至于你说的单臂路由用久了会卡,应该属于搭建和配置的问题,跟单臂路由这个概念本身没有关系,仔细找找看自己配置上是否有什么问题,或者换个固件试试
    chronos
        43
    chronos  
       2023-07-28 10:43:50 +08:00
    @fenghuang 你这种就是局域网内跑不满千兆,跟是不是用了旁路由没关系。需要看看实际能跑到多少带宽,是只有千兆的一半左右,还是 800Mbps 以上接近 1000Mbps 的情况。

    建议查一下下面的几个地方:

    1. 中间负责这两个设备二层交换的设备,通常是交换机,也可能是路由器。看看去掉这个设备,用一根网线直连两台主机的速度有没有差别。
    2. 看看测速用的是什么软件,是否参数有误,导致速率上不去。
    3. 测一下双向的速度,看看有没有差别。
    4. 看一下网卡有没有系统兼容性 bug ,比如我的 Intel I219-LM 在 linux 下就有 bug ,发送速度只有千兆的一半左右。需要使用 ethtool 工具关掉 tso 和 gso 才行。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5446 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 07:40 PVG 15:40 LAX 00:40 JFK 03:40
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86