v2rayA 指定 Docker 容器代理
指定 Docker 容器代理
此方法只能适用于 v2rayA 与要控制路由的 Docker 容器在同一台机器的情况。
透明代理使用 redirect 模式
正如 BT 下载直连 中所列方法,我们可以控制每一个桥接的 Docker 容器的路由。
当 BT 应用运行在 Docker 时,默认的网络模式使用桥接模式(–network=bridge),此时容器会单独获得一个 IP 地址。而 Docker 的默认桥接网络为 172.17.0.0/16
,容器会在该地址段中获取一个 IP 使用。如果我们想让所有桥接容器走直连,而特定容器走代理,可使用 RoutingA 进行控制,例如:
1 | # 将规则插入到较前位置 |
上述规则使得 172.17.0.213
走代理,而 172.17.0.0/16
段直连。
当 docker 服务重启时,容器的 IP 地址可能会发生变化,因此需要固定容器的 IP 地址,方法参见 StackOverflow 上的讨论。
透明代理使用 tproxy 模式
由于一些限制,在此模式下,所有桥接容器默认直连,因此要走代理的容器需要将网络设为 host
,即在容器启动时使用 --network host
参数。
注意,host
模式下该容器将无法进行端口映射,容器内部监听的端口将直接监听在宿主上,容易引起端口冲突。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 昌南魔法学院!