Distributions
› Ubuntu
› Fedora
› CentOS
中文资源站
› 网易开源镜像站
wangweitung
V2EX  ›  Linux

使用 Linux 作为透明网关的最佳实践?

  •  
  •   wangweitung · Nov 9, 2025 · 13325 views
    This topic created in 359 days ago, the information mentioned may be changed or developed.

    使用 linux 作为透明网关的最佳实践?

    背景:

    1. 最开始用 openwrt (网络编译、自编译都试过)。但是经常崩溃。

    最近状态,根据 v 友推荐,已经抛弃了 openwrt ,主要用了以下两种。

    1. 根据 v 友推荐,尝试了 alpine+shellcrash ,比较好用。
    2. 又看到了 sbshell,又根据教程尝试了 debian+sbshell ,但是这个方式会导致 synology 上部署的外网服务没法用,找了半天也没找到原因。

    求助 v 友:

    适合小白一键设置 linux ( ubuntu/debian/alpine )作为透明网关的是不是就以上两种方式了。有没有其他推荐的方式,最好附教程,谢谢了~

    90 replies  •  2026-01-14 07:42:55 +08:00
    KagurazakaNyaa
    KagurazakaNyaa
    Nov 9, 2025❤️2
    1
    透明网关指的是?
    是工作为网关方式的透明代理吗?
    如果是这样,可以试试 dae ,基于 ebpf 的透明代理,可以用 docker 运行,把配置文件用 git 管理并挂载即可
    wangweitung
    wangweitung
    OP
    Nov 9, 2025
    2
    @KagurazakaNyaa #1

    是的,是工作为网关方式的透明代理。

    感谢,我试试这个新方式。
    defunct9
    defunct9
    Nov 9, 2025❤️24
    3
    唉,一堆人胡乱叫。什么是透明网关,网关就是网关,透明啥?!还有旁路由。估计网络工程师听见这个就闹心
    Aixiaoa
    Aixiaoa
    Nov 9, 2025
    4
    @defunct9 哈哈哈 是这样的,但是都叫的约定成俗了也没办法了。就像那些多音字,走的人多了就真成了路了
    stinkytofux
    stinkytofux
    Nov 9, 2025
    5
    不会是我推荐的吧, 我经常安利 ShellCrash.
    stinkytofux
    stinkytofux
    Nov 9, 2025
    6
    外网服务用不了是因为端口转发的问题, 你把网关改掉了之后, 就没办法通过路由器端口转发了. 这是一个缺陷.
    Aixiaoa
    Aixiaoa
    Nov 9, 2025❤️2
    7
    如果你的路由支持静态路由和 dns 切换的话 可以试试 debian 装 clash 开启 dns 应答
    在路由上加一条静态理由 192.18.0.0 到 debian 的 ip 把 dns 设置成 dns clash 开启 fakeip
    这样你访问墙外的请求会被解析成 192.18.0.0 的 ip 路由会转发到 debian 上 clash 处理这些流量
    如果你访问墙内的话 就会正常解析 不会被转发到 debian 上 流量直接走路由就出去了
    然后可以加一个检测 clash 挂了就把 dns 切回正常的 dns
    基本能满足你的需求了
    test0x01
    test0x01
    Nov 9, 2025 via Android
    8
    不管用哪一个 只要硬件体质不差 驱动完整稳定 配置好之后基本上都可以稳定运行 一两年不管他都没啥
    Aixiaoa
    Aixiaoa
    Nov 9, 2025
    9
    我之前折腾的是 ospf 分流
    我的路由是 ros 我直接开了一个 debian 虚机 跑 clash 和 ospf 把国外的 ip 全部宣告给 ros 让 ros 把所有访问国外的请求都转发给 debian 的 ip 走 clash 处理
    但是有莫名其妙的问题一直没太搞明白 我 clash 运行在 docker 的 debian 上配了 iptables 规则 经常有莫名其妙的小问题
    Ipsum
    Ipsum
    Nov 9, 2025
    10
    @defunct9 他叫单臂路由我还觉得行。
    wuruxu
    wuruxu
    Nov 9, 2025
    11
    我觉得 linux 不如 openwrt 稳定,可以修改下编译配置
    zzerd
    zzerd
    Nov 9, 2025
    12
    搞清理原理就行,首先是 dns 分流这个不管你怎么搞反正把要经过代理网关的域名全解析成一个私有 ip ,然后在主路由设置静态路由跑到代理网关上就行,最后把一些 app 的 ip 段也跳到代理网关上(这个主要就是 telegram)
    intoext
    intoext
    Nov 9, 2025
    13
    @defunct9 就是。网关就是网关。透明是个什么意思? 看得见还是看不见。 计算机专业里的透明,似乎有完全相反的两重意思。
    m1nm13
    m1nm13
    Nov 9, 2025❤️1
    14
    > 最开始用 openwrt (网络编译、自编译都试过)。但是经常崩溃。
    最有可能就是你的内存小了, 256M 的电子垃圾之类的跑 clash meta 确实会崩. 或者你的硬件其他地方有问题
    laminux29
    laminux29
    Nov 9, 2025❤️5
    15
    从问题来看,这事的本质是,你即不懂网络,也不懂 Linux ,更不懂 OpenWRT 。你这情况,适合你的方案,是去淘宝购买成品的路由器硬件,并且包技术与售后的那种。

    另外,对于软路由来说,OpenWRT 已经是功能 + 可用性 + 稳定性 + 性价比的最优解。
    Ipsum
    Ipsum
    Nov 9, 2025
    16
    @Aixiaoa #9 你完全可以试试开 fakeip 然后用 dns 分流。
    yeh
    yeh
    Nov 9, 2025❤️1
    17
    armbian + adguard + mosdns/smartdns + mihomo

    100 块的网心云就行了
    Aixiaoa
    Aixiaoa
    Nov 9, 2025
    18
    @Ipsum #16 嗯 我 7 楼说的就是这个方法
    joh
    joh
    Nov 9, 2025 via Android
    19
    我用 alpine+sing-box ,设置很简单也不会像 OpenWrt 存在一些小问题。
    290601953
    290601953
    Nov 9, 2025
    20
    surge 保平安
    humbass
    humbass
    Nov 9, 2025
    21
    所谓的透明网关其实就是 iptables ➕ 一些规则呗
    EchoWhale
    EchoWhale
    Nov 9, 2025 via iPhone❤️5
    22
    @defunct9 他们混淆了网关和透明代理
    cyp0633
    cyp0633
    Nov 9, 2025
    23
    我的建议是自己配,不要迷信一键脚本,有太多考虑不到的事情了
    netdisco
    netdisco
    Nov 9, 2025 via Android
    24
    建议 appletv + surge ,轻松搞定旁路由和远程回家等需求,爱折腾继续去广告,免 VIP 。
    Tink
    Tink
    Nov 9, 2025❤️1
    25
    最无脑的是 debian 跑 dae
    zed1018
    zed1018
    Nov 9, 2025
    26
    @defunct9 旁路由真的不能忍。就跟鲁棒性一样。硬凑。
    sumika
    sumika
    Nov 9, 2025
    27
    piaorenyong
    piaorenyong
    Nov 9, 2025
    28
    这个问题 clash 的时候问题好像就存在了。入站流量和出站流量路径不一致,导致出站流量直接舍弃了。之前的 issue 上提供办法是防火墙端口转发。
    frankilla
    frankilla
    Nov 9, 2025 via iPhone
    29
    什么 openwrt 经常崩溃,推荐 immortalwrt 用的这些年就没见过崩溃是啥样。🤣
    arfaWong
    arfaWong
    Nov 10, 2025
    30
    mihomo tproxy
    Aixiaoa
    Aixiaoa
    Nov 10, 2025❤️3
    31
    突然想起来一个项目 或许你对这个可能感兴趣
    Landscape 是一个基于 Web UI 的工具,可以轻松将您喜爱的 Linux 发行版配置为路由器
    https://github.com/ThisSeanZhang/landscape

    taikobo
    taikobo
    Nov 10, 2025
    32
    楼上有些说的很对
    不懂还要搞事, 没遇到问题不是工具好是你运气好
    要么好好学习要么花钱找人帮你解决问题
    KinCasey
    KinCasey
    Nov 10, 2025 via iPhone
    33
    Debian 基本上能实现, 但是要自己写相关的配置和规则,调试比较繁琐, 个人体验下来还是很不错的
    cense
    cense
    Nov 10, 2025
    34
    刚从 openwrt openclash 换成 linux mihomo
    后者更简单
    flynaj
    flynaj
    Nov 10, 2025 via Android❤️1
    35
    openwrt,不需要自己编译,只要安装软件包就行,你自己编译反而弄巧成拙。也可以考考虑国内分支 immortawrt.
    WizardLeo
    WizardLeo
    Nov 10, 2025
    36
    一般而言,一个被全球无数用户使用的系统在自己环境下经常崩溃,应该优先找崩溃的原因而不是换掉系统。
    godall
    godall
    Nov 10, 2025 via Android
    37
    楼主我也经常遇到您的问题,不一定是路由器崩溃,反正就是不能爬墙了,只能重启爬墙软件。后来我在 pve 下安装了一个 openwrt 的容器,单臂路由模式,安装爬墙软件设为透明网关。这样你的客户端网关地址设置容器地址就可以用了。后来我又优化了一下,在主路由上基于 ipset(新版是 nft)加 dnsmasq 实现 ip 策略路由:根据域名访问正常域名直接出去,爬墙域名先路由到 lxc 容器代理后出去,这样对客户端完全透明了,而且容器很稳定
    HrOice
    HrOice
    Nov 10, 2025
    38
    我跑的 docker 的 openwrt ,挺稳的
    0x42
    0x42
    Nov 10, 2025 via Android
    39
    单臂路由: 在没有三层交换机的时候,在一个接口上配置逻辑接口实现不同 vlan 间通信的技术吧..
    thereone
    thereone
    Nov 10, 2025
    40
    没见过会动不动就崩溃的不知道你跑了什么服务,单纯就跑一个 clash 是不可能动不动就崩溃的,一个存活到现在还被部分企业采用了的系统是不可能动不动就崩溃。
    多想想是不是自己乱搞搞崩溃了,openwrt 在 linux 系里面算是非常简单了。
    walkbox
    walkbox
    Nov 10, 2025
    41
    @flynaj 请教一下 如果安装官方的 op 系统,安装软件包是直接在后台搜索,之前也操作过这种的,那时候很多包有很多依赖,装完这个还得装那个个,还不会自动,不能用的时候,得自己分析,缺少什么,结果就是用不起来,不知现在是什么样一个情况,适合小白操作了么
    wnpllrzodiac
    wnpllrzodiac
    Nov 10, 2025 via Android
    42
    gayhub 有个项目,适合你。用着非常舒适,透明代理
    NikoXu
    NikoXu
    Nov 10, 2025
    43
    直接用 iptables 转发到 redsocks , redsocks 套个 socks5
    scung
    scung
    Nov 10, 2025
    44
    @defunct9 确实,第一次看到旁路由这个词被硬控了好久
    ko20
    ko20
    Nov 10, 2025
    45
    immortalwrt + passwall 稳定的很,建议原版 openwrt 或者 immortalwrt 。https://firmware-selector.immortalwrt.org/
    skywalker1014
    skywalker1014
    Nov 10, 2025
    46
    @KagurazakaNyaa 有 docker 库 github 吗
    dog82
    dog82
    Nov 10, 2025
    48
    谁能用人话解释一下 透明网关
    heiher
    heiher
    Nov 10, 2025
    49
    少打两个字吧,透明代理网关,部署了透明代理的网关
    NASK
    NASK
    Nov 10, 2025
    50
    可以试试 Debian+xtls 代理,透明代理可以参考文档 https://xtls.github.io/document/level-2/transparent_proxy/transparent_proxy.html
    非常好用.我以前也喜欢用 openwrt 软路由,但是处理不好依赖,用起来会有一些奇奇怪怪的问题,现在都改用成 debian 系统了.xtls 的配置写好,放到 macOS 上也能用,macOS 上我用的小火箭->sock5->xtls 代理.
    另外,手搓配置文件的话不要尝试 sing-box 内核,配置文件字段经常变动,很烦人.
    0x5c0f
    0x5c0f
    Nov 10, 2025
    51
    说人话就是可以在终端使用的订阅器么, 这个还得看 mihomo 虚空终端
    wengych
    wengych
    Nov 10, 2025
    52
    openwrt+nikki
    Liver6
    Liver6
    Nov 10, 2025
    53
    @ko20 #45 正在使用 R4s 跑 immortalwrt+passwall ,稳定性没遇到问题,就是 passwall 加载太慢了,太太太慢了
    Andrue
    Andrue
    Nov 10, 2025
    54
    OpenWrt 现在的状态已经非常成熟,不稳定往往在于用户的错误操作,以及使用了第三方打包固件
    建议缺乏相关经验还是先从如何选择一个合适的盒子并配置一个合适的 OpenWrt 系统开始
    尽量使用自行打包编译的固件,不要使用包含太多无关功能的版本
    比如我只使用三个附加组件,除了众所周知的插件以外还有一个虚拟组网服务,一个晶晨宝盒
    rick13
    rick13
    Nov 10, 2025
    55
    dae 可以试试
    ko20
    ko20
    Nov 10, 2025
    56
    @LucasChang #53 我有两个 immortalwrt ,一个是今年刚买的 N150 ,快的一批。比我那个 intel n3150 快得多,当然 n3150 的速度也能接受。有可能是你这个 arm 架构 r4s 的芯片慢
    R29kTA
    R29kTA
    Nov 10, 2025
    57
    我的方案是光猫桥接+nixos networkd 做网桥 pppd 拨号上网+dae 。配置好一次,想装什么都可以
    R29kTA
    R29kTA
    Nov 10, 2025
    58
    @R29kTA 硬件什么都不需要虚拟化
    565656
    565656
    Nov 10, 2025❤️1
    59
    @walkbox #41 不要装官方的, 装 immortawrt ,什么源都给你设置好了不用折腾,
    565656
    565656
    Nov 10, 2025
    60
    直接装 immortawrt 就行了 我放在 vmware 里都稳得不行
    yyysuo
    yyysuo
    Nov 10, 2025
    61
    还是推荐我的大全套吧,就是楼上有些朋友提到的 fakeip 分流法。
    https://github.com/IrineSistiana/mosdns/discussions/837
    MeiJiayun
    MeiJiayun
    Nov 10, 2025 via iPhone
    62
    @565656 vmware 安装,然后宿主机使用 clash 等软件指定代理走虚拟机吗
    mylara
    mylara
    Nov 10, 2025
    63
    一直用,没碰见过 immortawrt 崩溃
    huangmingyou
    huangmingyou
    Nov 10, 2025
    64
    @defunct9 作为一个网络工程师,看到透明网关我的第一反应是我 tm 的落伍了?
    yanxu4780
    yanxu4780
    Nov 10, 2025
    65
    感觉 openwrt 挺好用呀。我没遇到崩溃情况。
    MutuMutu
    MutuMutu
    Nov 10, 2025
    66
    @defunct9 旁路网关+透明代理,lz 能把 openwrt 搞到经常崩溃,弄混了也很正常吧
    walkbox
    walkbox
    Nov 10, 2025
    67
    @565656 谢谢
    thereone
    thereone
    Nov 10, 2025
    68
    @defunct9 #3 旁路由没啥网络中一堆旁挂使用的,防火墙旁挂还有 IDS/IPS 旁挂。VPN 路由器旁挂不作为出口仅用来打通分支设备通过静态或者动态路由打通,这个 VPN 路由器就可以说是旁路由了。
    透明网关倒是没有听过,防火墙透明模式倒是有但是是二层透传的和普遍说的透明网关没有关系。
    julyclyde
    julyclyde
    Nov 10, 2025
    69
    @defunct9 iptables -j TPROXY
    Miwangyu
    Miwangyu
    Nov 10, 2025
    70
    其实最简单的就是 mac mini,直接 surge 接管,直接管控路由就行了
    SenLief
    SenLief
    Nov 10, 2025 via iPhone
    71
    @yyysuo 这种方式最大的问题就是对于 ip 链接的无能为力,比如 tg 。
    datocp
    datocp
    Nov 10, 2025 via Android
    72
    崩溃正常。。。
    有些软件特别会吃 cpu+内存。

    像我用的 youku y1s 128MB 内存,使用 stunnel+softether 最后一次看到运行了 655 天。应该是被家里人关闸断电了。

    大家搞的这些软件太复杂了。
    hronro
    hronro
    Nov 10, 2025 via iPhone
    73
    最近 RouterOS 出了个 sockify 功能,可以在防火墙层面把 TCP 连接接入 SOCKS5 代理,我试了下比较好用。
    565656
    565656
    Nov 10, 2025
    74
    @MeiJiayun #62 immortawrt 跑 openclash ,这个虚拟机就是个网关了,把设备的网关写成虚拟机的 ip 就走这个了,不写默认是路由器就是正常的路径。
    WorkTimer
    WorkTimer
    Nov 10, 2025
    75
    debian + iptables
    flynaj
    flynaj
    Nov 11, 2025 via Android❤️1
    76
    @walkbox 依赖会自动安装,建议使用国内版本的 immortawrt ,就是在 op 原版基础上添加了一些软件包,网络唤醒安装 luci-i18n-wol-zh-cn 而不是只安装 wol,luci-i18n-smartdns-zh-cn luci-i18n-samba4-zh-cn,luci-i18n-lxc-zh-cn 你先搜 zh-cn 看看有没有你要的。
    liyafe1997
    liyafe1997
    Nov 11, 2025
    77
    @m1nm13 开 SWAP 能跑吧?
    walkbox
    walkbox
    Nov 11, 2025
    78
    @flynaj 好的 谢谢
    yyysuo
    yyysuo
    Nov 11, 2025
    79
    @SenLief tg 、奈飞 ip 、国外 dns ,这种基本上不会变的,写到 nft 里面就行了。
    m1nm13
    m1nm13
    Nov 11, 2025
    80
    @liyafe1997 也不能, 你的内存 256, 你的 FLASH 撑死了就 128,甚至可能是 32M 的, 这有什么 SWAP 的空间...

    你要是台 X86,那肯定不会只有 256M 内存,又不是 20 年前的古董..
    istek999
    istek999
    Nov 11, 2025
    81
    我在小主机上跑了 routeros 虚拟机,debian 虚拟机,然后跑的 mihomo ,搞了一个配置文件,跑一个 tproxy 就 OK 。然后需要翻墙的设备,我从 ros 设置一下 optionset 就 OK ,很方便。
    SenLief
    SenLief
    Nov 11, 2025 via iPhone
    82
    @yyysuo 这种方式不是很好用,主路由还要有分流的功能才行,不少主路由都是硬路由来着。或者直接换 routeros 才行。
    yyysuo
    yyysuo
    Nov 11, 2025
    83
    @SenLief 只要主路由支持静态路由或者能进行 nft 操作就可以的,体验极佳。
    Ipsum
    Ipsum
    Nov 11, 2025 via Android
    84
    @hronro 多包了一层,感觉只有特定条件下才有用。
    cz5424
    cz5424
    Nov 11, 2025
    85
    这种纯软件转发的方式很费 cpu 性能,包括说用 iptables ,用垃圾硬件( cpu 主频都很低,跟不上)一般稳定性有很多问题。大部分路由器的转发都是硬件 nat 。如果要实现分流加代理,目前没折腾出一个好的方案。猜测可能从 dns 入手,需要分流的给透明网关地址,如果不需要分流走默认网关。
    Allegorie
    Allegorie
    Nov 12, 2025
    86
    @Aixiaoa 拿来稳定运行两天了,还没崩过,感觉用作主路由很好用,分流很强大
    javaDo
    javaDo
    Nov 12, 2025
    87
    debian 加 mihomo 内核作为透明网关 高效稳定使用 3 年+了 没出过啥问题
    wangweitung
    wangweitung
    OP
    Nov 12, 2025 via Android
    88
    @czhh 具体怎么部署的……
    Morgan2
    Morgan2
    Nov 12, 2025
    89
    openwrt 不会用
    debian cli 需要什么装什么,有问题看日志,查文档
    libregratis
    90
    不稳定是因为没有选择正确的版本,OpenWrt 和 Alpine/Debian/Ubuntu 一样提供了 Stable Release 非常稳定,只不过 OpenWrt 的软件仓库收录的 App 比较少,相比之下 ImmortalWrt 收录了更多的 App
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1365 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 146ms · UTC 22:16 · PVG 06:16 · LAX 14:16 · JFK 17:16
    ♥ Do have faith in what you're doing.