WarpクライアントからCloudflare-ZeroTrustに接続できなくなった件

事の始まり

引っ越しなどもあって、長らく使ってなかったmacMiniにRockyLinuxをインストールし、Cloudflareが提供しているZeroTrustを使って、外部からでも家のネットワークに入れるように整備し直しました。

※以前はCentOSでやってたけど、クローンのRockyができたということで久々に稼働させた感じです。

で、いざセッティングが終わってWarpで接続しようとすると「CF_DNS_PROXY_FAILURE」というエラーと共に接続ができなくなってしまいました。

mDNSResponderが悪い?

エラー文は以下のように表示されてました。

The WARP agent must be the only process responsible for DNS resolution on this device. One or more processes are already bound to port 53: mDNSResponder

ただし、mDNSResponderはシステム由来のプロセスのため、killしたとしても自動的に立ち上がってきます。

問題はDockerだった

色々調べていると以下の記事にヒットしました。

Error: One or more processes are already bound to port 53: mDNSResponder

とあるDocker Desktopのバージョンから、warpとの相性が悪くなったようです。 ここの記事にある通り、Dockerの設定を変更することで問題は解決しました。

# edit settings.json
vi ~/Library/Group\ Containers/group.com.docker/settings.json

# change "kernelForUDP" to false