Files
2026-05-27 09:55:37 +08:00

4.9 KiB
Raw Permalink Blame History

透明代理配置

对应 settings.toml[transparent]

透明代理由两部分组成:

部分 作用
Xray inbound 接收被系统规则转发来的流量。
系统规则 iptables / nft / ip rule / resolv.conf,把宿主机流量导到 Xray。

字段

设置 UI 默认值 可选值 作用 什么时候修改
mode 显示 close close / proxy / whitelist / gfwlist / pac 是否启用 transparent inbound,以及透明代理流量使用的路由模式。 需要宿主机透明代理时改为非 close
type 显示 redirect redirect / tproxy / system_proxy / tun 透明代理接入方式。 先用 redirect;需要 UDP 再评估 tproxy
port 显示 52345 0-65535 redirect/tproxy/system_proxy/tun 主端口。 端口冲突时修改。
socks_port 显示 52306 0-65535 system_proxy 额外 SOCKS 端口。 只在 system proxy 场景修改。
ipforward 显示 false bool 生成脚本写 /proc/sys/net/ipv4/ip_forward 和 IPv6 forwarding。 宿主机要作为网关转发其它设备/容器流量时开启。
docker_transparent 显示 true bool redirect/tproxy 规则只关注指定 Docker CIDR,并不过滤 docker/veth/br-* 接口。 要透明代理 Docker 容器流量时保持开启。
docker_transparent_cidrs 显示 172.16.0.0/12 分号分隔 IPv4 CIDR Docker 容器源地址网段。 Docker 网段不是默认范围时修改。
tproxy_excluded_interfaces 显示 docker*,veth*,wg*,ppp*,br-* 逗号分隔接口模式 系统规则排除入口接口。 tproxy/redirect 误拦截特定接口时修改。
tproxy_white_country_codes 隐藏 [] 国家/地区代码数组 geoip.dat 解析白名单 CIDRtproxy 下 RETURN。 tproxy 下需要国家/地区直连白名单时手改。
tproxy_white_custom_ips 隐藏 [] CIDR 数组 tproxy 自定义 RETURN CIDR。 tproxy 下需要额外直连网段时手改。
tun_bypass_interfaces 隐藏 "" 字符串 写入 tinytun.yaml 的绕过接口。 使用 TinyTun 且要绕过接口时手改。
tun_auto_route 显示 true bool 写入 tinytun.yamlauto_route TUN 路由由外部管理时关闭。
tun_route_shell_type 隐藏 "" 字符串 预留。 当前不用改。
tun_route_shell_path 隐藏 "" 字符串 预留。 当前不用改。
tun_setup_script 隐藏 "" shell 文本 type = tun 时生成 setup 脚本内容。 需要自定义 TUN 初始化时手改。
tun_teardown_script 隐藏 "" shell 文本 type = tun 时生成 cleanup 脚本内容。 需要自定义 TUN 清理时手改。
tun_process_backend 隐藏 "" 字符串 写入 TinyTun 进程匹配后端。 需要进程分流时手改。
tun_exclude_processes 隐藏 "" 换行/逗号分隔字符串 写入 TinyTun 排除进程。 避免 Xray/pyxray 自身进入 TUN 回环时修改。

模式行为

mode 透明代理路由行为
close 不生成 transparent inbound,不执行透明代理 setup。
proxy transparent 流量全部走 proxy
whitelist transparent 流量按 whitelist 规则。
gfwlist transparent 流量按 gfwlist 规则。
pac transparent 流量复用 [routing].mode

类型行为

type Xray inbound 系统规则 适用
redirect dokodemo-door + followRedirect + tproxy=redirect nat 表 REDIRECT / nft redirect 推荐默认;主要处理 TCP。
tproxy dokodemo-door + followRedirect + tproxy=tproxy mangle + fwmark + table 100 / nft tproxy 需要 UDP/TProxy 时。
system_proxy HTTP + SOCKS 不改内核规则,只生成占位脚本 应用显式配置代理。
tun SOCKS 入站 + tinytun.yaml 使用 tun_setup_script / tun_teardown_script 外部 TinyTun 方案。

Docker 部署注意

配置 说明
network_mode: host 规则作用于宿主机网络命名空间。
privileged: true 允许改 iptables/nft/ip rule/procfs。
/etc/resolv.conf:/etc/resolv.conf redirect DNS 劫持时修改宿主机 DNS。
docker_transparent = true 生成 Docker CIDR 相关 PREROUTING 规则。

生成文件

文件 用途
ip-forward-apply.sh 写 IP forwarding。
resolv-hijack-setup.sh redirect DNS 劫持。
resolv-hijack-cleanup.sh 恢复 DNS。
transparent-iptables-setup.sh 安装 iptables 规则。
transparent-iptables-cleanup.sh 清理 iptables 规则。
transparent-nft-setup.sh 加载 nftables 规则。
transparent-nft-cleanup.sh 清理 nftables 规则。
v2raya.nft nftables 表内容。
tinytun.yaml TinyTun 配置。