ブログ記事

unboundの設定

自分メモです。

よく理解できていない部分も多いのですが、先日管理しているローカルサーバが飛び、久しぶりにすっぴんからFreeBSDのインストールを行いました。

FreeBSD2.xから使いつづけて、今の最新リリース版はもう11なんですね。

自分的なセオリーとして、昔から最新リリース1つ前のリリース最終バージョンを使うのことにしているので、今回、Freebsd10系をインストールしてみました。

業務利用のサーバだったため「緊急を要す」ため、数ヶ月前にUSBブートできるFreeBSDUSBディスクを作成したときの10.2のリリース版のDVDがあったので、ささっとインストール。

対象サーバは、新しくはないけど、遅くもないCore2時代のサーバで、OSのインストールはささっと終了。

Freebsdと言ったらPorts。Portsツリーをportsnapで更新かけて、必要なサブシステムSamba4系(4系も初めて使う。)をインストールしようとしたら、こける始末。

よくよく読んでみるとFreebsdの最新バージョンにしろみたいなこと言ってるので、freebsd-upgradeで10.3のリリースまで上げてみることに。

ここで10.2のDVD使ったのは失敗だっなー、なんて思いつつ、10.3のDVDダウンロードするのに要す時間と10.2を10.3にアップグレードするのに要す時間はアップグレードの方が圧倒的に早いので、そのまま作業継続。

世の中の皆さん、Freebsd使っている人多いと思うけど、インテリジェンスな人ばかりで俺からしたら、もう少し日本語で話してくれよ、、、みたいなブログが多いので、情報を得るにしてもなかなかハードルが高いなーっと思ったのは、俺が歳をとったから?苦笑

ふりかえるとFreeBSD歴20年超えているのかな、俺。笑

さてさて、10.3へのアップグレードは思っている以上に早く終わったんですけど、なんかfreebsd-update の途中、エラーなんかでて精神的にダメージ食らいつつも、繰り返し、freebsd-update をしたらすんなり終了。(原因は不明)

で、samba4、isc-dhcp-serverのインストールを行いつつ、本題のunboundの設定を行ってみることに。

(しかし、samba4のサブシステムのコンパイル&インストールには時間がかかるな。おまけにパスワードなしでsamba4構築するのに設定内容が変わっているの本当迷惑だわぁぁ...。)

Freebsd10系からnamedによるDNSの構築がなくなって、システム標準でunboundが採用されているとのこと。resolv.confで取り急ぎ参照させた他のDNSサーバの内容でネームサーバを参照している状態から、/etc/rc.confに

local_unbound_enable="YES"

を記載して

/etc/rc.d/local_unbound  start


かけると勝手にresolv.confの内容を書き換えて /var/unbound/の設定内容を更新してくれるらしい。

基本的には、/var/unbound/にあるのがunboundの参照ファイルで、unbound.confが設定ファイルになる。

検索してみると、色々皆さん情報が少ない中でお困りのようですが、Freebsdが出て結構時間が経っているし、日本unboundユーザ協会なるサイトもあるので、もう世の中すっかりunboundなの?みたいな感じを受けつつも、Freebsd10系になってもやはりbind9系をインストールしてネームサーバ立ち上げている人も結構いるみたいな雰囲気。

bind9は確かに、未だに色々と脆弱性が次々と見つかったりして、いつまでたっても完成できない、どこかの会社のOSみたいな感じがします。笑
なので、他の強いネームサーバが必要なのですが、本当に長い時間、bindは世の中のネームサーバを支えてきたので、「いまさら乗り換えられるか!」って人が多いと思います。

で、unboundで取り急ぎ設定してみて、よくわからない点が多い(同士が多いみたい)なので取り急ぎ、設定した内容と簡単なテストをして、問題なく動作したのでその内容をメモ。

server:
        username: unbound
        directory: /var/unbound
        chroot: /var/unbound
        pidfile: /var/run/local_unbound.pid
        auto-trust-anchor-file: /var/unbound/root.key
        interface: 127.0.0.1
        interface: 192.168.1.254
        access-control: 192.168.1.0/24 allow
        access-control: 192.168.2.0/24 allow
        do-ip6: no

include: /var/unbound/local-zone.conf

上記はディフォルトのunbound.conf内容に付け加えたもの。

サーバの状況によっては必要のない内容もあるかもしれませんが、access-control:の部分だけが参照対象になるので、ローカルに複数ゾーンがある場合は追記すれば良いみたいです。access-control:を書かなければフルアクセスになるのか、一切反応しなくなるのかはわからないので、テストしてみてください。

do-ip6は、IPV6のサポート。

上記ぐらいまではどこのサイトでも同じようなことが書かれているのでそちらを参照してください。

で、肝心のローカルサーバの定義。外部ファイルにまとめてlocal-zone.confというファイルを作成、そこに1つ1つbindで言う正引きと逆引きを書いていく感じみたいです。bind流儀に従えば、正引きと逆引きを2つのファイルに分けてもよいかと思います。笑

まずはlocal-zone:によるドメインの定義。

この設定でドメインの省略が可能なような気もするけど、どうもうまくいかなかったです。

以下の内容は、xxx.comというドメインに対する定義内容になります。ns1,ns2,wwwの3台のグローバルIPサーバを持つサーバがある前提となります。
(以下、ミスはないと思うけど、間違っていたらすいません。aaa.aaa.aaa.aaa〜ccc.ccc.cccはIPアドレスになります。)

#ドメインの定義
local-zone: "xxxx.com." static

#bind9で言うAレコードの(正引き)設定
local-data: "ns1.xxx.com.        IN A aaa.aaa.aaa.aaa"
local-data: "ns2.xxx.com.        IN A bbb.bbb.bbb.bbb"
local-data: "www.xxx.com.        IN A ccc.ccc.ccc.ccc"

#bind9で言うAレコードの逆引き設定
local-data-ptr: " aaa.aaa.aaa.aaa    ns1.xxx.com."
local-data-ptr: " bbb.bbb.bbb.bbb    ns2.xxx.com."
local-data-ptr: " ccc.ccc.ccc.ccc    www.xxx.com."


#bind9で言うCNAMEの設定(CNAMEって概念はないみたいです。よくわからん)

local-data: "mailhost.xxx.com.    IN A aaa.aaa.aaa.aaa"

#bind9で言うDNSの定義
local-data: "xxx.com.    IN NS ns1.xxx.com."
local-data: "xxx.com.    IN NS ns2.xxx.com."

#bind9で言うMXの定義
local-data: "xxx.com. IN MX 100 ns1.xxx.com"

#ローカルサーバの定義(正引き)
local-data: "LANDISK.xxx.com.    IN A 192.168.1.253"
local-data: "samba.xxx.com.    IN A 192.168.2.253"

#ローカルサーバの定義(逆引き)
local-data: "192.168.1.253 LANDISK.xxx.com."
local-data: " 192.168.2.253 samba.xxx.com. "

 

ローカルサーバが複数ある場合は、1つづつ正引きと逆引きを書いていく必要があります。

自分の管理しているサーバはかなりの台数の正引きと逆引きを記載しました。

 

あと、他のサイトでDNSの定義MXの定義にあるドメイン名は、local-zone: でドメインの定義を行っているので省略可能みたいなんですが、省略すると外部端末からnslookupして引けませんでした。

なので面倒ですが、1つ1つ記載してみたところ、正常動作。

ちなみに、上記の再構築したローカルサーバは、Windows用のファイルサーバとして稼動し、その他DHCPしているだけなので、DHCPによるDNS参照を他のサーバに設定して業務しておいてもらい、unboundの設定ができてから、こっそりDHCPでのDNSの参照先をunbound稼動サーバにしてみましたが、特にトラブルなくシステム障害連絡もないので、正常稼動しているようです。

まあローカルサーバなので、変なDoS攻撃も受けることはありませんので、セキュリティ面では心配ない環境での稼動となります。

unboundでよくわからないのは、DNSで言う、CNAMEの設定方法とMX、NSの定義方法でつまずきましたが、上記の内容を参照したWindows端末が正常に稼動しているので、この設定で大丈夫かと思います。

以上、自分用のメモでした。

 

 

 

 

 

 

ページ移動

ユーティリティ

スポンサーリンク


検索

エントリー検索フォーム
キーワード
例:abs修理、メーターフード自作

過去ログ

Feed