現在フレッツにて接続しており順調にWEB、MAIL、FTPが稼動しております。
DR(ダイアルアップルータ)にはYAMAHAのRTA50iを使用しておりポートごとの静
的なmasqueradeを行っております。ただし問題としてDNSの運用をどのように行う
のかが大変苦労しており、現在は/etc/hostsによってローカルアドレス(
192.168.0.1-192.168.0.254)の名前解決を行い。namedで外部に出て行くための
名前解決を行っております。できればnamedによりローカルの名前解決も外部用の
名前解決も行いたいのですがいいアイデアが浮かびませんなにか良い知恵などな
いでしょうか。

A 回答 (3件)

BIND8 だとmarimo_cxさんのおっしゃるように、ぞれぞれ


を用意しておいて、namedを外むけ、内むけに同じホスト
で立ち上げちゃえばいいです。
でも、この前セキュリティ勧告も出たことですし、思い
切ってBIND9.1.0 以上というのも面白いかもしれません。
BIND9あと、Viewを使って、1つのnamedで、外むけ、
内むけをサポートできるようです。私はというと、
この機能はまだ未確認なのですが、試してみる価値は
あるかと思います。

参考URL:http://www.hodogaya.org/psudo-ip/psudo-ip-2.html …
    • good
    • 0
この回答へのお礼

とても参考になりました。たしかにバージョンアップを怠っていました。こんど試してみたいです。ありがとうございました。

お礼日時:2001/02/07 07:39

英文なんですが、以下のURLに相当する例があります。


設定ファイルの例がbind 4のなので、一回作成してから
named-bootconfで変換するのが楽かもしれないです。

comp.protocols.tcp-ip.domains Frequently Asked Questions
Q5.22. DNS in firewalled and private networks
http://www.intac.com/~cdp/cptd-faq/section5.html …

DynamicDNSとかでドメインを取得している場合は、
上記の例のPublicの部分のデータは作成せずとも、

■127.0.0、192.168.0、の逆引き
■foo.bar.orgの順引き

のデータを作成して、named.confを以下のように設定すればいけると思います。

-----------------
options {
directory "/var/named";
forward only;
forwarders {
192.168.0.1;
};
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
};

zone "foo.bar.org" {
type master;
file "ZONE.foo.bar.org";
};

zone "0.168.192.in-addr.arpa" {
type master;
file "REV.192.168.0";
};

zone "0.0.127.in-addr.arpa" {
type master;
file "REV.127.0.0";
};

# 自前で、外向けのnamedをたてているとか、DMZを設けてる場合は
# もうちょっと設定が複雑になります。
    • good
    • 0
この回答へのお礼

forwardの設定は内側からインターネットをみる場合は有効なのですが外側からサーバにアクセスすることができないので(プライベートアドレスを返してしまう。)あきらめていました。素直にBIND9.1.0 以上を使うことにします。
ありがとうございました。

お礼日時:2001/02/07 07:34

BINDに内部用と外部用のzone fileを持たせれば良いだけです。


やり方はオライリーの「DNS and BIND」や、どこかのwebにもあると思います。

marimo_cx
    • good
    • 0
この回答へのお礼

やりたいことはmail.hoge.comのホストに対して内側からは192.168.0.1を返して外側からは211.0.81.4を返すといった運用です。内部用と外部用を一つのnamedで運用しようとしても設定できないので2つ立ち上げる必要があります。ただしきちんと動作するのか疑問が残ります。

お礼日時:2001/02/07 07:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q代替DNSの動作について

以下を検討しています。
・ローカルなネットワーク(インターネットに接続しないネットワーク)で、2種類のDNSサーバを持つ。
・各DNSには別の内容を定義する。
・クライアントのDNS設定には、それぞれのDNSサーバを優先DNS、代替DNSとして定義する。
上記のように定義して、優先DNSに登録していないホスト名が来たとき、代替DNSに問い合わせに行くことを期待しているのですが、そのような動きになるのでしょうか?それとも、優先DNSに無かった時点で代替DNSには問い合わせには行かないのでしょうか?

Aベストアンサー

DNSを運用する場合は、基本的に優先DNSと代替DNSの両方が、同じ内容を保持していることが望ましいです。これは、代替DNSが優先DNSのバックアップとして稼動していることを前提にクライアントのOSが動作するからです。

ご質問の内容に近いことをするなら、以下の2つの方法があります。

(1)クライアントには優先DNSのIPアドレスのみを設定しておき、優先DNS上では、代替DNS上で定義されているドメイン宛てのDNSリクエストを代替DNSに転送する設定をする。(注:Windows Server上では、“フォワーダ”項目からこのような設定ができる。)
しかしこの場合、優先DNSがダウンすると、すべてのDNS問い合わせを受け付けられなくなるので、ミッションクリティカルな環境には向かない。

(2)両方のサーバーに両方ののドメインを定義しておき、優先DNSをプライマリDNSとして、代替DNSをセカンダリDNSとして運用する。この場合は、優先DNSと代替DNSの両方のIPアドレスをクライアントに設定しておく。こうしておくことで、どちらのDNSサーバーが片方ダウンしても、DNSの問い合わせ受付は継続できるので、最も耐障害性が高い方法であると言える。

DNSを運用する場合は、基本的に優先DNSと代替DNSの両方が、同じ内容を保持していることが望ましいです。これは、代替DNSが優先DNSのバックアップとして稼動していることを前提にクライアントのOSが動作するからです。

ご質問の内容に近いことをするなら、以下の2つの方法があります。

(1)クライアントには優先DNSのIPアドレスのみを設定しておき、優先DNS上では、代替DNS上で定義されているドメイン宛てのDNSリクエストを代替DNSに転送する設定をする。(注:Windows Server上では、“フォワーダ”項目からこ...続きを読む

Qnamedとnamed-xferの動き方(?)について

上記のWEBを見ながら設定してて、実際にnamedとnamed-xferっていう2つのプログラムをLinuxの中で動かしてみたいんですけど、このnamedとnamed-xferがどんなプログラムでどんな風にどれくらいの時間の感覚で動いているのか全くわかりません。教えてください。

Aベストアンサー

まず,これらのソフトは『BIND』と呼ばれるDNSのソフトパッケージの一部です。

namedはDNSサーバ本体,そのものであり,常時動いています。

named-xferは,前述namedが使う補助的なプログラムです。
namedに呼ばれたときだけ,たまにうごきます。
環境によっては,一生動きません(呼ばれません)。
複数台のDNSサーバ間でDNS情報をやり取りする際(ゾーン転送)に使われるものなので,cwsk2001さんのように『ちょっとnamed動かしてみた』という環境では,named-xferが動くことはありませんよ。プライマリDNS,セカンダリDNSという言葉がありますよね。あれに関連して使われるものです。

Q2つあるDNSサーバの選択について

画像イメージを添付して質問させていただきます。

a.co.jpのDNSサーバとして、dns1.a.co.jpとdns2.a.co.jpの二つのDNSサーバをJPRSに登録した場合、
b.co.jpからweb.a.co.jpにアクセスする際には、b.co.jpの内部DNSサーバが、a.co.jpのDNSサーバに
の場所を確認するために、ルートドメインからco.jpのDNSサーバに参照していくかと思います。

co.jpのDNSサーバにはdns1.a.co.jpとdns2.a.co.jpの二つのDNSサーバをb.co.jpのDNSサーバに
返すと思いますが、そこでb.co.jpはどちらのDNSサーバを選択し、web.a.co.jpのアドレスを
名前解決するのでしょうか?優先順位等あるのでしょうか?

Aベストアンサー

 あるNSからの応答が無かった場合に、DNSキャッシュサーバがどうするかは、DNSの原規格[RFC1035] の記述はかなり曖昧です。基本的には別のNSを使うことになってますが、エラーをクライアントに返してもよいことになっています。確実に言えるのはそれだけで、あとはDNSキャッシュサーバのアルゴリズム次第ということになります。

 とはいえ、最初に選んだ1つのNSから応答が無いからといってクライアントに即座にエラーを返すキャッシュサーバは私の知る限り無く、すべてのNSに何度かクエリを投げ、どれからも応答が得られないことが分かって初めてクライアントにエラーを返すものが多いようです。

> 応答速度が早いdns1.a.co.jp優先したとして、
> 次のタイミングでdns1.a.co.jpが故障により通信不可となった場合、
> b.co.jpは即座にdns2.a.co.jpから名前解決しようとするのでしょうか?
> その時にb.co.jpのPCにはweb.a.co.jpのDNSキャッシュはないものとします。

 dns1が「故障により通信不可になった」ことを、DNSキャッシュサーバは即座に知ることはできません。BIND9は、dns1に問い合わせを投げて、一定時間(数秒、場合によって差がある)以内に応答がなければ、dns2に問い合せます。

> web.a.co.jpはb.co.jpのDNSサーバにもキャッシュされており、
> そもそもDNSに聞きにいかないのでしょうか?

 web.a.co.jp がキャッシュされていればDNSに聞きにいきません。つまり、(b.co.jpの)クライアントが web.a.co.jp を名前解決するために(b.co.jpの)DNSキャッシュサーバに問い合わせを投げ、さらにDNSキャッシュサーバが運悪く故障したdns1のほうに聞きにいったがタイムアウトしてdns2に聞いてようやく応答を得たために名前解決に数秒かかった、ということが発生しても、それは初回だけです。キャッシュが消える(通常web.a.co.jpのTTLが経過する)までは、DNSキャッシュサーバが保持しているキャッシュを使って応答するため、クライアントがweb.a.co.jp の名前解決をする度に数秒待たされるわけではありません。(これはBIND9に限らずすべてのDNSキャッシュサーバで言えます)

> あるいは都度都度、優先としているdns1から応答があるかどうか確認し、
> 応答がない場合、dns2に聞きにいくのでしょうか?

 キャッシュが消える都度、DNSキャッシュサーバはdns1またはdns2に問い合わせを行いますが、BIND9の場合、応答が返ってこなかったNSは優先度を下げることをします。つまり、dns1から応答がないためdns2に聞き直したということが起こると、次回はdns2に優先的に問い合わせるようにします。dns1に問い合わせを永遠にしなくなるわけではなく、時々dns1に問い合わせを投げてみて復活したかどうかを確認するようです。

 あるNSからの応答が無かった場合に、DNSキャッシュサーバがどうするかは、DNSの原規格[RFC1035] の記述はかなり曖昧です。基本的には別のNSを使うことになってますが、エラーをクライアントに返してもよいことになっています。確実に言えるのはそれだけで、あとはDNSキャッシュサーバのアルゴリズム次第ということになります。

 とはいえ、最初に選んだ1つのNSから応答が無いからといってクライアントに即座にエラーを返すキャッシュサーバは私の知る限り無く、すべてのNSに何度かクエリを投げ、どれからも応...続きを読む

Q内部DNSで名前解決ができません。。

BIND8以来の3年振りのBIND設定で嵌ってます(><)

LinuxサーバにBIND9を設定し、
Windowsクライアントからは
nslookupではFQDNで検索できるのに、
ブラウザやTelnetからだと名前解決できません。
仕方なく、hostsファイルにFQDNを書いているありさまです(><)

気になる点は、
Linuxサーバーでnslookupした時は
ホスト名だけでも検索できるのに、
Windowsからnslookupした場合は、
ホスト名だけではNon-existent domainと
表示されてしまうところです。

又、SOAに、ns.ドメイン名とし
Aレコードに実際のホスト名、
CNAMEにns
と書いても正しく動作するものでしょうか?

BIND9を設定したLinuxのサーバー名はmoonで、
正引きは下記のように設定しています。

$TTL 86400
N SOA ns.local-test.com@ IN SOA ns.local-test.com root.local-test.com (
2005081501 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS ns.local-test.com.
IN MX 10 mail.local-test.com.
IN A 192.168.1.1
ns IN A 192.168.1.1
moon IN A 192.168.1.1
mail IN CNAME dev1
www IN CNAME dev1

BIND8以来の3年振りのBIND設定で嵌ってます(><)

LinuxサーバにBIND9を設定し、
Windowsクライアントからは
nslookupではFQDNで検索できるのに、
ブラウザやTelnetからだと名前解決できません。
仕方なく、hostsファイルにFQDNを書いているありさまです(><)

気になる点は、
Linuxサーバーでnslookupした時は
ホスト名だけでも検索できるのに、
Windowsからnslookupした場合は、
ホスト名だけではNon-existent domainと
表示されてしまうところです。

又、SOAに、ns.ドメイン名とし
Aレ...続きを読む

Aベストアンサー

FQDNでnslookupして正しい応答があるんであれば、問題はDNSサーバ側ではなくてPC側の設定ではないですか?

Windows2000/XPをお使いとして:
ご自分のPCのフルコンピュータ名(「システムのプロパティ」画面で確認できます)が、きちんとドメイン名まで設定されていますか?
またはIPアドレスの設定画面で、「DNSサフィックスを追加する」のところに、ドメイン名が設定されていますか?

上記2点のどちらかが設定されていないと、質問文の以下のような現象が発生します。(OSがドメイン名を保管してくれないから)

> Windowsからnslookupした場合は、
> ホスト名だけではNon-existent domainと
> 表示されてしまうところです。


ご確認ください。

ちなみにLinuxではホスト名だけでできているのは、/etc/resolve.conf内に以下のエントリがあるからだと思います。
domain your.local.domain

Q内部DNSと外部DNSのフォワードについて

内部DNSと外部DNSの連携の部分についてご教授いただきたいのですが、
例えば社内のイントラに内部DNSがあり、DMZに外部DNSがある場合は、
内部DNSのフォワード設定で外部DNSのアドレスを指定するのでしょうか?
(WindowsDNSサーバならDNS管理コンソールのフォワーダタブ、BINDならnamed.confのoptionsステータス)

一般的には内部DNSと外部DNSの連携の設定がどうなっているのかご教授
いただきたく質問致しました。

よろしくお願いいたします。

Aベストアンサー

>例えば社内のイントラに内部DNSがあり、DMZに外部DNSがある場合は、
>内部DNSのフォワード設定で外部DNSのアドレスを指定するのでしょうか?

DNSの認識としてはこれで良いと私は思います。

付け加えるのならば、フォワード先で解決出来ない場合はルートヒントを元に再帰問い合わせをするのがデフォルトになっている(WindowsもBINDも)と思いますので、
これをオフにしてフォワード先で解決出来ない場合はそこで終了するようにします。
さらに、内部DNSは外部DNSからのDNS通信のみを受け付けるようにファイアウォールなどを設定します。

Qnamedが起動しない

/etc/rc.d/init.d/named startとしても
namedを起動中:[失敗]
と出てしまい起動出来ません。psで確認しましたが、
最初から起動はしていませんでした。
どうしたら起動できるのか教えて下さい。
(Red Hat Linux 7.3)

Aベストアンサー

こんにちは、honiyonです。

 ログに何か残っているかも知れません。
 ログを参照してみましょう。
  less /var/log/message
または
  tail /var/log/message

 tail, lessについての詳しい情報は、man tail, man lessとして下さい。

  参考になれば幸いです(..

Q内部DNSを指定するとインターネットが遅いです

新しく建てた内部DNSで、
自ドメイン以外は、外部DNSサーバへ問い合わせるようにしたいのですが
どのように設定すれば良いでしょうか?

■クライアント(Windows)
内部DNSを指しています。

■内部DNS(Linux)
resolv.confに
内部DNS
外部DNS
と記述していますが、内部DNSがインターネットへ探しに行ってしまうせいかインターネットがすごく遅いんです・・
今まで溜まっていた外部DNSのキャッシュを利用できれば
早いと思うのですが方法がわかりません。
内部DNSのhintファイルには、下記のように書いているのですが・・
. 3600000 IN NS 外部DNSのFQDN.
外部DNSのFQDN 3600000 A 外部DNSのIP

Aベストアンサー

named.confで以下のような切り分けをしてみては
いかがですか

zone "." {
type forward;
forwarders {
社外DNSのIPアドレス;
};
forward only;
};
zone "hogehoge.co.jp" {
type master;
file "hogehoge.zone";
};


それとresolv.confの参照先は社内サーバーだけに
したほうがいいと思います。

Qnamed restartがうまくいかない

 Red Hat Linux 9, bind-9.2.1-16を使っています。
 namedをrestartすると、stopはされるのですが、startのときにalready runningと表示されます。

named: already running[...@localhost ]#
というように表示されます。

 方向キーを押すと、左側のメッセージは消えます。
 動作としてはrestart自体はうまくいっているようなのですが、サーバーを再起動したとき、namedのサービスが立ち上がってくれません。named startを実行すると、同じメッセージが出てきて起動するのですが。

 いったいどのような問題が考えられるでしょうか。
 /var/log/messagesを確認したところ、
named[....]: app.c:561: unexpected error:
 と表示されております。「予期しないエラー」とのことですが・・。

Aベストアンサー

pidファイルに関するエラーではないでしょうか?
とりあえず、named.confのpidファイルの指定と、それに対するアクセス権を確認してみては?

QDNSサーバについて

インターネットについて勉強中の初心者です。

DNSサーバ(コンテンツサーバ)というのは、
世の中には正引き用と逆引き用の2種類があるというのを
学んだのですが、

一般的に正引きなら、

家→キャッシュサーバ→コンテンツサーバ(ルートから順に問い合わせる)

この場合、例えばwww.yahoo.co.jp.ならば、

コンテンツサーバは、

ルートのDNS→jpのDNS→yahoo.co.jpのDNS→FQDNに対応するIPを教えてくれる


ここで逆引きの場合が不思議なのですが、

仮に192.168.11.1というグローバルIPアドレスがあったとして、
(これはプライベートIPですが、仮にの話です)

逆引きするとして、

1.11.168.192.in_addr.arpa.

ルートのDNS→arpaのDNS→in_addrのDNS→
192のDNS→168のDNS→11のDNS→1のDNS→IPに対応するFQDNを教えてくれる

という流れをするのでしょうか???
こんなに沢山逆引きの場合はDNSを通るものなのでしょうか??

それとも、in_addrのDNSが数字の部分を全部管理していて、
ルートのDNS→arpaのDNS→in_addrのDNS(192→168→11→10)→対応するFQDNを教えてくれる(in_addrのゾーンで全て解決できる)

見たいな感じなのでしょうか?


よろしくお願いします。

インターネットについて勉強中の初心者です。

DNSサーバ(コンテンツサーバ)というのは、
世の中には正引き用と逆引き用の2種類があるというのを
学んだのですが、

一般的に正引きなら、

家→キャッシュサーバ→コンテンツサーバ(ルートから順に問い合わせる)

この場合、例えばwww.yahoo.co.jp.ならば、

コンテンツサーバは、

ルートのDNS→jpのDNS→yahoo.co.jpのDNS→FQDNに対応するIPを教えてくれる


ここで逆引きの場合が不思議なのですが、

仮に192.168.11.1とい...続きを読む

Aベストアンサー

>ルートのDNS→arpaのDNS→in_addrのDNS→
192のDNS→168のDNS→11のDNS→1のDNS→IPに対応するFQDNを教えてくれる

逆引きと正引きはちょっと違いまして、正引きのような階層管理ではなく各ネットワークの親ドメインはすべてarpa.ドメインです。

1.11.168.192.in_addr.arpa.
というのは192.168.22.0/24のネットワークに属していますが、このネットワークの逆引きDNSサーバはarpaに登録されているので、192->168->11 という順をたどらず
arpa -> 192.168.11のDNSサーバ
となります。

CIDRの場合は、所属するネットワークのDNSから一部を移管されているので、例えば192.168.11.0/25 だった場合は
arpa -> 192.168.99.11のDNSサーバ -> 192.168.11.1/25のDNSサーバ
となります。

192.168.11のネットワークと192.168.12のネットワークに関連性は全く無いので、192.168で管理する必要性も全く無いということです。

>ルートのDNS→arpaのDNS→in_addrのDNS→
192のDNS→168のDNS→11のDNS→1のDNS→IPに対応するFQDNを教えてくれる

逆引きと正引きはちょっと違いまして、正引きのような階層管理ではなく各ネットワークの親ドメインはすべてarpa.ドメインです。

1.11.168.192.in_addr.arpa.
というのは192.168.22.0/24のネットワークに属していますが、このネットワークの逆引きDNSサーバはarpaに登録されているので、192->168->11 という順をたどらず
arpa -> 192.168.11のDNSサーバ
となります...続きを読む

Qbindインストール後、/etc/named.confが生成されない。

RHL7.3,bind-9.2.2rc1を次のようにインストールしましたが/etc/named.confが生成されません。findコマンドで探すと/etc/log.d/conf/services/named.confというのがあるんですがどうも目的のファイルではなさそうです。一体何がおかしいのでしょうか。

tar xvzf bind-9.2.2rc1.tar.gz
cd bind-9.2.2rc1
LANG=C
./configure - - exec-prefix=/usr
make
make install

Aベストアンサー

例えばですが。

$ gtar zxvf bind-9.x.x.tar.gz
$ cd bind-9.x.x
$ ./configure --prefix=/usr/local/bind --sysconfdir=/etc
$ make
$ su
# make install

システムや環境によってはコマンドラインを実行しても、 named.conf が生成されないかもしれません。
その場合、自分で作成すれば宜しいかと。

ご存じかとは思いますが。

> BIND Version 9.2.2rc1

はベータ版で、最新版は
「BIND Version 9.2.1」かと。

ご参考です。

参考URL:http://www.linux.or.jp/JF/JFdocs/DNS-HOWTO.txt


人気Q&Aランキング

おすすめ情報