You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Cloudflare WARP启用后无法访问本地127.0.0.1:3306及Docker服务

Cloudflare WARP启用后无法访问本地127.0.0.1:3306及Docker服务

看起来你遇到的是Cloudflare WARP拦截本地回环及Docker子网流量的问题,我之前也碰到过类似情况,给你几个排查和解决的方向:

  • 添加本地地址到WARP排除列表:WARP默认可能会把所有流量都走其隧道,包括本地回环和Docker内部子网。你可以通过命令把这些地址排除在外:

    • 排除回环地址:warp-cli add-exclusion 127.0.0.0/8
    • 排除Docker常用的桥接子网:warp-cli add-exclusion 172.17.0.0/16
    • 执行完后重启WARP服务:sudo systemctl restart cloudflare-warp
  • 调整WARP的运行模式:如果当前用的是全隧道模式(Full Tunnel),可以尝试切换到仅代理互联网流量的模式。执行命令:warp-cli set-mode proxy,然后重新连接WARP:warp-cli connect。这个模式下本地流量不会被WARP拦截。

  • 检查iptables规则:WARP会自动修改系统的iptables规则,可能导致本地流量被错误转发。你可以查看nat表的规则:sudo iptables -t nat -L,如果发现有针对127.0.0.0/8或Docker子网的转发规则,可以手动添加允许本地流量的规则:

    sudo iptables -t nat -A OUTPUT -d 127.0.0.0/8 -j ACCEPT
    sudo iptables -t nat -A OUTPUT -d 172.17.0.0/16 -j ACCEPT
    
  • 重置WARP配置:如果是配置文件出现异常导致的问题,可以尝试重置WARP到初始状态:warp-cli reset,然后重新登录你的Cloudflare账号并配置WARP,看看问题是否解决。

  • 验证Docker网络配置:如果你的Docker容器用的是host网络模式,可能会和WARP的路由冲突。可以尝试把容器切换到桥接模式,或者确保WARP已经排除了Docker所在的自定义子网(比如192.168.0.0/16这类,如果你有配置的话)。

备注:内容来源于stack exchange,提问作者aoa

火山引擎 最新活动