実践Linux
CentOS7        CentOS7 目次へ  TOP(HOME)へ

DNSサーバー(BIND)          2016年6月



●インストール状況の調査
# yum list installed | grep bind
bind、bind-chroot、bind-libsなどがインストール済み。
namedを起動していない状態では/var/named/chroot配下には何もファイルはない状態。bindを起動すると /var/named/chroot配下にファイルがマウントされるようになっている。

●設定ファイル
/etc/named.conf
/named.rfc1912.zones ローカル部分の設定ファイル
/var/named/ゾーンファイル

●/etc/named.confの編集

acl my-network {    // 追加:aclで、my-networkという名前を定義し、IPアドレスを設定
  192.168.7.0/24;
  333.333.333.208/29;
  localhost;
};

options {
  listen-on port 53 { 127.0.0.1; 192.168.7.1; 333.333.333.210; };
  listen-on-v6 port 53 { ::1; };
  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";

  //オープンリゾルバ対策
  //権威DNSサーバーとして何処からもクエリを受け取り、キャッシュサーバーはLANからのみクエリを許可
  #allow-query { localhost; };     // コメントアウト
  allow-query { any; };     // 何処からのクエリでも受け取る
  recursion yes;     // キャッシュDNSサーバーとして動作
  allow-recursion { my-network; };     // 追加:リゾルバーとしての応答をmy-networkからのみ許可
  allow-query-cache { my-network; };     // 追加:キャッシュの内容をmy-networkのみに返す

  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;
  };
};

zone "." IN {
  type hint;
  file "named.ca";
};

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

###########################以下を追加###########################
zone "my-dom.xxx" {
  type master;
  file "my-dom.zone";
  allow-update { localhost; };
  allow-transfer { 333.333.333.211; ***.***.***.***; };    セカンダリ(***.***.***.***はプロバイダのものを記入)
  notify yes;
};

逆引きはプロバイダによるが、自サーバーにはおかない。 プロバイダ側に設定。
プロバイダ側の逆引き設定で、ns1.my-dom.xxxとns2.my-dom.xxxを設定する。

●/var/named/my-dom.zone
$TTL 86400
@ IN SOA ns1.my-dom.xxx.  root.my-dom.xxx.  (
48 ;serial(d.adams)
3H ;refresh
15M ;retry
1W ;expiry
1D ) ;minimum
IN NS ns1
IN NS ns2
IN NS ***.***.***.jp.               プロバイダのNAMEサーバー
IN A 333.333.333.210
IN MX 10 mail
localhost IN A 127.0.0.1
ns1 IN A 333.333.333.210
ns2 IN A 333.333.333.211
mail IN CNAME ns1
www IN CNAME ns1

※内容を変更した場合は、シリアル番号を増やしておくこと。そうでないとセカンダリ等に変更したことが伝わらない。

●/var/named/my-dom.zoneのプロパティ変更
ファイルのアクセス権の変更  所有者root グループnamed アクセス640
SELinuxタイプの確認
# ls -Z /var/named
named_zone_tならばOK。

●/etc/resolve.conf

DNS1=127.0.0.1
DNS2=***.***.***.***  プロバイダのアドレスを指定。
DOMAIN=my-dom.xxx

●firewalldの設定
trustedゾーンに対しては、必要ない。
externalゾーンの設定
# firewall-cmd --get-services  定義されているサービス一覧
# firewall-cmd --list-service --zone=external
# firewall-cmd --add-service=dns --zone=external
# firewall-cmd --add-service=dns --zone=external --permanent

●namedサービスを起動
# systemctl --type=service list-unit-files  インストールされたサービス一覧
# systemctl --type=service list-units | grep named  実行中のサービスにnamedがあるか
# systemctl start named
# systemctl start named-chroot
# systemctl enable named
# systemctl enable named-chroot

テスト 
# named-checkconf -z  エラーが表示されなければOK。
# service named checkconfig  上と同様。
# named-checkzone my-dom.xxx /var/named/my-dom.zone
# dig @333.333.333.210 my-dom.xxx AXFR  ゾーン転送のテスト
# dig www.my-dom.xxx
# host www.my-dom.xxx
# nslookup  等々

TOP(HOME)へ

目 次

特別企画
Raspberry Piで遊ぶ

HOME(全体のシステム構成&目次)

CentOS7
CentOS7のインストール〜ネットワークの設定ほか
CentOS7の新機能(systemdとfirewalld)
ダイレクトルールを使ったfirewallの強化
DNS(BIND)サーバー
Webサーバー
  Webでファイルの受け渡し
  アクセス解析ツールAwstats
  Wordpressでブログ構築
FTPサーバー
FTPS(FTP over SSL/TLS)
Mail(Dovecot&Postfix)サーバー
Sambaサーバー
MariaDB(MySQL)サーバー
DHCPサーバー
SSHサーバー
VNCサーバー
ストリーミングサーバーRed5
ドメインの追加

CentOS5〜6
ネットワーク&ファイアウォール(iptables)
DNS(BIND)サーバー
DHCPサーバー
メールサーバー(基本)
メールサーバー/実際の運用
Webサーバー
  WebDAVによるファイル共有
  Webでファイルのやり取り
  アクセス解析ツールawstats
  namazuで全文検索
  WordPressブログサイト構築
  EC-CUBEショッピングサイト構築
FTPサーバー
ファイルサーバー・Samba
データベースpostgreSQL
  ExcelからpostgreSQLを操作
データベースMySQL
SSHサーバー
VNC
SSL/TLSを利用した暗号化通信
openVPN
ストリーミングサーバー
    C++ RTMP Server
    Helix server Basic
ドメインの追加
Xen・仮想化
特定ディレクトリに容量制限

SELinux
SELinux基本設定
新しいタイプとポリシー・モジュールを作成してみる
マクロを利用したteファイルの記述
新しいドメインを導入してみる

coLinux
Fedora11で試す

Cプログラミング目次
X11プログラム
サイエンス・プログラム

計測・プログラム
秋月電子のデーターロガーpico ADC-16
「今すぐ使えるパソコン計測USBマイコン基板」に付属のTRZ1102
センサーの使用例

Glade2/GTK+を使ってみる
テキスト・ビューで簡易エディター
ドローイングエリアで自動描画
放物線運動(pango、cairoも試してみる)
これらを、GTK+のみで書き出す

フォントについて
ネットワーク・プログラミング
postgreSQL接続
CGI
ファイル操作

●その他
印刷機関連開発 刷版絵柄面積率測定
数独をExcelで解く