[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:57975] Re: yomiuri online に接続できなくなった
From: KISE Hiroshi <kise@xxxxxxxxxxx>
Subject: [debian-users:57974] Re: yomiuri online に接続できなくなった
Date: Sat, 9 Apr 2016 16:47:18 +0900
>> 接続プロバイダのDNSを直接参照する実験はまだやっていません。
> ルータに接続、参照しているDNS情報を調べて、Debianマシンの
> /etc/resolv.conf を変更したところ、
> w3mでもFirefoxでも表示ができました。
>
> こちらのルータはAterm DR206C、10年以上使用しているのですが、
> これのDNS機能に何らかの問題があるのかもしれません。
直接の原因はwww.yomiuri.co.jpのA/AAAAレコード数が多いから、かも。
以下、出力結果を“cat -n”に通しています。
192.168.0.1は私のLANのルータで、DNS機能もあります。
$ host www.yomiuri.co.jp 192.168.0.1|cat -n
1 Using domain server:
2 Name: 192.168.0.1
3 Address: 192.168.0.1#53
4 Aliases:
5
6 www.yomiuri.co.jp has address 210.149.144.71
(途中省略)
25 www.yomiuri.co.jp has address 210.149.144.64
26 ;; Truncated, retrying in TCP mode.
27 ;; Connection to 192.168.0.1#53(192.168.0.1) for www.yomiuri.co.jp failed: connection refused.
$ host -T www.yomiuri.co.jp 192.168.0.1|cat -n
1 ;; Connection to 192.168.0.1#53(192.168.0.1) for www.yomiuri.co.jp failed: connection refused.
$
“Truncated, retrying in TCP mode.”に注目。たしか、DNSの応答が
大きい場合はTCPが使われるはず。そこで“-T”オプションを付けて
みました。
英語版のman hostより引用。
> By default, host uses UDP when making queries. The -T option makes it
> use a TCP connection when querying the name server. TCP will be
> automatically selected for queries that require it, such as zone
> transfer (AXFR) requests.
そして、各コマンドの出力の最後では、
“Connection to 〜 failed: connection refused.”とエラーとして
終わっています。ここまでが私のルータのDNSを使用した場合。
一方、接続プロバイダ(私の環境ではDTI)のDNSを指定してみると、
以下の通り。最初からTCPモード指定でも問題なさそうです。
$ host www.yomiuri.co.jp 202.216.229.30 |cat -n
1 Using domain server:
2 Name: 202.216.229.30
3 Address: 202.216.229.30#53
4 Aliases:
5
6 www.yomiuri.co.jp has address 118.151.188.35
(途中省略)
25 www.yomiuri.co.jp has address 210.149.144.71
26 ;; Truncated, retrying in TCP mode.
27 www.yomiuri.co.jp has IPv6 address 2001:240:bb82:102a::1:df
(途中省略)
28 www.yomiuri.co.jp has IPv6 address 2001:240:bb82:1026::1:c1
(途中省略)
46 www.yomiuri.co.jp has IPv6 address 2001:240:bb82:1015::1:90
$ host -T www.yomiuri.co.jp 202.216.229.30 |cat -n
1 Using domain server:
2 Name: 202.216.229.30
3 Address: 202.216.229.30#53
4 Aliases:
5
6 www.yomiuri.co.jp has address 118.151.159.80
(途中省略)
25 www.yomiuri.co.jp has address 118.151.188.177
26 www.yomiuri.co.jp has IPv6 address 2001:240:bb82:1011::1:21
(途中省略)
45 www.yomiuri.co.jp has IPv6 address 2001:240:bb82:1014::1:33
$
予想ですが、“www.yomiuri.co.jp”の名前解決をしよとうすると、
AやAAAAレコード数が多いためにメッセージサイズが大きくなり、
途中でTCPに切り換えようとするのですが、私のルータはTCP/53での
接続は受けないのでエラー、結果として名前引きに失敗したとみなす、
という仕組みではないでしょうか。
hostコマンドに-dオプションを付けると詳細情報が出力されます。
みてみると、3つのパートに分かれていて、AAAAレコードを取得して
いるパートではTCPモードに切り替わっています。
“w3m -4”で接続できるのは、AAAAレコードの取得を不要と
することでUDP/53の通信だけで済み、そのため問題が発生しなかった、
のではないでしょうか。
# カーネルのIPv6機能無効でも解決、と話が合わないような…
# IPv6無効状態ではDNSへの問い合わせが変わってくる?
解決策ですが、ルータのDNS機能の問題であれば、別のDNSを使えば
よいでしょう。接続プロバイダ提供のDNSを利用するのがお手軽で
無難かと思います。
--
喜瀬“冬猫”浩