[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を利用するのがお手軽で
無難かと思います。
-- 
喜瀬“冬猫”浩