QuickQ的WireGuard策略路由怎么标记

加速器 quickq 1

本文目录导读:

QuickQ的WireGuard策略路由怎么标记-第1张图片-QuickQ官网 | 高速稳定下载-官网下载

  1. 核心原理
  2. 具体操作步骤(以 QuickQ/OpenWrt 为例)
  3. 在 QuickQ 图形界面如何操作(如果支持)
  4. 常见问题和确认方法
  5. 总结关键点

针对 QuickQ(通常指基于 OpenWrt 或类似系统的路由器,GL.iNet 等品牌),使用 WireGuard 进行策略路由时,核心需求通常是:让某些设备或流量走 WireGuard VPN,其他流量走正常宽带

“标记”是实现策略路由的关键步骤,通常使用 iptables(防火墙)的 MARK(标记)功能 配合 ip rule(策略路由规则) 来完成。

以下是在 QuickQ 系统中标记 WireGuard 流量的标准操作步骤和原理:

核心原理

  1. 创建路由表:新建一个专用的路由表(如 vpn 表),默认路由指向 WireGuard 接口。
  2. 标记流量:使用 iptablesmangle 表,根据条件(源IP、目标端口、协议等)给数据包打上特定标记(如 0x1)。
  3. 策略路由:使用 ip rule 规则,将所有带有该标记的数据包,强制使用 vpn 路由表。

具体操作步骤(以 QuickQ/OpenWrt 为例)

你可以通过 SSH 命令行QuickQ 后台的“高级设置” > “自定义脚本” 来实现。

按“源IP/设备”标记(最常用,让某台设备走VPN)

假设你想让局域网内 IP 为 168.1.100 的设备 所有流量走 WireGuard,其他设备走正常线路。

创建自定义路由表(如下一步中一起配置,或先手动执行)

   echo "100 vpn" >> /etc/iproute2/rt_tables

配置策略路由规则(在QuickQ的“自定义脚本”或启动脚本中)

   # 在防火墙启动后执行(/etc/firewall.user 或 启动脚本)
   # (a) 在 mangle 表里,标记来自 192.168.1.100 的数据包
   iptables -t mangle -A PREROUTING -s 192.168.1.100 -j MARK --set-mark 0x1
   # (b) 创建一个新的路由表(名为 vpn,编号100)
   # 添加默认路由到你的 WireGuard 接口(假设接口名是 wg0)
   ip route add default dev wg0 table 100
   # (c) 设置策略路由:所有标记了 0x1 的流量,查路由表100
   ip rule add fwmark 0x1 table 100 priority 100
   # (d) (可选)防止 VPN 流量回环,添加本地路由
   ip route add 192.168.1.0/24 dev br-lan table 100

解释

  • -t mangle:iptables 的 mangle 表专门用于修改数据包标志。
  • -A PREROUTING:在数据包刚进入路由器(还没做路由决策前)进行标记。
  • -s 192.168.1.100:匹配源IP。
  • -j MARK --set-mark 0x1:给匹配到的数据包打上标签 1
  • ip rule add fwmark 0x1:告诉系统,看到标签为 1 的数据包,就去查编号 100 的路由表。
  • ip route add default dev wg0 table 100:告诉路由表 100,这些数据的默认出口是 wg0

按“目标”标记(例如仅让访问特定网站走VPN)

假设你想让所有访问 8.8.8 的数据走 WireGuard。

iptables -t mangle -A PREROUTING -d 8.8.8.8 -j MARK --set-mark 0x1
# 其他规则同上(ip route add default dev wg0 table 100 和 ip rule ...)

标记并排除本地流量(避免断网)

如果你标记了所有流量,需要确保路由器自己发起的 DNS 请求(去 WireGuard 对端)不要被路由策略干扰,否则可能无法连接对端。

# 非常重要:允许 WireGuard 对端的连接(假设对端IP是 10.0.0.1)
iptables -t mangle -A PREROUTING -s 192.168.1.100 -d 10.0.0.1 -j RETURN

在 QuickQ 图形界面如何操作(如果支持)

  1. 进入:QuickQ 后台 > 应用 > VPN 隧道 > WireGuard
  2. 策略:部分 QuickQ 固件自带“策略路由”选项卡,你可以直接选择:
    • “指定设备走 VPN”
    • “指定目标走 VPN”
    • 图形界面本质上是自动生成了上述 iptables 命令。
  3. 如果没选项:你需要开启“高级”或“SSH”功能,手动执行上述命令。

常见问题和确认方法

  1. 如何确认标记成功?

    # 查看 mangle 表的规则
    iptables -t mangle -vL PREROUTING

    应该能看到 MARK set 0x1 和匹配的数据包计数(pkts 数字在增长)。

  2. 如何查看路由规则?

    # 查看所有策略路由规则
    ip rule show
    # 应该看到类似:100: from all fwmark 0x1 lookup vpn
  3. 重启会失效怎么办? 将上述命令添加到 系统 > 启动项 > 本地启动脚本 中,或者 /etc/firewall.user 文件中。

总结关键点

  • 标记工具iptables -t mangle -A PREROUTING -j MARK --set-mark X
  • 匹配条件-s(源IP/段)、-d(目标IP)、-p(协议如 tcp/udp)、--dport(端口)。
  • 路由映射ip rule add fwmark X table Y + ip route add default dev wg0 table Y
  • 接口名:通常是 wg0,你可以用 ip link show 确认。

如果你能告诉我你想让哪台设备哪个网站走 WireGuard,我可以给出更精确的命令。

抱歉,评论功能暂时关闭!