はじめに
本業はネットワーク周りを触っています。
Linuxの勉強ということでDNSサーバーを構築しようと思もった。
備忘録的に投稿
内容
今回は、Linuxサーバー構築標準教科書(Ver.3.0.2) を参照し構築。
資料と異なり、Oracle Linuxを使用。
また、今回はキャッシュサーバーの構築のみで、コンテンツサーバーについては、後日投稿予定。
ほぼほぼ書いてあるままやっている。
参考資料
検証環境
- VMware Workstation 16 Player
- Oracle Linux 8.7.0
- unbound-1.16.2-2.el8.x86_64
- bind9.16-utils.x86_64
構成図
- Cache searver
- IP address:192.168.10.1/24
- ContentsB(zone:alpha.jp)
- IP address:192.168.10.2/24
- ContentsC(zone:beta.jp)
- IP address:192.168.10.3/24
インストール
キャッシュサーバーへunboundをインストール。また、動作確認用にbind-utilsもダウンロードする。
バージョンのみ、若干新しいバージョンへ変更。
[root@cacheServer ~]# dnf list | grep unbound.x86_64
unbound.x86_64 1.16.2-2.el8
[root@cacheServer ~]# dnf list | grep bind
bind9.16-utils.x86_64 32:9.16.23-0.9
unboundとbind-utilsをインストール。
[root@cacheServer ~]#dnf install unbound.x86_64 bind9.16-utils.x86_64
正常にインストールされていることを確認
[root@cacheServer ~]# dnf list installed | grep bind
bind-libs.x86_64 32:9.11.36-5.el8_7.2 @ol8_appstream
bind-libs-lite.x86_64 32:9.11.36-5.el8_7.2 @ol8_appstream
bind-license.noarch 32:9.11.36-5.el8_7.2 @ol8_appstream
bind9.16-libs.x86_64 32:9.16.23-0.9.el8.1 @ol8_appstream
bind9.16-license.noarch 32:9.16.23-0.9.el8.1 @ol8_appstream
bind9.16-utils.x86_64 32:9.16.23-0.9.el8.1 @ol8_appstream
python3-bind.noarch 32:9.11.36-5.el8_7.2 @ol8_appstream
[root@cacheServer ~]# dnf list installed | grep unbound
python3-unbound.x86_64 1.16.2-2.el8 @AppStream
unbound.x86_64 1.16.2-2.el8 @ol8_appstream
unbound-libs.x86_64 1.16.2-2.el8 @AppStream
設定
1. インターフェースの指定
/etc/unbound/local.d/interface.conf
を作成し、IPアドレスを指定する。
interface: 192.168.10.1
interface: 127.0.0.1
2. クライアントの設定 `/etc/unbound/local.d/client.conf`を作成する。 利用可能なクライアントを指定し、キャッシュサーバーを利用できるクライアントを制限する。 ```shell-session:/etc/unbound/local.d/client.conf access-control: 192.168.10.0/24 allow ```
3. ドメインの設定 検証環境であり、JPドメインへ登録していないため、今回はスタブゾーンを設定し、 JPを使用できるようにする。
注意
JPドメインへ自ドメインを登録できる場合は不要な設定。
/etc/unbound/conf.d/stub.conf
を作成する。
利用可能なクライアントを指定し、キャッシュサーバーを利用できるクライアントを制限する。
stub-zone:
name: alpha.jp.
stub-addr: 192.168.10.2
stub-prime: no
stub-first: no
stub-zone:
name: beta.jp.
stub-addr: 192.168.10.3
stub-prime: no
stub-first: no
4. 鍵の生成
unboundの制御に使用する鍵を生成する。
[root@cacheServer ~]# systemctl start unbound-keygen.service
5. 書式チェック 作成したファイルの書式チェックを行う。 問題がなければ、下記の出力が表示される。
[root@cacheServer ~]# unbound-checkconf
unbound-checkconf: no errors in /etc/unbound/unbound.conf
6. Firewall穴あけ
[root@cacheServer ~]# firewall-cmd --add-service=dns --permanent
7. 起動と自動起動
[root@cacheServer ~]# systemctl start unbound
[root@cacheServer ~]# systemctl enable unbound
最後に
初投稿。投稿するのは大変ですね。
簡単に作ってみましたが、まだまだ分からないことがたくさんで、正直何をしているかわからない状態。
いろいろ調べながら、わかってくるといいなと思ってます。
ネットワーク周りの検証も投稿できたらうれしいな。