DNSが勝手に変わっちゃったときの対処 tailscaleが...
目次
メインパソコンのubuntuを使っているときに、いきなりネット接続が途切れた。
原因切り分け 解決
ping 1.1.1.1
これはつながるが
ping google.com
これはつながらない。ということで、名前解決(URLをipアドレスに変換)がうまくいっていないっぽい。
同じネットワーク内の他のパソコンやスマホなどは、普通にインターネットにつながっているので、どうやらこのパソコン固有みたい。
パソコン、ルーターの再起動を試したがだめ。
DNSの状況を確認する。設定ファイルを見てみる。
cat /etc/resolv.conf
これの結果が
nameserver 100.100.100.100
あーこれは完全にtailscaleがDNS設定を乗っ取ってしまっている。
ルーターが192.168.1.1なら↓のように設定変更。そうでなければ適宜変更してもろて。
echo 'nameserver 192.168.1.1' | sudo tee /etc/resolv.conf
ping google.com
↑つながるようになっている。
これでネットはつながるようになった!!
再発防止
今回は明らかに、tailscaleのDNS設定が全体のDNS設定を上書きしてしまったことが問題なので、それを防ぐ。
一旦、tailscaleを落として、DNSを起動しないようにしてtailscale up する。
参考 tailscale up
sudo tailscale down
sudo tailscale up --accept-dns=false --ssh
これだと、tailscaleのDNSが使えなくなるので、ssh接続のときは名前ではなく、ipアドレスでないといけなくなる。もし、名前を使いたいならDNSをルーターにまとめるとか、する必要がある。うーんこれはこれで面倒。
とりあえず、普段からipでやってしまっているのでこれでいいか。
詳しくはこれ↓が参考になるかも