背景:
前几天升级了 macOS 14.0 Beta (23A5312d) 导致官方的 EasyConnect 登录后无法访问网络,包括内网和外网。所以决定在本地部署 docker-easyconnect 。
现状:
1 、已经在本地成功部署 docker-easyconnect 、登录账号并提供了两个代理 127.0.0.1:1080, 127.0.0.1:8888
2 、使用 Surge 配置规则,并开启了系统代理功能。对应内网的 http 服务可以成功被代理
问题:
对于内网 MySQL 、Redis 等服务,如果想要被代理,需要打开 Surge 的增强模式,如果打开增强模式会出现 loopback ,细节如下:
假设 MySQL 的 host 是 mysql.example.com 把这个 host 添加到规则里: mysql.example.com -> 127.0.0.1:1080
但 docker 里 easyconnect 发起的请求也是 mysql.example.com
导致 docker 发出的请求也会命中规则 mysql.example.com -> 127.0.0.1:1080
最终出现 mysql.example.com -> 127.0.0.1:1080 -> mysql.example.com -> 127.0.0.1:1080
想请教一下你们是怎么使用 docker-easyconnect 的。
1
dyb0204 2023-08-16 15:23:10 +08:00
ip route add 10.0.0.0/16(EasyConnect 代理的网段) via 172.17.0.3(docker 容器 ip) mtu 1400 table 3
ip rule add iif lo table 3 可以试试,仅供参考 |
2
xingyue 2023-08-16 15:27:00 +08:00 via Android
docker-compose 的 host 配置指定容器内的 host
|
3
tediorelee 2023-08-16 15:36:30 +08:00
蹲一下有没有类似 docker pluse secure vpn 的方案
|