透明代理配置教程

全局透明代理设置指南

简介

透明代理配置指南,让路由器实现全局代理,所有连接的设备自动使用代理服务,无需在每个设备上单独配置。

什么是透明代理

概念说明

  • 传统代理:需要在应用中配置代理地址和端口
  • 透明代理:用户无感知,流量自动转发到代理服务器
  • 优势:一次配置,全设备受益

工作原理

  1. 设备发出网络请求
  2. 路由器拦截流量
  3. 根据规则判断是否需要代理
  4. 将流量转发到代理服务器
  5. 返回结果给设备

实现方式

方式一:软路由方案

硬件选择

  • x86软路由:J1900、J3455、N5105等
  • ARM设备:树莓派、NanoPi等
  • 虚拟机:ESXi、PVE等平台

系统选择

  • OpenWrt:开源,插件丰富
  • iKuai:企业级,稳定
  • RouterOS:功能强大
  • Padavan:适合部分路由器

方式二:硬路由方案

支持的路由器

  • 华硕路由器 + 梅林固件
  • 网件路由器 + OpenWrt
  • 小米路由器 + OpenWrt
  • 红米路由器 + OpenWrt

OpenWrt 透明代理配置

安装必要组件

# 更新软件包
opkg update

# 安装必要软件
opkg install iptables-mod-tproxy
opkg install dnsmasq-full
opkg install ipset

使用 Passwall 透明代理

安装 Passwall

# 安装Passwall
wget -O passwall.sh https://raw.githubusercontent.com/xiaorouji/openwrt-passwall/main/install.sh
bash passwall.sh

配置透明代理

  1. 进入 Passwall 设置
  2. 基本设置:
    • 启用主开关
    • 选择节点
    • TCP代理方式:TPROXY
    • UDP代理方式:TPROXY
  3. DNS设置:
    • 启用DNS解析
    • 选择DNS方案(推荐Smartdns)
  4. 保存并应用

使用 OpenClash 透明代理

配置步骤

  1. 安装 OpenClash
  2. 导入配置文件
  3. 运行模式设置:
    • 选择 Fake-IP模式Redir-Host模式
    • 启用 TUN模式(可选)
  4. 启动服务

手动配置透明代理

iptables 规则

创建脚本 /etc/init.d/transparent-proxy:

#!/bin/sh /etc/rc.common

START=99
STOP=10

PROXY_PORT=1080
PROXY_SERVER=127.0.0.1

start() {
    # 创建新链
    iptables -t nat -N PROXY
    iptables -t mangle -N PROXY

    # 绕过局域网和国内IP
    iptables -t nat -A PROXY -d 0.0.0.0/8 -j RETURN
    iptables -t nat -A PROXY -d 10.0.0.0/8 -j RETURN
    iptables -t nat -A PROXY -d 127.0.0.0/8 -j RETURN
    iptables -t nat -A PROXY -d 169.254.0.0/16 -j RETURN
    iptables -t nat -A PROXY -d 172.16.0.0/12 -j RETURN
    iptables -t nat -A PROXY -d 192.168.0.0/16 -j RETURN
    iptables -t nat -A PROXY -d 224.0.0.0/4 -j RETURN
    iptables -t nat -A PROXY -d 240.0.0.0/4 -j RETURN

    # 重定向到代理端口
    iptables -t nat -A PROXY -p tcp -j REDIRECT --to-ports $PROXY_PORT

    # 应用规则
    iptables -t nat -A PREROUTING -p tcp -j PROXY
    iptables -t nat -A OUTPUT -p tcp -j PROXY
}

stop() {
    # 删除规则
    iptables -t nat -D PREROUTING -p tcp -j PROXY
    iptables -t nat -D OUTPUT -p tcp -j PROXY
    iptables -t nat -F PROXY
    iptables -t nat -X PROXY
    iptables -t mangle -F PROXY
    iptables -t mangle -X PROXY
}

梅林固件透明代理

使用软件中心插件

KoolClash 配置

  1. 安装 KoolClash
  2. 导入配置文件
  3. 运行模式:
    • 选择 规则模式
    • 自动实现透明代理
  4. DNS设置:
    • 使用插件DNS
    • 或配合 SmartDNS

SSR Plus+ 配置

  1. 启用 SSR Plus+
  2. 运行模式:大陆白名单模式
  3. UDP转发:启用
  4. 访问控制:
    • 全部设备代理
    • 或按需设置

DNS 配置

DNS 污染问题

解决方案

  1. 使用代理插件DNS

    • Passwall内置DNS
    • OpenClash的Fake-IP
  2. SmartDNS分流

    国内域名 → 国内DNS(直连)
    国外域名 → 国外DNS(通过代理)
    
  3. DoH/DoT加密DNS

    • Cloudflare DoH:1.1.1.1
    • Google DoH:8.8.8.8

Dnsmasq 配置

编辑 /etc/dnsmasq.conf:

# 上游DNS服务器
server=127.0.0.1#5353

# 缓存大小
cache-size=10000

# 禁用解析IPv6
filter-aaaa

分流规则

基于域名分流

GFW列表

使用GFW列表实现精准分流:

# 在Passwall中
规则管理 → 订阅规则 → GFW列表

自定义规则

添加特定域名:

# 代理域名
server=/google.com/
server=/youtube.com/

# 直连域名
server=/baidu.com/114.114.114.114

基于IP分流

中国IP直连

使用 China IP 列表:

# 创建ipset
ipset create china hash:net

# 导入IP列表
wget -O- 'http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest' | \
awk -F\| '/CN\|ipv4/ { printf("%s/%d\n", $4, 32-log($5)/log(2)) }' | \
while read ip; do ipset add china $ip; done

iptables规则

# 中国IP直连
iptables -t nat -A PROXY -m set --match-set china dst -j RETURN

UDP 转发

启用UDP代理

Passwall配置

基本设置 → UDP代理方式 → TPROXY

iptables规则

# UDP转发
iptables -t mangle -A PROXY -p udp -j TPROXY \
    --on-port $PROXY_PORT --tproxy-mark 0x01/0x01

ip rule add fwmark 0x01/0x01 table 100
ip route add local 0.0.0.0/0 dev lo table 100

游戏加速

游戏UDP优化

  1. 启用UDP转发
  2. 配置游戏IP规则
  3. 选择低延迟节点
  4. 启用多路复用

游戏规则

添加游戏服务器IP:

# Steam
ipset add game_ip 185.25.182.0/24

# Epic
ipset add game_ip 3.216.0.0/14

性能优化

硬件加速

# 启用flow offloading
uci set firewall.@defaults[0].flow_offloading='1'
uci set firewall.@defaults[0].flow_offloading_hw='1'
uci commit firewall
/etc/init.d/firewall restart

连接数优化

# 增加连接跟踪表大小
echo 65536 > /proc/sys/net/netfilter/nf_conntrack_max

# 优化TCP
echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse
echo 1 > /proc/sys/net/ipv4/tcp_fin_timeout

访问控制

按设备控制

白名单模式

只有指定设备使用代理:

# 基于MAC地址
iptables -t nat -A PROXY -m mac --mac-source AA:BB:CC:DD:EE:FF -j RETURN

黑名单模式

排除特定设备:

# 排除设备
iptables -t nat -I PROXY -s 192.168.1.100 -j RETURN

按时间控制

使用 cron 定时任务:

# 工作日8-18点启用
0 8 * * 1-5 /etc/init.d/passwall start
0 18 * * 1-5 /etc/init.d/passwall stop

故障排查

检查代理状态

# 查看iptables规则
iptables -t nat -L PROXY -n -v

# 查看路由
ip rule show
ip route show table 100

# 查看连接
netstat -an | grep ESTABLISHED

测试连接

# 测试直连
curl --interface eth0 ip.sb

# 测试代理
curl ip.sb

# 测试DNS
nslookup google.com

日志分析

# 查看系统日志
logread | grep proxy

# 实时日志
logread -f

常见问题

部分网站无法访问

  • 检查分流规则
  • 更新GFW列表
  • 手动添加域名规则

速度慢

  • 选择更快节点
  • 优化DNS设置
  • 检查规则是否过多
  • 启用硬件加速

游戏延迟高

  • 启用UDP转发
  • 选择游戏专用节点
  • 添加游戏IP规则
  • 禁用QoS

安全建议

  • 使用强密码保护路由器
  • 定期更新固件和插件
  • 启用访客网络隔离
  • 配置防火墙规则
  • 定期检查日志
  • 备份配置文件

注意事项

  • 确保路由器性能充足
  • 注意散热问题
  • 合理配置规则避免冲突
  • 定期更新分流规则
  • 遵守当地法律法规
  • 不要滥用代理服务

重要声明

本站仅提供JustMySocks产品的信息介绍和使用教程,不提供代理服务本身。所有服务均由JustMySocks官方提供和运营。

请遵守当地法律法规,合理使用网络服务。本站不对用户的使用行为承担任何责任。