nazo6 notememo

VPNを繋いだときだけDockerの中から特定のサイトにアクセスできない!

作成:2023/06/30

更新:2023/06/30

症状

タイトル通り。ホストからはどのサイトにもアクセスできて、Dockerの中でもcurl google.comは通るがcurl github.comは通らないなどの謎現象に出会った。

原因

接続しているwireguardのMTUよりMTUほうが高いことが原因

解決策

  1. docker-compose.ymlで設定する
    これが一番確実。こんな感じのものをdocker-compose.ymlに追加
docker-compose.yml
networks:
default:
driver: bridge
driver_opts:
com.docker.network.driver.mtu: 1280
  1. iptablesをいじる
sudo iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
正直iptablesのことをよくわかっていない。うまくいったりいかなかったりする
3. dockerの起動オプションを弄る
  • docker-composeで起動したものには適用されないらしい