VPNを繋いだときだけDockerの中から特定のサイトにアクセスできない!
#症状
タイトル通り。ホストからはどのサイトにもアクセスできて、Dockerの中でもcurl google.comは通るがcurl github.comは通らないなどの謎現象に出会った。
#原因
接続しているwireguardのMTUよりMTUほうが高いことが原因
#解決策
docker-compose.ymlで設定する これが一番確実。こんな感じのものをdocker-compose.ymlに追加
networks:
default:
driver: bridge
driver_opts:
com.docker.network.driver.mtu: 1280iptablesをいじる
sudo iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu正直iptablesのことをよくわかっていない。うまくいったりいかなかったりする 3. dockerの起動オプションを弄る
- docker-composeで起動したものには適用されないらしい