
Ubuntu日本語フォーラム

ログインしていません。
お世話になります。
Ubuntu14.01にbind9でネームサーバーを作ってます。
LAN内だけで使うものなので、設定も比較的カンタンなのですが、
うまいこと名前解決しないので、お力添えお願いします。
Domain: example.lan
IP: 192.168.1.3
上記設定にて名前解決したいと思っておりますが、
digでは、
dig www.example.lan
dig iroiro.example.lan
dig ns.example.lan
ここらはきちんと引けているようです。
しかし、実際にwebサーバーにアクセスすると
名前解決ができていないとのエラー
chromeでは「ERR_NAME_NOT_RESOLVED」になります。
(結局何かがおかしい。)
WEBサーバーは生きているので、
IPでアクセスするときちんとアクセスはできます。
ちなみに自分のPCの/etc/hostsに設定してしまえば、問題なくアクセスできます。
設定内容以下の通りであんまり難しいことはやってないと思いますが、
何かおかしなところあるでしょうか。
よろしくお願いします。
DefaultGateway: 192.168.1.1
NameServer: 192.168.1.3
WebServer: 192.168.1.3
MyPC: 192.168.1.10
1. /etc/bind/named.conf.options
forwarders {
192.168.1.1;
};
2. /etc/bind/db.example.lan
$TTL 604800
@ IN SOA ns.example.lan. root.example.lan. (
2015103004; Serial
604800; Refresh
60; Retry
2419200; Expire
604800 ); Negative Cache TTL
;
@ IN NS ns.example.lan.
ns IN A 192.168.1.3
IN A 192.168.1.3
* IN A 192.168.1.3
www IN A 192.168.1.3
iroiro IN A 192.168.1.3
3. /etc/bind/named.conf.local
zone "example.lan" {
type master;
file "/etc/bind/db.example.lan";
};
4. /etc/resolv.conf
nameserver 127.0.1.1
nameserver 192.168.1.1 #追加
nameserver 192.168.1.3 #追加
5. /etc/hosts
127.0.0.1 example.lan
最後に各LAN内のPCのネットワーク設定で
192.168.1.3をDNSに追加して完了。
オフライン
oosamuuy さん
DNS 構築もずいぶん昔にやったきりなので、詳しいアドバイスはできませんが、
ぱっと見で気になったことをば。
まず、bind 設定後、サービスの再起動をしておりますでしょうか?
設定を適用するためには、サービスの再起動が必要です。
次に、ubuntu 12.04 から resolv.conf の挙動が変わったようです。
/etc/resolv.conf は設定適用後に書き換わっていませんか?
https://sites.google.com/site/michinobumaeda/hardware-os/ubuntu-12-04-resolv-conf
蛇足ですが、サーバのテストはまずサーバ自身でテストしてから
別 PC でテストするのが楽ですよ。
今回の場合、DNS サーバで /etc/hosts に記述しない状態で、dig テスト。
うまくいったら、LAN 内の各 PC の設定を変えてテストすると良いかと。
オフライン
oosamuuy による投稿:
digでは、
dig www.example.lan
dig iroiro.example.lan
dig ns.example.lan
ここらはきちんと引けているようです。
しかし、実際にwebサーバーにアクセスすると
名前解決ができていないとのエラー
dig での確認は、Web サーバーにアクセスしようとしている (Chrome を使う) PC で行いましたか?
提示いただいた情報からは読み取れませんが、最後にゾーンファイル (ここでは /etc/bind/db.example.lan) を変更したときに SOA レコードのシリアルの値を増やしましたか?
その他に、hellfire さんも指摘されているように、ゾーンファイル更新後に sudo service bind9 reload は実行しましたか?
オフライン
hellfire による投稿:
oosamuuy さん
次に、ubuntu 12.04 から resolv.conf の挙動が変わったようです。
/etc/resolv.conf は設定適用後に書き換わっていませんか?
https://sites.google.com/site/michinobumaeda/hardware-os/ubuntu-12-04-resolv-conf
ありがとうございます。
私自身もほんとに数年ぶりにbind触るので、何とも懐かしい感じではあるのですが、
hellfireさんご指摘にresolv.confが思いっきり書き換わっていました。
(この書き換わるタイミングはネットワークの更新によるところなのでしょうか。私も調査中ですが、
筐体ごとRebootかけると書き換わった感じですね。)
これが原因っぽいです。
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.1.1
現状、外からLAN内からdigすると引けてくるのにサーバー内でlocalから引くと、
名前解決できないということになっていたので、内部のネットワークをもうちょっと調整してみました。
(そもそものゲートウェイのルーターでDHCPなってないかとかの確認も含めて)
で、ちょっと気になったことがあるのですが、ネットワークの再起動がうまくいかず、いろいろ調べていると、
https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/1301015
ということでバグっぽいです。
これと全く同じ現象でした。
resolv.conf含めて、
/etc/network/interfaces
を明示的に書き換えたので、取り急ぎ今はネットワークの再起動で一悶着しております。
また何かありましたら、ここにてご報告します。
オフライン
ryさん
ご返信ありがとうございます。
DNSのお作法的なところは大丈夫だと思います。
デバックの方法をきちんと切り分けてみました。
何かネットワークの設定部分がおかしいようです。。
オフライン
oosamuuy さん
resolv.conf の挙動については、こちらが参考になるかと。
http://masaoo.blogspot.jp/2013/01/ubuntu-1204-resolvconf.html
grub のように、複数の設定ファイルを起動の度にまとめて、
設定を適用しているスタイル (アップデートで設定の仕様が
変わっても影響が全体に及ばないようにする) なんでしょうね。
もちろん、ネットワークには複数の設定の仕方があるので、
/etc/network/interfaces の書き換えでも大丈夫かとは思いますが。
オフライン
hellfireさん
いろいろありがとうございます。
やはりbind9の設定というよりもresolv.confではまっていたようです。
resolv.confの設定は今のところ私自身がもっともわかりやすいという意味でも、
/etc/network/interfacesにdns情報を記載することで、resolv.confに反映することにしました。
eth0の設定情報などがどういうわけか空になっていたので、それらも明示的に加えました。
iface eth0 inet static
address 192.168.1.3
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
dns-nameservers 192.168.1.1
dns-nameservers 192.168.1.3
dns-search www.example.lan example.lan
(インストール時にGUIからインストールしたので、ネットワークの設定が中途半端であったというのもあるかもしれません。)
ネットワーク再起動後は、無事resolv.confにも反映されておりました。
ちなみにnetoworkの方でもバグがあるようで、
/etc/init.d/networking restart
これでは再起動がうまくいかないようで、
ifdown eth0 && ifup eth0
という感じでやらないとダメっぽいです。
何とか自分が設定した内容が反映されたようです。
ここらはubuntu/Debianは安定感あった感じがしたんですが、いろいろありますねぇ。
いろいろありがとうございます。
オフライン
数日経ってからの追伸となります。
やはり何かと不安定な状態が続いております。
というのもこれが不安定なのかどうかわからないのですが、DNSの機能はきちんと動いているのに、
ブラウザーアクセスで「ERR_NAME_NOT_RESOLVED」となってしまいます。
digしてみると、きちんと返ってきます。
$ dig www.example.com
; <<>> DiG 9.8.3-P1 <<>> www.example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18454
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;www.example.com. IN A
;; ANSWER SECTION:
www.example.com. 604800 IN A 192.168.1.3
;; AUTHORITY SECTION:
example.com. 604800 IN NS ns.example.com.
;; ADDITIONAL SECTION:
ns.example.com. 604800 IN A 192.168.1.3
;; Query time: 4 msec
;; SERVER: 192.168.1.3#53(192.168.1.3)
;; WHEN: Thu Nov 5 23:16:11 2015
;; MSG SIZE rcvd: 82
しかしブラウザーアクセスになるとつながったりつながらなかったりと恣意的に繰り返している感じです。
何が原因なのでしょうか。。
オフライン