質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.76%

  • CentOS

    2561questions

    CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

  • DNS

    262questions

    DNSとは、Domain Name Systemのことで、インターネットなどのTCP/IPネットワーク上でドメイン名やホスト名と、IPアドレスとの対応づけを管理するシステムです。DNSのデータベースは、IPアドレスの4つの数字を通知するDNSサーバーで構築されており、IPアドレスをドメイン名から引き出す機能やドメイン名に関するメールサーバ情報を取り扱っています。

  • DNSレコード

    12questions

LAN内のホストに対して名前解決したい

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 350

taka-ama

score 2

【環境】
ブロードバンドルータのIPアドレス:192.168.3.1
ホストPC(Windows10)のIPアドレス:DHCP(192.168.3.xxx)
仮想サーバ(CentOS7)のIPアドレス:192.168.3.254
仮想サーバのホスト名:locallabo.yuuweb.com
DNSサービス:bind-9.9.4-51.el7_4.2.x86_6
ホストPCから仮想サーバにはTeraTermを用いて、SSHリモート操作可能。

【目標】
仮想サーバに内部向けのDNSサーバを構築して、
LAN内のホストに対して名前解決できるようにしたい。
具体的に、TeraTermで仮想サーバアクセスする際に、サーバのプライベートIPアドレスを指定しないと
接続できないが、ホスト名で接続できるようにしたい。

今回はDNSサーバを利用して正引きの名前解決を行いたいので、hostsファイルは使わない方向です。

仮想サーバ上でBINDをインストールして、/etc/named.confと各ゾーンファイルを設定。
BINDサービスを起動させ、digコマンドにてサーバホスト名を名前解決できるか検証したところ
下記結果を想定してるが、上手くいかない。
;; ANSWER SECTION:
locallabo.yuuweb.com.      IN      A   192.168.3.254

OS自体を再起動させてもダメ。うまく名前解決できる方法をご教示ください。

実際の結果
[user01@locallabo ~]$ dig locallabo.yuuweb.com.

; <<>> DiG 9.9.4-RedHat-9.9.4-51.el7_4.2 <<>> locallabo.yuuweb.com.
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11130
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 4, ADDITIONAL: 9

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;locallabo.yuuweb.com.          IN      A

;; ANSWER SECTION:
locallabo.yuuweb.com.   10800   IN      CNAME   HDRedirect-LB3-890977680.us-east-1.elb.amazonaws.com.
HDRedirect-LB3-890977680.us-east-1.elb.amazonaws.com. 60 IN A 52.86.22.136
HDRedirect-LB3-890977680.us-east-1.elb.amazonaws.com. 60 IN A 54.174.212.152

;; AUTHORITY SECTION:
us-east-1.elb.amazonaws.com. 125 IN     NS      ns-235.awsdns-29.com.
us-east-1.elb.amazonaws.com. 125 IN     NS      ns-1119.awsdns-11.org.
us-east-1.elb.amazonaws.com. 125 IN     NS      ns-1793.awsdns-32.co.uk.
us-east-1.elb.amazonaws.com. 125 IN     NS      ns-934.awsdns-52.net.

;; ADDITIONAL SECTION:
ns-235.awsdns-29.com.   60720   IN      AAAA    2600:9000:5300:eb00::1
ns-934.awsdns-52.net.   165438  IN      AAAA    2600:9000:5303:a600::1
ns-1119.awsdns-11.org.  165438  IN      AAAA    2600:9000:5304:5f00::1
ns-1793.awsdns-32.co.uk. 165440 IN      AAAA    2600:9000:5307:100::1
ns-235.awsdns-29.com.   60720   IN      A       205.251.192.235
ns-934.awsdns-52.net.   165438  IN      A       205.251.195.166
ns-1119.awsdns-11.org.  165438  IN      A       205.251.196.95
ns-1793.awsdns-32.co.uk. 165440 IN      A       205.251.199.1

;; Query time: 199 msec
;; SERVER: 192.168.3.1#53(192.168.3.1)
;; WHEN: Sat May 05 04:34:02 JST 2018
;; MSG SIZE  rcvd: 457

/etc/named.confの設定内容

options {
        listen-on port 53 { 127.0.0.1; 192.168.3.0/24; };
        listen-on-v6 port 53 { ::1; };
//zoneファイルの格納場所
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
//BINDの利用を許す範囲
        allow-query { localhost; 192.168.3.0/24; };
        forwarders { 192.168.3.1; };
        recursion yes;
        dnssec-enable yes;
        dnssec-validation yes;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";

        managed-keys-directory "/var/named/dynamic";

        pid-file "/run/named/named.pid";
        session-keyfile "/run/named/session.key";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

//ルートDNSの情報
zone "." IN {
        //ルートDNSの情報であることを明示
        type hint;
        file "named.ca";
};

// localhost の正引きの設定
zone "localhost" {
        // Master DNS Serverであることを示す
        type master;
        // ファイル名
        file "localhost.zone";
};

// localhost の逆引きの設定
zone "0.0.127.in-addr.arpa" {
        // Master DNS Serverであることを明示
        type master;
        // ファイル名
        file "0.0.127.in-addr.arpa";
};

// yuuweb.com の正引きの設定
zone "yuuweb.com" IN {
        // Master DNS Serverであることを明示
        type master;
        // ファイル名
        file "yuuweb.com";
};

// 192.168.3.* の逆引きの設定
zone "3.168.192.in-addr.arpa" IN {
        // Master DNS Serverであることを明示
        type master;
        // ファイル名
        file "3.168.192.in-addr.arpa";
};

//include "/etc/named.rfc1912.zones";
//include "/etc/named.root.key";

正引きゾーンファイル(yuuweb.com)の設定内容

$TTL      86400
@         IN       SOA     ns.yuuweb.com.  root.yuuweb.com.(
                                        2018050401 ; Serial
                                        28800      ; Refresh
                                        14400      ; Retry
                                        3600000    ; Expire
                                        86400 )    ; Minimum
          IN NS    ns.yuuweb.com.
localhost IN A     127.0.0.1
ns        IN A     192.168.3.254
locallabo.yuuweb.com.        IN A     192.168.3.254
router    IN A     192.168.3.1
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

checkベストアンサー

+1

具体的に、TeraTermで仮想サーバアクセスする際に、サーバのプライベートIPアドレスを指定しないと
接続できないが、ホスト名で接続できるようにしたい。

ここだけの解決方法としては、DNSサーバを構築する以外にhostsを使う方法もあります。
ホストPCのOSが不明ですが、Google等で検索すると設定方法がヒットするかと思います。

DNSを利用する方法としては、ホストPCのDNSサーバ指定がどこになっているのか気になります。
DHCPでDNSサーバ情報も設定されているとすると、ブロードバンドルータがDNSサーバとなっており、構築したDNSサーバを利用していない、といったことがありそうです。
(digの結果を見る限り、ブロードバンドルータに問い合わせしているようです)

;; Query time: 199 msec
;; SERVER: 192.168.3.1#53(192.168.3.1)
;; WHEN: Sat May 05 04:34:02 JST 2018
;; MSG SIZE  rcvd: 457

その場合、ホストPCのDNSサーバの指定を「仮想サーバ(CentOS7)のIPアドレス」とする必要があります。
「仮想サーバのDNS」が正しく動作しない場合、インターネット接続が出来なくなる(名前解決が出来なくなる)
可能性があるため、インターネット接続が出来なくなった場合は、DNSサーバの指定を元に(ルータ)に戻してください。

 y_waiwaiさまの回答を確認しての追記

同様の質問が閉じていないままのようですね。
y_waiwaiさま、ありがとうございます。

> taka-amaさま

前の質問の回答としてhichonさまが回答しております、hostsファイルの利用をお勧め致します。

 コメントを受けての追記1

書いてませんが、DNSサーバ構築の勉強をしてますのでhostsファイルは使わない方向です。

そうなんですね。わかりました。
この点、他の回答者にも分かりやすいよう、質問文の中に含めておいたほうが間違いが少ないかもしれません。
他の回答者のコメントまで見ない方もいらっしゃるかもしれないので。

ホスト端末のOSはwindowsです。

こちらも同上です。OSバージョンまであると更によいですね。

仮想サーバ上でのdigコマンドはホスト端末のDNSサーバ指定に影響するのでしょうか?

この点は影響しません。
digコマンドがホスト端末からの実行結果と読み間違えたための回答でした。

さて、現状ですが、2つの問題があります。
認識は合っていますでしょうか。

  1. 仮想サーバにて期待通りの名前解決が出来ない
  2. ホスト端末にて期待通りの名前解決が出来ない

「1.」については、仮想サーバで指定しているDNSサーバが「ブロードバンドルータ」になっているため、ブロードバンドルータが名前解決した結果が、digコマンドとして返って来ています。
(それ以外にも、DNSサーバの設定に誤りがあるかもしれません)

digコマンドに@serverで問合せるDNSサーバを指定できると思いますので、localhostをDNSサーバとして指定してみてください。

dig locallabo.yuuweb.com. @localhost

これで期待通りの結果が返ってくるようであれば、仮想サーバのDNSサーバ指定を変更するだけでよいと思います。
現在、ブロードバンドルータが指定されているので、localhostを指定するよう変更してください。
期待通りとならない場合、DNSサーバの設定に誤りがあります。

「2.」については、「1.」が正しく動作した後の設定となります。
こちらもブロードバンドルータがDNSサーバとして指定されているとのことですので、仮想サーバをDNSサーバとするよう変更して下さい。

 コメントを受けての追記2

仮想サーバのDNSサーバ指定をブロードバンドルータからlocalhostに変更する方法

CentOS7では、nmcliコマンドをネットワークデバイスを指定して実行するようですね。
(設定内容は/etc/resolv.confに反映されます)
Google等で検索するとnmcliコマンドの使用例はたくさんヒットするようですよ。

Google検索, nmcli nameserver

もう一息です。頑張って下さい!

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/05/04 21:04

    ご回答ありがとうございます。
    書いてませんが、DNSサーバ構築の勉強をしてますのでhostsファイルは使わない方向です。

    キャンセル

  • 2018/05/04 21:08

    ホスト端末のOSはwindowsです。
    仮想サーバ上でのdigコマンドはホスト端末のDNSサーバ指定に影響するのでしょうか?

    ちなみにホスト端末のDNSサーバは自動で、ブロードバンドルータです。

    キャンセル

  • 2018/05/05 01:39

    質問するにあたっての環境説明を補足しました。
    ご回答ありがとうございます。
    下記問題の認識通りでございます。
    ①仮想サーバにて期待通りの名前解決が出来ない
    ②ホスト端末にて期待通りの名前解決が出来ない

    ①について教えていただいた通り、dig locallabo.yuuweb.com. @localhostにて実行すると、
    localhost(DNSサーバ)にはじめに問い合わせにいき、期待通りの下記結果を得られました。
    ;; ANSWER SECTION:
    locallabo.yuuweb.com. 86400 IN A 192.168.3.254

    仮想サーバのDNSサーバ指定を変更する方法がイマイチわからず、調べているところです。。

    ②についてはWindowsの[ネットワークと共有センター] > アダプタの設定 > IPv4の優先DNSサーバを
    仮想サーバのIPアドレスに指定後、ホスト名でPing導通可能となりました。
    yahoo.co.jpなど仮想サーバのゾーンファイルに記載ないものもホスト名でPing導通できるので、
    仮想サーバに存在しない分は、ルータのDNS機能へ無事転送され名前解決されているようです。
    結果、Windows上のTeraTermからもホスト名で仮想サーバへリモート接続できるようになりました。


    残課題の仮想サーバのDNSサーバ指定をブロードバンドルータからlocalhostに変更する方法も教えていただけないでしょうか。よろしくお願い致します。

    キャンセル

  • 2018/05/05 12:08

    下記手順で仮想サーバの参照DNSを変更できました。
    /etc/resolv.confに無事に反映されました。
    ①nmcli con mod ens33 ipv4.ignore-auto-dns yes (DHCPでのDNSサーバ設定を無効)
    ②systemctl restart NetworkManager (NetworkManagerを再起動)
    ③nmcli con mod ens33 -ipv4.dns 192.168.3.254 (参照先DNSを変更)
    ④systemctl restart NetworkManager (NetworkManagerを再起動)

    大変助かりました。ありがとうございます。
    これでようやくWEBサーバ構築へと進めます。

    キャンセル

0

前の質問で回答をもらってるようですが、そっちでどうにかしたらいかがでしょうか

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.76%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • CentOS

    2561questions

    CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

  • DNS

    262questions

    DNSとは、Domain Name Systemのことで、インターネットなどのTCP/IPネットワーク上でドメイン名やホスト名と、IPアドレスとの対応づけを管理するシステムです。DNSのデータベースは、IPアドレスの4つの数字を通知するDNSサーバーで構築されており、IPアドレスをドメイン名から引き出す機能やドメイン名に関するメールサーバ情報を取り扱っています。

  • DNSレコード

    12questions