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