2016-06-23
_ [linux] Ubuntu 16.04 に上げたら名前解決が妙に遅くなった問題
解決策: IPv6を使っていないなら,無効化しよう. sysctl.conf に2行書くだけ.「今が二千何年だ」とか気にしてはいけない.
twitter で「名前解決が遅いよー」と泣き言を書いたら, @kawazoe 氏が「AAAA引きに行って待ってるんじゃないの?」と,ピンポイントで正解を指摘してくれた.さて,Aを優先するにはリゾルバの設定変更が本筋だろうだけど,そもそも IPv6 を使ってない (IPv6の回線を契約しておらず,LAN 内で自動的に使われるときだけ IPv6 になってたかも知れない) という状態だったので,IPv6 を無効化することにした.LAN内のAndroid端末でも名前解決が遅い気がするし.
調べてみると情報がいろいろあるが,とりあえず /etc/sysctl.conf に,下の二行を記入して適用すれば, network interface から v6 アドレスを取り除くことができた.
net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1
kernel の IPv6 機能全体を無効化するには, kernel の起動オプションを設定すればよいらしい.こちらはまだ試していない.
結果として,名前解決は劇的に早くなり,ウェブページの読み込み完了までの待ち時間は1/10以下になった.