侧边栏壁纸
  • 累计撰写 91 篇文章
  • 累计创建 21 个标签
  • 累计收到 5 条评论

目 录CONTENT

文章目录

记一次硬核网络折腾:跨省异地组网 + Fake-IP 透明代理排坑指南

心生向往
2026-03-01 / 0 评论 / 0 点赞 / 2 阅读 / 1,487 字

跨省异地组网 + Fake-IP 透明代理排坑笔记

image

记录一次跨省异地组网的硬核折腾。原以为打通 OpenVPN 隧道就完事,结果踩遍了底层网络的坑。去除废话,直接上拓扑和解决步骤,供同好抄作业。

网络拓扑:

  • 广州端(客户端):老毛子 Padavan(运行 OpenVPN 客户端)
  • 湖南端(服务端):爱快 iKuai(主路由 + OpenVPN 服务端 10.10.10.253) + OpenWrt(旁路由 + OpenClash 10.10.10.252
  • VPN 虚拟网段10.7.7.0/24

第一步:基础环境排雷

在搞跨省引流前,先解决本地和远端的环境死锁。

1. 解决广州出租屋网关冲突
出租屋光猫和老毛子容易产生网关 ARP 冲突。直接在老毛子的“自定义设置 -> 脚本 -> 在路由器启动后执行”中,写死光猫的 MAC 地址绑定:

arp -s 192.168.1.1 3c:a1:61:6a:87:db

2. 解决老家 OpenWrt 502 Bad Gateway
透明代理日志极易塞满 /tmp,导致核心进程假死报 502。SSH 登录 OpenWrt,输入 crontab -e 写入定时任务,每天凌晨 4 点清理日志并重启 UI 服务:

0 4 * * * rm -rf /tmp/log/* && /etc/init.d/uhttpd restart

3. 清理本地 DNS 与 DHCP 污染

  • 停用老毛子自带的 Google-fu 插件,避免 53 端口冲突。
  • 进入老毛子 内部网络 (LAN) -> DHCP 服务器
  • DNS 服务器 1:指老家旁路由 10.10.10.252

第二步:打通旁路由(解决路由黑洞)

此时 DNS 已能拿到 198.18.x.x (Fake-IP),但流量进不了 Clash,需要在主旁路由写明转发规则。

1. 爱快端(主路由下发)

  • 端口分流:协议 任意 -> 源地址 10.7.7.0/24 -> 下一跳网关 10.10.10.252(将 VPN 流量踢给旁路由)。
  • 静态路由:目的地址 198.18.0.0/16 -> 下一跳 10.10.10.252

2. OpenWrt 端(补回程票)

  • 静态路由:目标网段 10.7.7.0 -> 掩码 255.255.255.0 -> IPv4 网关 10.10.10.253(爱快 IP)。

3. OpenWrt 端(iptables 强制劫持)
跨网段流量容易被 OpenClash 的 ACL 漏接,直接在 OpenWrt 网络 -> 防火墙 -> 自定义规则 中硬核劫持(假定代理端口为 7892):

# 允许来自 VPN 网段 (10.7.7.0/24) 的请求访问转发
iptables -I FORWARD -s 10.7.7.0/24 -j ACCEPT

#只要是从广州 VPN 来的包,除了去老家内网 10.10.10.x 的,其他的不管是 Fake-IP 还是 Telegram 真实 IP,统统给我进 Clash!

iptables -t nat -I PREROUTING -s 10.7.7.0/24 ! -d 10.10.10.0/24 -p tcp -j REDIRECT --to-ports 7892
# 确保 198.18.0.0 的流量能被 Clash 捕获
#iptables -t nat -I PREROUTING -s 10.7.7.0/24 -p tcp -d 198.18.0.0/16 -j REDIRECT --to-ports 7892

第三步:极限压制 MTU(解决能 Ping 通但网页假死)

跨省 PPPoE + OpenVPN 封装 + Fake-IP,包头极其臃肿。1500 的大包会被运营商骨干网直接丢弃。

1. 服务端(爱快)

  • OpenVPN 服务端设置,MTU 强行修改为 1280

2. 客户端(老毛子)

  • 进入 VPN 客户端 -> 设置 -> OpenVPN 扩展配置,最下方追加底层指令,钳制虚拟网卡及 TCP MSS 分片:
tun-mtu 1280
mssfix 1240

保存并重拨 VPN,网页即可秒开。


第四步:接管直连 App 流量(TG / X)

基于 DNS 欺骗的 Fake-IP 搞不定硬编码 IP 和强制走 UDP 的 App。

1. Telegram:硬编码 IP 绕过 DNS
进入老毛子的 OpenVPN 扩展配置,手动注入 TG 的核心 ASN 网段,强制绑进 VPN 隧道:

route 91.108.0.0 255.255.0.0
route 149.154.0.0 255.255.0.0

2. X (Twitter) / YouTube:QUIC 协议绕过 TCP 劫持
进入老家 OpenWrt 的 OpenClash 后台 -> 全局设置 -> 勾选 “禁用 QUIC (Drop QUIC)”
逻辑:墙掉 UDP 443,逼迫 App 降级走 TCP 443 协议,从而落入 iptables 的劫持规则中。

总结

flowchart TD
subgraph 广州出租屋 [广州出租屋 - 客户端环境]
Device[手机 / 电脑] --“DHCP 指定 DNS: 10.10.10.252
关闭私密 DNS”–> Padavan

    Padavan((老毛子 Padavan<br>OpenVPN Client))
    Padavan -. "静态 ARP 绑定 (防冲突)<br>192.168.1.1 3c:a1...db" .-> Modem[电信光猫]
    Padavan -- "强制 Telegram 路由走隧道<br>91.108.0.0/16<br>149.154.0.0/16" --> Padavan
end

subgraph 公网传输
    VPN{OpenVPN 隧道<br>虚拟网段: 10.7.7.0/24}
    Padavan <== "tun-mtu 1280<br>mssfix 1240" ===> VPN
end

subgraph 湖南老家 [湖南老家 - 服务端环境]
    iKuai((爱快 iKuai 主路由<br>IP: 10.10.10.253<br>OpenVPN Server))
    VPN <== "推送路由:<br>198.18.0.0/16 (Fake-IP)<br>10.10.10.0/24 (内网)" ===> iKuai
    
    iKuai -- "【端口分流】源 10.7.7.x 踢给旁路由<br>【静态路由】目标 198.18.x.x 指向旁路由" --> OpenWrt
    
    OpenWrt((OpenWrt 旁路由<br>IP: 10.10.10.252<br>OpenClash + ADG))
    OpenWrt -. "【静态路由】目标 10.7.7.x (回程票) 指向主路由" .-> iKuai
    
    OpenWrt -- "【iptables 劫持】<br>拦截 10.7.7.x 的 TCP 至 7892 端口" --> Clash[OpenClash 核心]
    OpenWrt -- "屏蔽 UDP 443 端口<br>(逼迫 X App 降级走 TCP)" --> Firewall[防火墙 / Drop QUIC]
end

Clash == "透明代理 / 规则分流" ===> Internet((国际互联网))

classDef local fill:#E3F2FD,stroke:#2196F3,stroke-width:2px;
classDef remote fill:#F3E5F5,stroke:#9C27B0,stroke-width:2px;
classDef core fill:#FFF3E0,stroke:#FF9800,stroke-width:2px;

class Padavan local;
class iKuai remote;
class OpenWrt core;
0

评论区