現在位置: ホーム / みらくるブログ / CentOS7+Apache+Ajax+PHP+PostgreSQLでインタラクティブなページづくり-8

CentOS7+Apache+Ajax+PHP+PostgreSQLでインタラクティブなページづくり-8

今日は、DNSサーバを立ててみたいと思います。 7日目に実施したサーバの公開鍵の作成はこちら さて、第4日目に、http://zf2-tutorial.localhost として、ZendFramework のページが出てきたと思いますけど、 これは、/etc/hosts に、次の記述をしていたからなんです。 127.0.0.1 zf2-tutorial.localhost localhost

8日目になりました。

ニックネーム たいちょう です。

今日は、DNSサーバを立ててみたいと思います。

7日目に実施したサーバの公開鍵の作成はこちら

さて、第4日目に、http://zf2-tutorial.localhost
として、ZendFramework のページが出てきたと思いますけど、
これは、/etc/hosts に、次の記述をしていたからなんです。

127.0.0.1 zf2-tutorial.localhost localhost

これをコメントアウトしてみたらどうなるんでしょう。

# vim /etc/hosts

#127.0.0.1 zf2-tutorial.localhost localhost

http://zf2-tutorial.localhost
にアクセスしてみます。

あ、表示できなくなりました。
やはり、DNSサーバを立ち上て、ちゃんと名前解決ができるようにしたいです。
ここで、ネットワークの設定なんですけど、VirtualBoxの
アダプター1は、内部ネットワークにしていましたよね。
このネットワークを使うことにします。

パッケージを確認します。

# rpm -q bind

入ってないですね。

# dnf -y install bind-chroot 

これで、bind-chroot と bind パッケージが入りました。

# systemctl enable named-chroot

ln -s '/usr/lib/systemd/system/named-chroot.service' '/etc/systemd/system/multi-user.target.wants/named-chroot.service'
と表示されましたか。

# systemctl start named-chroot
# ll /var/named/chroot/etc

ファイルができてますね。
サービスの一覧を見てみましょう。

# systemctl -t service 

named-chroot.service が、
loaded active running
になっていますか。
じゃ、自分のゾーンファイルを書いていきましょう。一度サービスを止めておきましょう。

# systemctl stop named-chroot.service
# mv /etc/named.conf named.rfc1912.zones named.root.key /var/named/chroot/etc
# mkdir /var/named/{dynamic,data,slaves}
# mv /var/named/data/* /var/named/chroot/var/named/data
# mv /var/named/dynamic/* /var/named/chroot/var/named/dynamic
# chown named:named /var/named -Rv

SELinuxの設定をします。
なぜするかというと、mv コマンドを使ったからなんです。
mv コマンドにより移動したファイル等については、ラベルが元のままになっています。
それを restorecon コマンドにより/var/named のラベルに貼り直します。

# restorecon -Rv /var/named

最近、SELinux は、boolean オプションで最小限の設定が簡単にできるようになっています。
デフォルトでは、有効になっていない設定が多いですから、設定を確認して
有効にするのが最近の手順なんです。

# semanage boolean --list | grep named

named_write_master_zones が、オフ,オフ になってますね。
これを、オン,オン にします。

# semanage boolean --modify --on named_write_master_zones
# semanage boolean --list | grep named

SELinuxはずっと使い続けます。
サーバの安全を保つために必要です。
audit.log にログもちゃんとでるので、問題も特定できますし、自分ポリシーも作る事が
できますしね。
では、chroot 環境の named.conf を編集していきましょう。

# cd /var/named/chroot/etc
# vim named.conf

include "/etc/named.rfc1912.zones"
の下に、
include "/etc/named.matsue-lab-test.zones"
を加えます。

# vim named.matsue-lab-test.zones

zone "matsue-lab-test.co.jp" IN {
type master;
file "named.matsue-lab-test";
allow-update { none; };
};
zone "0.16.172.in-addr.arpa" IN {
type master;
file "named.matsue-lab-test.rev";
allow-update { none; };  
};

じゃ、正引きファイルを記述します。

# cd /var/named/chroot/var/named
# vim named.matsue-lab-test

$TTL    86400

@   IN SOA ns.matsue-lab-test.co.jp. root.ns.matsue-lab-test.co.jp. (
01070101 ; Serial
3600  ; Refresh
900  ; Retry
3600000  ; Expire
86400  )  ; Minimum

IN NS ns.matsue-lab-test.co.jp.

ns IN A 172.16.0.1

@ IN MX 10 mail

保存します。

逆引きファイルを記述します。

# cd /var/named/chroot/var/named
# vim named.matsue-lab-test.rev

$TTL  86400

@  IN SOA ns.matsue-lab-test.co.jp.  root.ns.matue-lab-test.co.jp. (
01070101  ; Serial
3600  ; Refresh
900  ; Retry
3600000  ; Expire
86400  ) ; Minimum

IN NS ns.matsue-lab-test.co.jp.
1 IN PTR ns.matsue-lab-test.co.jp.

保存します。
設定をテストします。

# named-checkconf -t /var/named/chroot /etc/named.conf

何も表示されていなければOKです。

# systemctl start named-chroot.service

エラーが表示されなければ、立ち上がっています。

# systemctl status named-chroot.service
# cd /var/named/chroot/etc

名前を引いてみましょう。

# dig ns.matsue-lab-test.co.jp

no servers could be reached
うーん、おかしいなぁ。

# dig @127.0.0.1 ns.matsue-lab-test.co.jp

今度は引けました。
何が悪いんでしょう。
resolv.conf に以下のように設定してみましょう。

# vim /etc/resolv.conf

nameserver 127.0.0.1
もう一度

# dig ns.matsue-lab-test.co.jp

;; ANSWER SECTION:
ns.matsue-lab-test.co.jp. 86400 IN A 172.16.0.1
;; AUTHORITY SECTION:
matsue-lab-test.co.jp. 86400 IN A ns.matsue-lab-test.co.jp.

# dig -x 172.16.0.1

;; ANSWER SECTION:
1.0.16.172.in-addr.arpa. 86400 IN PTR ns.matsue-lab-test.co.jp.
;; AUTHORITY SECTION:
0.16.172.in-addr.arpa. 86400 IN NS ns.matsue-lab-test.co.jp.
;; ADDITIONAL SECTION:
ns.matsue-lab-test.co.jp. 86400 IN A 172.16.0.1

じゃあ、http://www.matsue-lab-test.co.jp
にアクセスしてみましょう。
あれ、出てこないですね。
あ、www を設定していませんでした。

# vim /var/named/chroot/var/named/matsue-lab-test

ns IN A 172.16.0.1
の下に、
www IN A 172.16.0.1
を加えます。

# dig www.matsue-lab-test.co.jp

www.matsue-lab-test.co.jp. 86400 IN A 172,16.0.1

いけましたね。
今度は大丈夫だと思います。
http://www.matsue-lab-test.co.jp
にアクセスします。

ZendFramewok のページが出ましたか。
おめでとうございます。

これで、7日目に localhost.com という名前で作った鍵も再作成できそうですね。

お疲れさまでした。8日目の終了です。

松江にはクリスマスのイルミネーションがこれといってありません。

なので、一気にお正月に突入しちゃいそうな、ニックネーム たいちょう でした。

 

タグ: