GUI で DNS (ドメイン・ネーム・サーバー)
※ Fedora25 では Wayland がデフォルトになっており、このソフトウェアの GUI 部分は未対応である為に動作しません。従って、GUI で動作させるには、Xorg モードで動作させる必要があります。詳しくはコチラをご覧下さい。
※ PowerDNS を用いて GUI を実現するには、MariaDB の設定、PowerDNS の設定と GUI の設定が必要になります。
※ BIND は旧式の DNS サーバーです。現在では Unbound や PowerDNS などが主流になっていますので、そちらをお勧めします。特にPowerDNSはWebアプリケーションの Poweradmin の開発が活発です。
通常、一般の人には無縁のページです(そのハズ)。
主に、自宅や事務所などで小規模なネットワークを構築しており、IPアドレス(192.168.0.1など)ではなく、名前(pc01とか)でアクセスしたい人向けだと思って下さい。
※ DNS とは、IPアドレスに名前を設定するためのサーバーで、ここの設定以外でも、ネットワーク設定(Linux、OSX、Windowsなど)のDNS設定で、BINDが行われているサーバーを指定する必要があります。
※ hosts ファイルでも設定可能ですが、DNSを利用すると、サーバーで一括管理が行えます。
※ ココで紹介しているのは、DNS設定入門のレベルです。もちろんGUIを使用して細かな設定なども行えますが、専門用語や仕組みを理解していないと、難しいと思われます。より深い設定を行いたい場合は、キーやレコードなどの予備知識が必要です。
※ Window7~10 では IPv4 及び IPv6 の両方が有効になっている場合、IPv4 の名前解決が正しく行われないというバグが存在します。(Xpなどでは問題なく、Windows7 で nslookupコマンドが正しい値を返したとしてと、アプリケーションで利用できないケースが多い)そのため、Windows7 以降に対応するには IPv6 の設定も行う必要があります。(IPv4で行った設定と同じ事をIPv6でも行うだけ。単純に作業が2倍になる)
インストール
『ソフトウェアの追加/削除』でBINDをインストール
※ Fedora22 からは DNF を用いてインストールを行います。詳しくはコチラをご覧下さい。
※ もちろんインストールされていれば、無視してもらえば問題ない
※ パッケージ名『bind』と『bind-chroot』をインストールして下さい。
『ソフトウェアの追加/削除』でBIND用のGUIをインストール
※ パッケージ名『system-config-bind』をインストールして下さい。
これで準備は完了だ。
設定
『システム』>『管理』>『サービス』でサービスの確認
※本来ならサービスの開始は一番最後でも問題はないハズだ。無理にこの段階でサービスを開始する必要はない。
- 一覧の中に『named』があることを確認する。
- 『無効』(赤色)になっている場合は『有効』(緑色)にする。
- コンセントが刺さっていない場合は、『開始』をクリックしてサービスを開始しよう。
※ Fedora 15 以降ではサービスの設定方法が変更されています。詳しくはココを参照して下さい。
※ 『/etc/sysconfig/named』に『ROOTDIR=/var/named/chroot』の行を追加して下さい。(存在しない場合のみ)
GUI での設定
GUI で設定する前に
インストールディスクから BIND 関連をインストールした場合などでは、BIND 用の chroot (bind-chroot) がデフォルトで組み込まれるようです。この場合、設定ファイルなどが「/var/named/chroot」配下に移動するわけですが、設定ファイルがデフォルトではコピーされておらず、GUI の起動や保存が失敗するようです。そこで、以下のコマンドを必ずスーパーユーザーで実行して下さい。
cp -uRp /var/named/*.* /var/named/data /var/named/dynamic /var/named/slaves /var/named/chroot/var/
# /etc 配下で BIND で利用するファイルを /var/named/chroot/etc にコピー
cp -uRp /etc/named* /etc/pki /etc/localtime /etc/rndc.key /var/named/chroot/etc/
# /var/named の SELinux コンテキストの修正
restorecon -R /var/named
『システム』>『管理』>『サーバー設定』>『ドメインネームシステム』
もしくは
『アップリケーション』>『システムツール』>『ドメインネームシステム』
を選択する
※ chroot を使用する場合は、ファイル『/etc/sysconfig/named』に『ROOTDIR=/var/named/chroot』の行がある事を確認して下さい。もしない場合は、追加して下さい。
まずは、アクセス制御リスト(ACL)を設定しましょう。
※ アクセス制御リスト(ACL)とは、DNSへのアクセスするマシンを決定(許可)するためのモノです。
一覧から『アクセス制御リストフィルタ』を選択し、『新規』をクリックして『アクセス制御リストフィルタ』を選択して下さい。
※ 一覧から『DNSサーバー』を選択した場合は、『アクセス制御リスト』になります。
※ 何も選択されていない場合に『新規』をクリックした場合は、『アクセス制御リスト』になります。
ここで注意してもらいたいのは、①『アクセス制御リスト名』
※ 基本的にこのGUIは、設定ファイルの書き換えを行うものですので、日本語、スペースや殆どの記号などは使用できません。アルファベットを中心に入力するようにして下さい。
②の『新規一覧エレメント』を選択して下さい。通常は、『IPv4 アドレス』で良いハズです。
※ 『ローカルホスト』とは、自分自身を指すもので、『IPv4 アドレス』で『127.0.0.1』と指定するのと、殆ど同じ意味です。
③にIPアドレスを入力して下さい。
※『192.168.0.1』など固定のアドレスを入力する場合は、④のマスク幅は『32』のままでOK
※『192.168.0』など、末尾を省略する場合は、『24』と入力(1マス8ビット、3マスなので24)
⑤の項目は、拒否アドレスとして指定する場合にクリック。『!』が表示されます。
『追加』のボタンをクリックで、入力完了。複数件ある場合は、件数分行ってください。
最後に『OK』をクリック。
すると、ロウトのアイコンが付いた『アクセス制御リストフィルタ』が『BIND設定のGUI』に追加されます。
ゾーンの設定
ゾーンとは、区分けとか分類だとか思って下さい。例えば、一階、二階とか、総務部、開発部とか。
まずは、『DNSサーバー』を選択し、右クリックで、『追加』>『ゾーン』を選びます。
①の『クラス』ですが、『IN インターネット』を選択して『OK』を押して下さい。LANでもアドレス形式がインターネットですので、当然ですね。
②の『オリジンのタイプ』ですが、『転送』を選択して『OK』を押して下さい。ここでは何も考えないで下さい。
③の『ゾーンタイプ』は、定義を行いたいので『master』を選択。
すると、ゾーン名の入力が可能になります。
ここで、④にゾーン名を入力することになりますが、名前の最後に必ずピリオド(.)を付けて下さい。
※ 基本的にこのGUIは、設定ファイルの書き換えを行うものですので、日本語、スペースや殆どの記号などは使用できません。アルファベットを中心に入力するようにして下さい。
ここでは仮に『floor-1.』(1階)と入力して『OK』を押します。
すると、
が、表示されます。
注意して入力する場所は3ヶ所
①には、自分のサーバ名を入力し、名前の最後に必ずピリオド(.)を付けて下さい。
②には、メールアドレスを入力し、名前の最後に必ずピリオド(.)を付けて下さい。
③には数字を入力すれば良いのですが、ユニークにする必要があります。時間などから独自の番号を指定して下さい。
※基本的にこのGUIは、設定ファイルの書き換えを行うものですので、日本語、スペースや殆どの記号などは使用できません。アルファベットを中心に入力するようにして下さい。ただし、③は数字のみ。その他はデフォルトでOK。
検索レコードの追加
ここまで来ると、もう一息です。
名前とIPアドレスの関連付けを行いましょう。
ゾーン『floor-1.』を選択し、右クリックで『追加』>『A IPv4 アドレス』を選択します。
すると、次のような画面が表示されますので、検索レコードを追加します。
①にはマシン名を入力します。名前を仮に『pc1』とすると、『floor-1』の『pc1』ですので、『pc1.floor-1.』となります。
※名前の最後に必ずピリオド(.)を付けて下さい。基本的にこのGUIは、設定ファイルの書き換えを行うものですので、日本語、スペースや殆どの記号などは使用できません。アルファベットを中心に入力するようにして下さい。
②にはIPアドレスを入力して下さい。
③の『リバースマッピングレコードの作成』は、IPアドレス→マシン名変換用のレコードを作成するオプションです。必ずチェックして下さい。
その他はデフォルトでOK
これで、検索レコードが追加されました。(該当ツリーを開いて表示しています。)
①マシン名→IPアドレス変換用のレコード 『floor-1』の中に『pc1』が追加されています。
②IPアドレス→マシン名変換用のレコード 『192.168.2』の中に『1』が追加されています。
編集が終了しましたので、『保存』アイコンをクリックします。
すると、
と表示されればOKです。
※ このダイアログは BIND が SystemD に移行したシステム(Fedora17~)では表示されません。また、設定の読み込みは行われませんので、『systemctl』コマンドで再読み込みを行わない限り、設定は反映されません。
確認
さて、確認を行いましょう。
『アップリケーション』>『システムツール』>『端末』を選択
マシン名→IPアドレス変換のテスト
①のように入力します。
②のように『ANSWER SECTION』が存在し、IPアドレスが返ってくればOK
次に、IPアドレス→マシン名変換をテスト
①のように入力します。
dig コマンド
@localhost 自分自身のDNSに検索
-x IPアドレス→マシン名変換指定
192.168.2.1 検索するIPアドレス
②のように『ANSWER SECTION』が存在し、マシン名が返ってくればOK
最後に、他のマシンからも検索出来るように、システムのファイヤーウォール設定を行います。
①のDNSにチェック
②の適応をクリック
これで、他のマシンからもアクセスできるハズです。
※ FirewallD を利用している場合は、コチラをご覧下さい。
その他の設定
その他の設定は『DNS サーバー』を右クリックして行います。
『編集…』の項目を選択し、サーバーオプション設定ダイアログを表示します。
『allow-query』(アドレス変換の問い合わせ許可)や『listen-on』(受付対象の指定)など、独自に設定したい項目がある場合は、このダイアログで指定します。この時、アドレス部分に『Any』を指定した場合は、「全て」が対象になります。
サービスの自動起動設定
SysVInit 系( ~ Fedora16 )
chkconfig –level 35 named on
Systemd 系( Fedora17 ~)
systemctl enable named-chroot.service
Fedora17 以降での設定
Fedora17 では BIND 自体も systemd に移行しており、独自の設定が必要です。
※ Fedora 20 以降では rsyslog に代わり、 journal が利用されます。従って、この rsyslog 設定は不要になりました。ログの確認は、ココで説明してある journalctl コマンドを利用します。(例:『journalctl -f -u named-chroot』)
『/etc/rsyslog.d』に『named-rsyslog.conf』(以下のファイルを作成)を追加
# line to your /etc/rsyslog.conf file. Otherwise your logging becomes
# broken when rsyslogd daemon is restarted (due update, for example).
$AddUnixListenSocket /var/named/chroot/dev/log
rsysrog の再起動
コマンドを実行『systemctl restart rsyslog.service』
BIND サービスの有効化および起動
コマンドを実行
systemctl disable named-sdb-chroot.service named.service
systemctl start named-chroot.service
※ 有効にするサービスはサービス名で決定して下さい。
BIND のサービスファイル
- named-chroot.service
- chroot を使用したBIND(通常はコレを使用します)
- named-sdb-chroot.service
- chroot と DB を利用したBIND(sdbインターフェイス:Simplified Database Interface)
- named.service
- シンプルなBIND
※ Systemd がよく分からない場合はココを参照して下さい。