【設定面倒】BIND 総合スレッド【DNS】
無かったから建てた。 正直webminすごく助かる
自宅にDNS設置してんだろ? そこに問い合わせるのは誰よ? レジストラのDNSを利用しろと言ってるのは 自前のドメインの問い合わせ先を自宅じゃなくてそこにすればと言ってるのであって forwarderはそれらと全く関係ない。 forwarder先は本来別の場所に設置してある自前のDNSにするんだろうが、 そんなものが無いなら、自宅が接続してる一番近いISPのDNSにするだろ。 JAPAN IS MONKEY PALACE~~~~~ NANANANANANANANANANANANANANA なななななななななななななななななななななななななななななななな ばかばかばかばがばかばかばかばかばかばかばかばかばかばがばかばか ちっしおちっしおちっしおちっしおちっしおちっしおちっしおちっしお 借りているVPSサーバ(CentOS5.5)を使用してプライマリのDNSサーバを構築しようとしています。 LANのIPアドレス(192.168.〜など)が無いのですが、「内向きのゾーン設定」というものは必要になるのでしょうか? また、必要な場合は127.0.0.1で代用して設定してもよいのでしょうか? いろいろなサイトを参考に試行錯誤しているのですが、192.168〜なしの設定が見あたらず困っています。 初めてのDNSサーバ構築なのでトンチンカンな質問だったらすみません。 アドバイスをいただければと思います。 >>101 ローカルの逆引きは必ずしも必要ではないから省略しても良いと思う。 自宅鯖と違ってレン鯖はローカルで何かをするって事ができないから、 LANのIPアドレス自体が存在しないこともあるしね。 VPSでも業者によってコンパネが違うと思うので、 レン鯖の住人の方が詳しいかもしれんよ。 >>102 丁寧にありがとうございます。 これから本屋で書籍を探してみようと思います。 プライベートアドレスの逆引きは必須。グローバルの逆引きより必要性が高い。 ローカルの DNS にプライベートの逆引きゾーンが存在しないと、 プライベートなのにグローバルに対して逆引きを聞きに行くことになる。 インターネット上にはちゃんと 192.168.x.x とかの逆引きに答を返す DNS が 用意されてるからグローバルに聞きにいっても問題が起きないけど、 仮にこの DNS が落ちるとプライベートの通信でも異常が起きるし、 実際に1週間ほど止まって世界中でトラブルになったことがある。 逆引き問い合わせをプライベートだけで完結して、外に出さないことが重要なんで、 逆引きゾーンを作るだけでよい。実際のホストは登録しなくてもかまわない。 最近の気の効いたディストリならはじめからその設定サンプルがついてる。 bind でなく unbound だと設定しなくても組込みで設定されてる。 DNSで www.test.com と www2.test.co.jp への要求を別サーバへ (仮に1.1.1.1 と 1.1.1.2)振り分ける設定がわかりません。 ひとまず前者のwww.test.co.jp→1.1.1.1 への正引きはできているものとして AレコードとかCNAMEあたりはどう設定すればいいんでしょう? どこかいいサイトとかありませんか? www.test.com は www.test.co.jp のタイプミスと仮定して > www.test.co.jp→1.1.1.1 への正引きはできているものとして ということは test.co.jp のzoneファイル中に www A 1.1.1.1という設定があるのでしょう。 同様に www2 A 1.1.1.2 という設定をすればいいです。 サイトなら @it とかですか。 >>107 レス遅くなりましたが ありがとうございます。 目的の動作ができるようになりました! debianのlennyでbind9によりDNSサーバを起動しています。 /etc/hostsの全行をコメントアウトすると "ping localhost"を実行したときに "unknown host localhost"とメッセージがでて、pingが通りません。 因みに "nslookup localhost"を実行すると Name: localhost Address: 127.0.0.1 "nslookup 127.0.0.1"を実行すると 1.0.0.127.in-addr.arpa name = localhost. と出力されます。 /etc/hostsは極力使用しないようにしてみたのですがlocalhostの解決は /etc/hostsで行うものですか? うん ループバックアドレスをDNSサーバに問い合わせるなよ んー、DNS で localhost の名前解決ができるのなら /etc/hosts になくても ping localhost がコケるはずはないんだが。 getent hosts localhost を実行してみるとどうなるかしらん。 それはともかく、hosts にホストを登録するのは管理が煩雑になるので DNS を使った方がいいのはたしかだけど、 すでにある localhost を削除するのは推奨しない。 >>111 何も出力されません。 他のマシンは名前を解決できるのですが。 >>110 さんも言われてるようにlocalhostはhostsを利用するべきですかね。 getbyhostnameのmanpageによると > name がドットで終了していなければ、現在のドメインとその親ドメインが検索される。 ということなのでHOST_NOT_FOUNDになると思われる おそらく ping localhost. と打つと `localhost` そのものが解決される ローカルループバックアドレスはホストローカルの情報すなわちホストごとにことなる可能性があるため DNSサーバで集中管理するべきではない × getbyhostname ○ gethostbyname dnsサーバを建てようと思います。 chrootするのですが、chroot以下のディスク容量をどれ位にすれば良いか迷ってます。 chroot以下が意外と大きくなると聞きましたが実際はどうなのでしょうか? CNAMEレコードのTTLが0になってしまう現象について質問です。 DiG 9.6-ESV-R1では、 $dig @サーバ host9.example.co.jp a ;; ANSWER SECTION: host9.example.co.jp. 80 IN CNAME host8.example.co.jp. host8.example.co.jp. 80 IN A 192.168.24.108 BIND9.2.4では、 $dig @サーバ host9.example.co.jp a ;; ANSWER SECTION: host9.example.co.jp. 0 IN CNAME host8.example.co.jp. host8.example.co.jp. 80 IN A 192.168.24.108 という結果になります。ググっても特にバグとかでていません。 また、tcpdump port 53 -n -vvv -X -s 1500 でパケットキャプチャしたところ、 権威サーバ側では、TTL=80でパケットを出力していますが、 問題のBIND9.2.4があるクライアント側ではTTL=0で受け取っています。 どうしてこのような現象になるのでしょうか? >>117 バグじゃないならDNAME(RFC2672)じゃなイカ? >>118 調べてみましたが、DNAMEとは違うようです www.yahoo.co.jpやwww.google.comもCNAMEを使っていますが、 こちらもやはりCNAMEレコードのTTLは0になります。 質問があります。 自分、今Yahoo!のADSLをハブを使って数台でネットを使っています。 で、サーバ構築を勉強しているので試しにパソコン数台をDNSで分けて連携してみたいのですが、自分のような個人のネット環境でも出来るのでしょうか? 特に固定IPアドレスなど申請していないのでモデムによる動的なIPアドレス取得だと思います。 データベースのレプリケーション等もやってみたいと思っています。 DNS自体は簡単にですが学習しましたが、BIND等によるIPアドレスの設定しか書かれておらず、複数のIPアドレスを持っていさえすれば出来るのかと思っているところです。 上記のような場合、どのようにすればサーバ構築が出来るのでしょうか? ifconfig、ipconfig等で現在のIPアドレスを確認してその値を設定ファイルに書き込むだけで出来るのでしょうか? モデムの電源を切ったり、切れたりするとIPアドレスは変わってしまうので、その場合数台の設定をまた設定ファイルで書き直さないといけなくなりそうですが。 また、もう一つ本に載っていない疑問があるのですが、ネットに繋がないオフライン環境でもパソコン数台によるサーバ環境は出来るのでしょうか? 書き忘れていましたが、OSはcentOS5.5メインでWindowsXPも使っています >>122 それは自分の環境では出来ないということでしょうか? >>123 122のような角の立つ言い方は好ましいものではないですね。 ですが、私も今のあなたの知識はDNSサーバーを構築して実験を行いながら知識を深める段階に達していないと思います。 それは用語の間違いからわかります。 DNSについて前にIPアドレスとホスト名(DNS的に言うならドメイン名)の関係について学習することが必要ではないかと思います。 bindの解説から勉強を始めると、DNS有りきが前提になっているかもしれませんので、勘違いを助長するかもしれません。 まずはホスト名とIPアドレスの対応方法について調べ、その一つの解決方法がDNSであり、 DNSを実現するソフトウェアの一つがbindであるという点を確認してみてはどうでしょうか。 >>124 ありがとうございます まぁ、まだ学習段階なので知識は全然ないのですが、一応自分のYahoo!からのADSLだけでも出来るのかどうかが知りたくて質問させていただきました オライリーのDNS&BINDでも読めば幾分サーバ構築の知識は得れるでしょうか? 自分は図解でわかる Linuxサーバ構築・設定のすべてという本を読んだのですが、ちょっとコレだけではサーバを構築できるかイメージが沸きませんでした >>125 内部のマシンだけが参照するのならばできなくはない。 外部にドメインを公開するのは無理。 修得した独自ドメインを入れればBINDを簡単に設定してくれる便利なアプリとかないですか? 設定がいまいちよくわからない >>127 レジストラなりリセラーが提供するDNSサービスを利用するのではいけないの? それか、Zoneedit.comとか、ちょっと怪しいけどDomainDNS.comとか。 >>127 どうしても自鯖でってことなら、Webmin使うか、 Smbind ttp://sourceforge.net/projects/smbind/ DNS Control ttp://www.r00tshell.com/dns-control/ ProBind ttp://probind.org/ みたいなツールは? >>128 レジストラのDNSは逆引きができない仕様になってるので自分でやろうかなと >>129 ありがとうございます。やってみます。 逆引きはプロバイダが対応していないと出来ませんが、 固定IPを割り当ててもらっていないと無理じゃないかと思います。 自分でやっても逆引きは無理 固定でもプロバイダが委譲してくれないと無理 すみませんがわかる方いたら教えて下さい。 委任設定がうまくいかないのです。 NSレコードに委任するドメインと委任するDNSサーバのURLを記載し、Aレコードに委任するDNSサーバのURLとIPを記載しているのですが、nslookupをすると見つかりません non-existent となってしまいます。 他に設定項目や確認項目があるのでしょうか。 URLっていうのは http://xxxx/yyy とか ftp://zzz/ のようなものだと思っていたんですが、 ここではドメイン名なりホスト名のことだとしておきます。 example.jp の下に some.example.jp を作り、その DNS が dns1.example.jp だとすると example.jp のゾーンファイルに some NS dns1.some.example.jp. dns1.some A 111.222.333.444 のように書くという方針は合ってます。 シリアルを更新したか、ドットの打ち忘れはないか、リロードしたかのようなところをもう一度確認してみては? アドバイスありがとうございます。 確認してみます。 >>134 333.444て・・・ 255までだろJK Windows7のnslookupでFQDN入れてgoogle.comとか引くと プライマリDNSサフィックスに設定しているhoge.co.jpがついて google.com.hoge.co.jp google.com.co.jp google.com の順に問い合わせていって2番目のところで jpドメインのルートサーバ?z.dns.jpに行っちゃうですが これをルートサーバに行かせない方法ってないものですかね・・・ RHEL5.5/bind 末尾に.付けて検索すればいいのかもですが >>138 TCP/IP詳細設定でプライマリDNSサフィックスの親サフィックスを追加するチェックを外す google.com.co.jpをhostsに書いておく 親サフィックスを追加するを外すのは効果なかったです。 hostsに書くか、末尾にピリオドを入れるしかないみたいですね ありがとうございました。 --enable-filter-aaaaして何回やっても /etc/named.conf:18: option 'filter-aaaa-on-v4' is not configured と出るけどバグ? --enable-filter-aaaa=yes とか? すいません。 ソースコンパイルでインストールして新しいBINDを入れようと思うのですが 古いBINDの削除ってどうすればいいのでしょうか? makeにそれらしいルールは無いのですが・・・・ もしかしてconfigure時にprefixで指定した(指定してなければデフォルトの場所)ディレクトリの削除だけでよかったりするのでしょうか? @ IN CNAME hoge って書くと通らない… @ IN A 192.168.0.1 みたいにAだといいみたいなんだけど もちろん hoge IN CNAME fuga みたいなのはいける CNAME 以外のものがあるレコードに CNAME は相乗りできない。 @ には SOA や NS が必ず存在しているので、 @ に CNAME は設定できない。 たまにはDNAMEのことも思い出してあげてください。 >>128 今日、DomainDNS.com のドメイン有効期限が切れていたので驚きました。 でWhoisの、 Registrant: PrivacyProtect.org Domain Admin (*******@privacyprotect.org) に連絡してみました。 しばらく放置していたのですがすぐに自動返信が来ていました。 *******@privacyprotect.orgはwhoisを隠すためのサービスのようで、 本人のものでないとメールに記載されていました。 それでもオーナー(本人)に問い合せたい場合はprivacyprotect.org が用意したフォームを使用して下さいとのこと。 わたしはそのフォームを使用して連絡したところ、 返事は来ませんでしたが、1時間程度で気づいたらしく、 ドメイン期限を10年延長してくれていたのです。 つまり、怪しいながらも連絡は一応通じるということです。 終わり しばらくDDNSで自鯖でウェブサービス用に使ってたドメインで、 メールサービスだけは Google Apps を使っていました。 このウェブサービスをレンタルホストでやることに切り替えたので、 ドメインホルダーに登録してあったDNS情報を以下のようにしました。 ############################################ 1). mx aspmx.l.google.com. 10 2). mx alt1.aspmx.l.google.com. 20 3). mx alt2.aspmx.l.google.com. 20 4). mx aspmx2.googlemail.com. 30 5). mx aspmx3.googlemail.com. 30 6). mx aspmx4.googlemail.com. 30 7). mx aspmx5.googlemail.com. 30 8). txt @ v=spf1 include:aspmx.googlemail.com ~all 9). a * WWW.XXX.YYY.ZZZ ############################################ 行頭の "数字)." は、分かりやすくするために打っただけで、 実際に記載していません。 で、この 1行目から8行目までは、自鯖からレン鯖に変えた時にノータッチで、 Google Apps に言われた通りの内容をただそのままコピペしているだけです。 自鯖の時にはこれでウェブはウェブで、メールはメールで、ちゃんと利用できていました。 しかし9行目を自鯖からレン鯖へ移行するときに上記のように書き換えたのです。 変えたのはレン鯖の固定IP部分 WWW.XXX.YYY.ZZZ だけなんですが、そうしたら、 メールサービスが一切正しく働かなくなってしまいました。 今まで変動制だったIPアドレス部分を固定IPに変えただけなんですが、 何がいけないのでしょうか? 使っているドメインホルダーは value-domain.com です。 a レコードっていうのがマズいのかなぁ。。 どなたか何かアドバイスいただけませでしょうか。 よろしくお願いいたします。 とりあえず、ゾーン情報を他人に見せるなら共通化した形式で出せ。 俺フォーマットで出すならならどのカラムが何を意味するのかちゃんと説明しろ。 * が ワイルドカードのつもりなら、罠満載だから素人はあんなもん使うな。 >>157 うう。DNS関係よく分かってないもんで。。 * はワイルドカードのつもりです。 ウェブだけ WWW.XXX.YYY.ZZZ というのならワイルドカードにしちゃいけないのかな。 a レコードとか c レコードとかの意味もイマイチ。。 VGスレに移動します。ごめんなさい。 つかこの人BINDの話はしてないね VDのDNSで設定いじったらおかしくなりましたって話 >>159 スレタイのDNSに反応しちゃったんじゃない? BIND 9.3.2 on FreeBSD 5.5-RELEASE です。 初めて、Windows 7 (Home Premium 64bit)のノートを買いましたが、DNSがひけません。 コマンドプロンプトで nslookup を行っても駄目です。 mac、XP,vista までは問題なくひけてます。 色々、情報をネットで探してみたけど、まだ、見つかっていません。 なにか情報があれば教えていただけないでしょうか? よろしくお願いします。 そりゃクライアント側の問題じゃないの? 板違いだと思うけど。 DHCPでうまく渡せてないなら、マニュアルで設定してみては? >>162 マニュアルで設定しても変わらないんです。 ためにしに、外部のプロバイダのDNSを設定するとちゃんとつながるので、 自宅内のDNSのせいかなと推測しました。 コマンドプロンプトの nslookup で確認しているので、クライアントの設定は関係ないと思います。 ちなみに、そのDNSには ping が通ります。 うーん、なんだろね。 IPv6関係とか? あとググるとVAIOでトラぶってるの多いな。 >>164 はい、ググるとIPv6とVAIOの関係と、ゲーム機関係は見つかります。 今回は、VAIOでもゲーム機でもないので、残るIPv6もクラインとでは無効にしています。 DNSは IPv6 には対応させていません。 Bindのログレベルを上げてもログにはかないのでなかなか掴みようが無いのです。 nslookup は - でサーバ指定してもダメ? サーバに届いてるのかなあ、、pingはいってるようだけど ipconfig /flushdns してみるとか。 >>166 色々ありがとうございます。 nslookup は server で指定してます。 外部のDNSはひけるのでクライアントから、要求は出て行っていると思うんです。 やっぱり、bind のせいじゃないんですかね。 firewall 系を確認してみます。 ログに残らないというのがひっかかるなあ、snoopしてみては? >>168 その後です。 bindのせいではないようです。 有線LANだと特に問題なく、DNSが引けます。 また、無線アクセスポイントを変えてみたところ、直りました。 まだ、原因がよく分かってはいませんが、どうも、、無線アクセスポイントの設定のような気がしてきました。 なにか、判ればまたここで報告します。 お騒がせしました。 >>169 これってマルチキャストに対応してない無線LANでの、IPv6問題ではないかな。 >>154 だが 最近DomainDns.com のネームサーバーのns2. ns4. ns5. が調子悪かったのです。 タイムアウトになっていたので新規DNS設定のとき、反映しなかったり してたのだが、154のときと同様にWhoisのアドレス宛にメールしたら、 1日で直してくれました。 ※とりあえず、ns4. とns5. がタイムアウトしなくなった。 で、なぜかその数日後、domaindns.com にログインしたり管理画面内で 操作してるとBASIC認証の画面が出て、OKを何度も何度も入れないと 入れなくなったのです。それで我慢ならなくなって、数日後に さらにwhoisのアドレス宛にメールしてみました。 すると1日後にサイトの左側に[feedback & support]というのが付くようになり、 BASIC認証も出なくなったのです。 どうやら、返事は全くしないものの、しっかり管理する気はあるようです。 おれのエキサイト翻訳のメールを3回もまともに相手して1日で対処してくれたのだから。 とりあえず、信頼して皆つかってみましょう^^ ちなみに、 >>154 の続きは >>155 にある ねえ、教えてよ SOAのシリアル番号って別ファイルに持たせられないの? たくさんのゾーンの番号を一発で上げたいの namedのログが急にmessagesにも残るようになったんだけどこれって普通のこと? 今日recursionを許可するIPに制約を加えたらそうなった むしろ今までまったく残らなかったのがおかしいのかな? ちなみにdata/named.runにもほぼ同じ内容が今までどおり残ってる RHEL6の64bit版(アプリ一切なし)にApacheからなにから自分ですべてインスコしてます 基本はRedHat Networkのレポジトリからyumで入れてる でもやっぱりないものもあるしトラブることもあって他からも入れざるを得ない状態 なのでどっかで間違った可能性は十分あると思います そこにかかわる設定が変わってないはずなのにそう変わったから不思議なんだけどね ログにかかわる設定は大分前にいじったが、 そのときはbindをリスタートさせていなかった。 のかもしれない。 うーん・・・そもそもログ関連はいじってないんだよなあ ただchrootの設定をよくわからないままやっていて webminから設定してると妙な動作をすることがあった 具体的にはコンフィグファイルの書き込み権限がないとエラーになったり タイミングによってはならなかったり そのへんが原因なのかもなあ わろた >最近の女子高生はDNSを使いこなしているらしく、電車の中で「アドレス渡されたんだけど、逆に引くわ!」と言っていた。 9.7.3でフォワードしてくれないんだけど何か特殊な事しないと行けない? BINDが入ってるサーバーからフォワード先のサーバーへは名前解決できるから FWなどの問題ではなくBINDの設定だと思うんだけど optionsに設定入れただけでは上手く行かない? WEB色々調べてそれらの従ってやったり、サンプルファイルから 書き直してもどうしてもフォワードが上手く行かない どう設定したのか晒さないということは、 自力で解決するつもりで人に頼る気はない、>>188 はただの日記だということでいいよな? 9.7.3の前は何を使っていのか?とか allow-query とか recursion とかの設定はどうしてるのか、とか 普通は options に正しい設定を入れるだけで上手く行くので 9.7.3だけどうってことは特にないと思われ。 >>190 options に forwarders{ XXX.XXX.XXX.XXX; XXX.XXX.XXX.XXX; }; を追加してるだけなんだけどね 後の設定はサンプルをそのままで下記の項目だけ変えてる optionsは下記の項目を変更{ listen-on port 53 { 127.0.0.1; xxx.xxx.xxx.xxx; }; //listen-on-v6 port 53 allow-query { localhost; xxx.xxx.xxx.xxx;}; allow-query-cache { localhost; xxx.xxx.xxx.xxx;}; } loggingはサンプルのまま viewはinternalのサンプルのみ適応で下記の場所変更 ミスった再送信 options に forwarders{ XXX.XXX.XXX.XXX; XXX.XXX.XXX.XXX; }; を追加してるだけなんだけどね 後の設定はサンプルをそのままで下記の項目だけ変えてる optionsは下記の項目を変更{ listen-on port 53 { 127.0.0.1; xxx.xxx.xxx.xxx; }; //listen-on-v6 port 53 allow-query { localhost; xxx.xxx.xxx.xxx;}; allow-query-cache { localhost; xxx.xxx.xxx.xxx;}; } loggingはサンプルのまま viewはinternalのサンプルのみ適応で下記の場所変更{ match-clients { localhost; localnets; xxx.xxxx.xxx.xxx; }; } WEB見てたらoptionsにforwardの設定入れたり入れなかったりで 試してみたけど特に変化無し viewにforwardersの設定が反映されてない?と思ってview内に書いても見たが変化無し BINDはcentos6.2からyumでインストール 方向性は間違って無さそうだし、もうしばらく調べてみます スペースやタブなどが、悪さしてるかも知れないし それにタグ系まだ全て、どんな意味合いでどんな時に使うか調べ切れてないし 何かセキュリティー周りが色々追加されてるみたいですしね ちなみに見てるツールによっては半角スペースが表示されてないかも >>192 recursion yes; にしてます 外部に公開している訳でも無く内部向けなので 最悪セキュリティー落ちる過去の入れようかな・・・て 逃げてても何も解決しないから、何とかするんだろうな >>193 ちょっと待って、allow-queryがおかしくないか? BIND動いているサーバーから、dig google.com @localhosしたら動くんじゃないかい? >>194 ANSWERが返って来ないですね 念のため問合せ先をフォワード予定のサーバーにすると返って来ます(当然ですね) 色々試して見ます ありがとう あ 書き忘れてた ちなみにSELinuxは無効にしています SELinuxも使い方覚えないとな dnssec は? その1 そのbind9..7.3ではすべてforwardしたいのですか? その2 forward先のDNSはキャッシュサーバーなのでしょうか? うちはDebianなんで9.7.3使ってます。 社内のドメインについては、イントラ上の別のDNSへforwardし その他のドメイン(社外のドメイン)については、上記とは別のDNSへforwardしています。 /etc/bind/named.conf.local で zone "社内のドメイン" { type forward; forwarders { xxxxxxxxx; yyyyyyyy;}}; }; /etc/bind/named.conf.options で options { forward first; recursion yes; allow-query { any; }; dnssec-validation yes; forwarders { yyyyyyyyyy; }; } 原因(?)判明 optionsのdnssec-validationをyesにしてると上手く行かない dnssec-validationをnoにすると上手く行く・・・ と 思ったが>>196 でyesのまま動いてるな dnssec-validationが何する物か調べてnoで問題が無いなら noのまま使う事にするか 色々ありがとう、一人で考えると変な方向に行く事もあるから 話す事により自分なりにも整理でき、別の見方をするきっかけにもなるね forward 先の dnssec-validation も yesにしないとダメじゃない。 read.cgi ver 07.5.4 2024/05/19 Walang Kapalit ★ | Donguri System Team 5ちゃんねる