首页
/ Proxychains-ng 配置文件深度解析与实战指南

Proxychains-ng 配置文件深度解析与实战指南

2025-07-06 06:19:05作者:戚魁泉Nursing

配置文件概述

proxychains-ng 是一个功能强大的网络工具,它允许通过 HTTP、SOCKS4a 和 SOCKS5 网络隧道进行网络连接,并支持 DNS 代理功能。其核心配置文件 proxychains.conf 控制着工具的所有行为模式,理解这个文件的配置对于高效使用 proxychains-ng 至关重要。

代理链模式详解

proxychains-ng 提供了四种不同的代理链工作模式,每种模式适用于不同的使用场景:

1. 动态链模式 (dynamic_chain)

  • 特点:按顺序尝试代理列表中的代理,跳过不可用的代理
  • 优势:至少有一个代理可用即可工作,容错性强
  • 适用场景:代理稳定性不确定的环境

2. 严格链模式 (strict_chain)

  • 特点:严格按照列表顺序使用所有代理,全部代理必须在线
  • 优势:提供确定的代理路径,安全性更高
  • 适用场景:需要严格代理链路的场景

3. 轮询链模式 (round_robin_chain)

  • 特点:按固定长度(chain_len)轮换使用代理
  • 优势:分散流量,避免单一代理过载
  • 适用场景:负载均衡需求

4. 随机链模式 (random_chain)

  • 特点:随机选择代理或代理链
  • 优势:难以预测,增强匿名性
  • 适用场景:安全测试或隐私保护

DNS 代理配置

proxychains-ng 提供了三种 DNS 代理方法,防止 DNS 泄漏:

方法1:线程式远程 DNS (proxy_dns)

  • 原理:创建独立线程处理 DNS 请求
  • 优点:设置简单,速度快,支持特殊域名
  • 注意:某些复杂应用可能存在兼容性问题

方法2:传统 proxyresolv 脚本 (proxy_dns_old)

  • 原理:使用外部脚本处理 DNS
  • 优点:兼容性更好
  • 缺点:速度慢,不支持特殊域名

方法3:守护进程模式 (proxy_dns_daemon)

  • 原理:依赖独立守护进程
  • 优点:内存效率高,兼容异步不安全软件
  • 注意:需提前启动守护进程

远程 DNS 子网配置: 默认使用 224.x.x.x 保留地址范围,可修改为 10.x.x.x 或 127.x.x.x 等,但需确保不与实际网络冲突。

高级网络配置

超时设置

  • tcp_read_time_out:TCP 读取超时(毫秒)
  • tcp_connect_time_out:TCP 连接超时(毫秒)

本地网络排除 (localnet)

可配置某些网络不使用代理,支持多种格式:

  • 指定子网和端口:192.168.1.0:80/255.255.255.0
  • 整个子网:192.168.100.0/255.255.255.0
  • 所有地址特定端口:0.0.0.0:80/0.0.0.0

DNAT 重定向 (dnat)

实现目的地址转换,格式灵活:

  • 完整转换:1.1.1.1:1234 → 1.1.1.2:443
  • 端口保持:1.1.1.1:443 → 1.1.1.2
  • 全局重定向:1.1.1.1 → 1.1.1.2

代理列表配置

代理列表格式为:

type    ip    port    [user    pass]

支持代理类型:

  • http:HTTP 代理
  • socks4:SOCKS4 代理
  • socks5:SOCKS5 代理
  • raw:原始转发(不修改流量)

认证支持:

  • HTTP 代理:basic 认证
  • SOCKS 代理:用户名/密码认证

示例配置:

socks5  192.168.67.78  1080  lamer  secret
http    192.168.89.3   8080  justu  hidden
socks4  192.168.1.49   1080

最佳实践建议

  1. 模式选择

    • 常规使用推荐 strict_chaindynamic_chain
    • 隐私保护考虑 random_chain
    • 负载均衡使用 round_robin_chain
  2. DNS 配置

    • 大多数场景使用默认的 proxy_dns
    • 复杂应用出现问题时可尝试 proxy_dns_old
  3. 性能调优

    • 根据网络状况调整超时参数
    • 避免过多代理节点导致延迟增加
  4. 安全考虑

    • 谨慎配置 localnet 排除规则
    • 定期检查代理列表可用性

通过合理配置 proxychains.conf 文件,可以充分发挥 proxychains-ng 的强大功能,满足各种网络代理需求。配置文件的高度灵活性使其能够适应从简单到复杂的各种使用场景。