大多数家用路由器支持 VPN 客户端,却不支持代理。本文按品牌梳理 2026 年原厂固件的实际功能,说明如何在 Keenetic 上配置代理客户端、如何把 OpenWrt 路由器变成透明代理网关,以及路由器不支持时该怎么办。
搜索“路由器代理”的人,需求通常很简单:配置一次,家里所有设备(电脑、手机、电视、机顶盒)就都用另一个 IP 上网。问题在于,大多数原厂固件做不到这一点。它们的菜单里有的是“VPN 客户端”,而不是“代理”。
两者有本质区别。路由器的 VPN 客户端(L2TP、PPTP、OpenVPN、WireGuard、IPsec)连接到 VPN 服务器,把全部 IP 流量封装进隧道。代理的工作方式不同:传统 HTTP 代理(CONNECT 方法)只转发 TCP。SOCKS5 可以通过 UDP ASSOCIATE 命令转发 UDP,但前提是服务器支持。所以,把代理服务器的地址填进 VPN 客户端的字段,是无法建立有效连接的。
要让路由器把整个网络的流量送入代理,它需要透明代理机制:拦截设备发出的连接,再由路由器自己把这些连接转发给代理。在本文涉及的品牌中,只有 Keenetic 的原厂固件具备透明代理功能。其他品牌只能选择 OpenWrt、独立网关,或在每台设备上安装客户端。
核心要点:路由器的 VPN 客户端和代理服务器是不同的协议。host:port:login:pass 不能填进 L2TP、PPTP 或 OpenVPN 的字段。路由器代理与手机 Wi-Fi 设置中的代理有什么不同,可以参考 Wi-Fi 代理完整指南(英文);SOCKS5 协议本身见 SOCKS5 代理原理与配置。
在本文涉及的品牌中,只有 Keenetic 的原厂固件具备透明代理功能。根据 Keenetic 帮助文档,从 KeeneticOS 3.9 起新增了系统组件 Proxy client,可以通过 HTTP、HTTPS 和 SOCKS5 代理服务器连接互联网。该组件需要单独安装:打开 General System Settings(新版网页界面中位于 Management 菜单下的系统设置),在 KeeneticOS Update and Component Options 区域点击 Component options,勾选 Proxy client 并安装更新。
安装后,代理会作为一个普通的互联网连接添加:进入 Other Connections 页面,在 Proxy Connections 区域点击 Add connection。之后使用 Keenetic 标准的 Connection Policies(连接策略)机制。把代理排在默认策略的第一位,绑定在默认策略上的所有客户端都会通过它上网。如果只需要部分设备走代理,就新建一个策略,把指定客户端绑定到这个策略。菜单名称可能因 KeeneticOS 版本不同而略有差异。
帮助文档中有一条重要提示:如果设备不使用 DoT 或 DoH 解析 DNS,通过代理连接访问网站可能会不正常。Keenetic 建议在路由器的 DNS 设置中开启 DNS-over-TLS 或 DNS-over-HTTPS。可能的原因是:普通 DNS 查询走 UDP,而代理连接不会拦截这些查询。
为了实现精细分流,KeeneticOS 5.0 在路由页面中新增了基于 DNS 的路由:可以把一组域名通过指定连接转发(在接口字段中选择),其余流量保持直连。这项功能有前提条件:客户端必须在默认策略中,且设备的 DNS 服务器必须是路由器本身。
除了原厂功能,带 USB 接口的 Keenetic 型号(部分型号也可装在内置存储中)还支持 OPKG 包管理器和 Entware 软件源,可以安装来自 OpenWrt 生态的软件包。Keenetic 自己也提醒,其技术支持不解答第三方软件包的问题,相关讨论在厂商论坛中进行。对于“全部流量走代理”这个需求,在最新固件上通常已经不需要 Entware:内置客户端就够用了。
资料来源: Keenetic: Proxy client、 Keenetic: DNS-based routes、 Keenetic: OPKG。
TP-Link 家用路由器(Archer 系列以及 4G/5G 路由器)的文档中介绍的是 VPN 客户端,而不是代理。它位于网页后台(tplinkwifi.net,4G/5G 型号为 tplinkmodem.net)的 Advanced → VPN Client。支持 OpenVPN、PPTP、L2TP/IPsec 和 WireGuard,其中 WireGuard 仅部分型号支持。
TP-Link 特别说明,并非所有路由器都有 VPN Client 功能,并公布了兼容型号列表,购买前请确认自己的型号。最多可以保存六个 VPN 服务器配置,但同时只能启用一个。一个实用的细节:只有你手动加入列表的设备才会走 VPN,其他设备直接上网。
TP-Link FAQ 中还有一项限制:路由器在使用 VPN 时不支持单独设置 DNS 服务器。TP-Link 官方文档中没有 SOCKS5 或 HTTP 代理的设置字段。也就是说,如果代理服务商只提供 host:port:login:pass,TP-Link 原厂固件无法直接使用;需要 VPN 服务器、OpenWrt(如果型号支持)或独立网关。
小米。官方说明介绍的是在路由器网页后台设置 VPN:打开 miwifi.com 或 192.168.31.1,选择路由器,进入 Additional settings → VPN → Add service,类型选择 L2TP。小米也提醒,L2TP 本身不加密数据,通常与 IPsec 配合使用。这份帮助文档中没有代理客户端,且功能因型号和固件版本而异。
华为。对于 HUAWEI WiFi WS5200 NEW,华为帮助文档列出的是 L2TP 和 PPTP VPN 客户端,不支持 IPsec,不能配置 VPN 服务器,L2TP 和 PPTP 也不能同时使用。华为 4G/5G CPE 路由器的 VPN 客户端设置路径为 Advanced → Route → VPN,同样只有这两种协议。官方资料中没有代理客户端。
对这两个品牌的实际结论:如果你需要的是代理,而不是 L2TP 或 PPTP VPN,原厂固件解决不了。OpenWrt 这类第三方固件只能刷在受支持的型号上,并且可能影响保修,所以更简单的做法是在路由器后面加一个独立网关,或者直接在设备上配置客户端。
资料来源: Xiaomi: How to set up L2TP on the router、 华为 WS5200 NEW:VPN 支持情况、 Huawei CPE: VPN client。
OpenWrt 是开源的 Linux 路由器固件。当前稳定分支为 25.12(截至 2026 年 9 月),软件包管理器已从 opkg 改为 apk(例如 apk add sing-box)。在 OpenWrt 上,路由器可以成为完整的代理网关:拦截设备的连接,并转发到 SOCKS5 或 HTTP 代理。
官方软件源中提供 sing-box、Xray、hev-socks5-tproxy 和 hev-socks5-tunnel。sing-box 支持 socks 和 http 类型的出站、TUN 模式,以及按源设备地址设置路由规则,所以既可以只让一台电视走代理,也可以让整个网络走代理。hev-socks5-tproxy 是轻量的 SOCKS5 透明代理,支持 TCP 和 UDP,支持用户名和密码;UDP 需要代理服务器支持 UDP relay。
在这些内核之上,还有面向 LuCI 网页界面的图形插件,但它们不在官方软件源中。Podkop 由 itdoginfo 开发,基于 sing-box:接受 socks5://、vless://、ss://、trojan:// 和 hysteria2:// 链接,只把选定的资源送入隧道,其余直连。它要求 OpenWrt 24.10 或更新版本,至少 25 MB 可用空间,不支持 16 MB 闪存的设备,项目处于 Beta 阶段。OpenClash 是 Mihomo(Clash)内核客户端,支持按域名设置规则,IPK 和 APK 包在 GitHub Releases 中发布。Passwall 和 Passwall2 由 Openwrt-Passwall 组织维护,编译时可以加入 Xray 和 sing-box 内核。
旧教程经常推荐 redsocks。到 2026 年,这已经不是好的选择:redsocks 主仓库自 2019 年起没有更新,2026 年 5 月该软件包因缺乏维护且有 use-after-free 错误报告,被从 OpenWrt 官方软件源中移除。安装论坛上流传的任何构建之前,请查看项目主分支最后一次提交的日期,而不是仓库最后活动的日期。
刷机之前:OpenWrt 只能安装在支持设备列表中的型号上,替换原厂固件可能影响保修。第三方软件包(Podkop、OpenClash、Passwall)通过 GitHub 上的脚本和安装包安装,请确认下载来源。 OpenWrt apk 速查表、 Podkop(GitHub)、 sing-box 文档。
独立网关。把一台装有 Linux 的迷你主机、旧笔记本或树莓派接到路由器上,在上面运行透明代理(sing-box、tun2socks 或 hev-socks5-tproxy),再把需要走代理的设备的网关地址指向它。tun2socks 支持带认证的 HTTP、SOCKS、Shadowsocks 和 SSH 代理。原有路由器保持不变。Linux 网关的具体配置见 Linux 代理设置一文。
在每台设备上安装客户端。如果只有两三台设备需要走代理,直接在设备上配置更简单:Windows 和 Mac 上用系统代理或客户端,Android 和 iOS 上用隧道类 App,浏览器中用扩展。这比在性能较弱的路由器上做透明代理更可靠,而且每台设备可以使用各自的 IP。
用 VPN 代替代理。如果你需要的不是特定类型的 IP,而只是为整个网络加一条加密隧道,TP-Link、小米或华为的原厂 VPN 客户端可能就够用了。但 VPN 服务器是另一种服务,host:port:login:pass 格式的代理不能填进这些字段。
各平台详细设置: Linux 代理设置、 Windows 代理客户端、 Mac 代理设置、 Android 代理 App、 iOS 上的 Shadowrocket和 浏览器代理设置。
DNS。最常见的错误是:IP 已经变了,DNS 查询却直接发往运营商。网站会发现这种不一致,部分服务也可能打不开。这正是 Keenetic 建议在使用 Proxy client 时开启 DoT 或 DoH 的原因;而在 OpenWrt 方案中,DNS 通常由单独的模块接管(例如 Podkop 启动时会修改 dnsmasq 的配置)。
UDP。传统 HTTP 代理(CONNECT 方法)只转发 TCP。即时通讯软件的语音通话、网络游戏和 HTTP/3(QUIC 协议)使用的是 UDP。这类流量无法通过 HTTP 代理,根据配置不同,它会直连或者无法使用。SOCKS5 只有在服务器支持 UDP ASSOCIATE 时才能处理 UDP,请向代理服务商确认。
处理器和内存。透明代理会占用路由器的 CPU。内存较小的入门型号可能既跑不动 sing-box,也跑不满宽带带宽。请参考具体软件包的要求:比如 Podkop 明确不支持 16 MB 闪存的设备。
所有设备共用一个 IP。如果全家人通过路由器使用同一个代理,平台看到的就是所有用户都在同一个地址下。个人使用没有问题,但如果要管理多个账号,最好把不同设备分配到不同的代理。
设置完成后的检查:在家庭网络中的设备上打开 IP 查询和 DNS 泄露测试网站。IP 和 DNS 服务器都应属于代理所在的国家,而不是你的宽带运营商。如果需要在电脑上为单个程序设置精细规则,可以参考 Proxifier 替代软件。
| 固件 | 代理客户端 | VPN 客户端 | 按设备选择 | 注意事项 |
|---|---|---|---|---|
| Keenetic | 支持:HTTP、HTTPS、SOCKS5(Proxy client 组件,3.9 版起) | PPTP、SSTP、L2TP/IPsec、WireGuard、OpenVPN、IKEv2、OpenConnect(KeeneticOS 4.2 起,通过 CLI 配置) | 支持,通过 Connection Policies(连接策略) | 带 USB 接口的型号支持 OPKG/Entware(部分型号可装在内置存储中) |
| TP-Link (Archer, 4G/5G) | 未声明 | OpenVPN、PPTP、L2TP/IPsec;WireGuard 仅部分型号支持 | 支持,VPN Client 中的设备列表 | 并非所有型号都有 VPN Client |
| 小米 | 未声明 | 官方说明中介绍的是 L2TP | 帮助文档未说明 | 功能因型号和固件而异 |
| 华为 | 未声明 | L2TP 和 PPTP 客户端(WS5200 NEW 不支持 IPsec,也不能做 VPN 服务器) | 帮助文档未说明 | CPE 路由器:Advanced → Route → VPN |
| OpenWrt | 通过软件包支持:sing-box、hev-socks5-tproxy、Podkop、OpenClash、Passwall | WireGuard、OpenVPN 等软件包 | 支持,按设备 IP 设置规则 | 需要足够的存储空间,并熟悉 Linux |
| 工具 | 安装来源 | 功能 | 维护状态 |
|---|---|---|---|
| sing-box | OpenWrt 官方软件源 | 通用内核:支持 SOCKS 和 HTTP 出站、TUN 模式,以及按源设备地址(source_ip_cidr)设置路由规则。 | OpenWrt 中的软件包 2026 年 9 月有更新 |
| hev-socks5-tproxy | OpenWrt 官方软件源 | 轻量的 SOCKS5 透明代理,支持 TCP 和 UDP,支持用户名和密码。UDP 需要服务器支持 UDP relay。 | 代码 2026 年 8 月有更新 |
| Podkop | GitHub itdoginfo,安装脚本 | 基于 sing-box 的 LuCI 界面。接受 socks5://、vless://、ss://、trojan://、hysteria2:// 链接,不支持 HTTP 代理。只把选定的资源送入隧道,其余直连。 | Beta 版;2026 年 8 月有更新 |
| OpenClash | GitHub vernesong,IPK 和 APK 包 | OpenWrt 上的 Mihomo(Clash)内核客户端,支持按域名设置规则。Mihomo 配置中有 HTTP 和 SOCKS 类型的代理。 | 2026 年 8 月有新版本发布 |
| Passwall / Passwall2 | GitHub Openwrt-Passwall,第三方软件源 | 面向代理内核的 LuCI 界面;编译时可以加入 Xray、sing-box、Hysteria 等。 | 2026 年 9 月有提交 |
| redsocks | 2026 年 5 月已从 OpenWrt 软件源移除 | 旧教程中常见的 TCP 透明重定向工具,可转发到 SOCKS/HTTP。因缺乏维护且有 use-after-free 错误报告而被移除。 | 主仓库自 2019 年起没有提交 |
数据截至 2026 年 9 月。维护状态以项目主分支最后一次提交或发布为准。菜单名称可能因型号、版本和固件语言不同而有差异。仓库: openwrt/packages、 hev-socks5-tproxy、 OpenClash、 Passwall、 redsocks。
以下步骤依据 Keenetic 关于 Proxy client 的帮助文档,适用于带用户名密码的 HTTP、HTTPS 或 SOCKS5 代理。 菜单名称取自 Keenetic 英文界面。OpenWrt 路由器的顺序不同:先安装软件包(sing-box、hev-socks5-tproxy 或 Podkop), 再在其设置中填写同样的四项代理参数。
将 KeeneticOS 更新到最新版本:Proxy client 从 3.9 版开始提供,更早的固件中没有。
打开 General System Settings 页面(新版网页界面中位于 Management 菜单下的系统设置),在 KeeneticOS Update and Component Options 区域点击 Component options,勾选 Proxy client 并安装更新。
进入 Other Connections 页面(位于 Internet 菜单下),滚动到 Proxy Connections 区域,点击 Add connection。
选择协议(HTTP、HTTPS 或 SOCKS5)并填写各字段。Coronium 的 host:port:login:pass 格式正好对应四个字段:服务器地址、端口、用户名、密码。
在路由器的 DNS 设置中开启 DNS-over-TLS 或 DNS-over-HTTPS。Keenetic 明确提示:如果不使用 DoT/DoH,通过代理连接访问网站可能会不正常。
把该连接的开关拨到 On,确认状态变为已连接。
打开 Connection Policies,把代理连接拖到默认策略的第一位。此后,绑定在默认策略上的所有客户端都会通过代理上网。
如果只需要部分设备走代理(比如电视或工作用的笔记本),就新建一个单独的策略,把代理排在第一位,再把这些设备绑定到该策略。
在家庭网络中的任意设备上打开 IP 查询网站检查结果:应显示代理的 IP 和国家。
只想让部分网站走代理?KeeneticOS 5.0 为此提供了基于 DNS 的路由,OpenWrt 上可以用 sing-box 规则或 Podkop 的列表实现。如果要在电脑上管理多个代理,可以参考 Windows 代理客户端一文。
路由器对代理的要求很简单:固定的服务器地址、端口、用户名密码认证,以及固件能识别的协议。Keenetic 支持 HTTP、HTTPS 和 SOCKS5;OpenWrt 以 SOCKS5 为主,sing-box、Mihomo(OpenClash)和 Xray 也支持 HTTP,但 Podkop 不支持。如果家里有语音通话、游戏或视频流, 请另外向代理服务商确认其 SOCKS5 是否转发 UDP。
第二个问题是网站会看到什么样的 IP。机房 IP 很容易被平台识别。移动运营商的 IP 处在 CGNAT 之后,由大量真实用户共用, 所以平台对它们一般更宽松。对于一台路由器下连接多种设备的家庭网络,这一点尤其明显。
Coronium 移动代理以 host:port:login:pass 格式提供,支持 HTTP 和 SOCKS5。 在 Keenetic 中作为代理连接添加,在 OpenWrt 上填入 sing-box、hev-socks5-tproxy 或 Podkop(使用带用户名和密码的 socks5:// 链接)。 出口显示的是真实 4G/5G 运营商的 IP。如果想用调制解调器自建移动代理,可以查看 4G/5G 调制解调器集群硬件。