You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Debian环境下如何仅让qBittorrent流量通过SoftEther VPN路由

Debian环境下如何仅让qBittorrent流量通过SoftEther VPN路由

我明白你现在的需求——只想让qBittorrent的流量走SoftEther VPN,其他程序的流量还是走本地网络对吧?之前要么全流量路由、要么绑定接口后qBittorrent连不上网的问题,我来给你梳理一套可行的解决方案:

第一步:确认VPN连接状态与接口信息

首先确保你已经成功连接SoftEther VPN,并且能获取到VPN接口(比如你提到的vpn_vpn)的关键信息:

  1. 查看VPN接口的IP地址和网关:
    ip addr show vpn_vpn
    
    输出里会有类似inet 10.0.0.2/24的行,你可以通过dhclient vpn_vpn获取到VPN网关(通常是子网的第一个IP,比如10.0.0.1)。
  2. 保留原有的本地默认路由不要删除,这是其他流量走本地的关键。

第二步:配置专属路由表与规则

我们会给qBittorrent单独配置一套路由规则,让它的流量优先走VPN:

  1. 创建一个新的路由表:
    编辑/etc/iproute2/rt_tables文件,添加一行自定义路由表(比如编号200,命名为vpnroute):
    echo "200 vpnroute" | sudo tee -a /etc/iproute2/rt_tables
    
  2. 给这个路由表添加VPN相关路由:
    • 添加默认路由到VPN网关:
      sudo ip route add default via <VPN_GATEWAY> dev vpn_vpn table vpnroute
      
      把<VPN_GATEWAY>替换成你第一步获取到的VPN接口网关。
    • (可选)如果你需要qBittorrent能访问本地局域网资源,添加本地子网路由到这个表:
      sudo ip route add <LOCAL_SUBNET>/24 dev <LOCAL_INTERFACE> table vpnroute
      
      比如本地子网是192.168.1.0/24,本地接口是eth0,就替换成对应值。
  3. 添加IP规则,让qBittorrent用户的流量使用这个路由表:
    • 先找到qBittorrent运行的用户ID(通常是qbittorrent):
      id -u qbittorrent
      
      假设输出是1001。
    • 添加规则绑定用户ID到路由表:
      sudo ip rule add uidrange 1001-1001 lookup vpnroute
      

第三步:配置qBittorrent绑定VPN接口

最后在qBittorrent的设置里完成绑定:

  1. 打开qBittorrent的设置界面,找到网络选项卡。
  2. 在高级区域的网络接口下拉菜单里,选择你的VPN接口vpn_vpn。
  3. (可选)为了避免DNS泄露,在DNS服务器栏手动填入VPN提供商提供的DNS地址,不要用本地DNS。
  4. 确保qBittorrent是以qbittorrent用户运行的(如果是用qbittorrent-nox服务,默认就是这个用户),这样之前的路由规则才会生效。

验证是否生效

你可以用tcpdump工具验证流量走向:

sudo tcpdump -i vpn_vpn host <某个下载源IP>

启动qBittorrent下载,看看是否有流量在vpn_vpn接口上传输,同时打开浏览器访问网站,检查流量是否还是走本地接口(比如eth0)。

备注:内容来源于stack exchange,提问作者Redber

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 15:24:36