makoto_fujimotoのblog

株式会社進角
代表 藤本信のブログです
どうぞよろしくお願いします

Samba内臓のDNSを使用してAD構築した場合、ラウンドロビンが正常に動作しないなどの問題があったのでBINDを使用する様に設定したメモです。

OS      : CentOS release 6.7 (Final)
パッケージ : EnterpriseSAMBA ver4.2
ネットワーク : 192.168.123.0/24
種類     : ドメインコントローラー
ドメイン名  : TEST.LOCAL
DNS     : BIND 9.8.2

(1)  samba4をインストールする
まずリポジトリの作成
# vi /etc/yum.repos.d/sernet-samba-4.2.repo
※ 参考 https://portal.enterprisesamba.com/
# yum install sernet-samba-ad

サーバの基本設定はこちらを参考にしてください。
Samba4によるAD構築メモ1

(2) samba4のAD設定 
# samba-tool domain provision --use-rfc2307 --interactive --function-level=2008_R2
Realm [TEST.LOCAL]:
 Domain [TEST]:
 Server Role (dc, member, standalone) [dc]:
 DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]:BIND9_DLZ
Administrator password:********

(3) bindの設定(/etc/named.conf)
-----------------------------------------------------------
options {
        listen-on port 53 { any; };
        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";
        allow-query     { 192.168.123.0/24; localhost; };
        allow-transefer     { 192.168.123.0/24;}; #冗長構成にする場合
        recursion yes;
        forwarders {
            8.8.8.8; 8.8.4.4;
        };

        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside auto;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";

        managed-keys-directory "/var/named/dynamic";
        tkey-gssapi-keytab "/var/lib/samba/private/dns.keytab";
};

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";
include "/var/lib/samba/private/named.conf";
-----------------------------------------------------------
# chown named:named /var/lib/samba/private/dns.keytab

(4) /var/lib/samba/private/named.confの確認
bindのバージョンに合ったsoが有効になっているか
-----------------------------------------------------------
dlz "AD DNS Zone" {
    # For BIND 9.8.x
     database "dlopen /usr/lib64/samba/bind9/dlz_bind9.so";

    # For BIND 9.9.x
    # database "dlopen /usr/lib64/samba/bind9/dlz_bind9_9.so";

    # For BIND 9.10.x
    # database "dlopen /usr/lib64/samba/bind9/dlz_bind9_10.so";
};
-----------------------------------------------------------
# service named restart

(5) samba-toolを使用したゾーンレコードの編集方法
Aレコードの追加
# samba-tool dns add  localhost test.local sales-ns A 192.168.123.12
NSレコードの追加
# samba-tool dns add  localhost test.local sales NS sales-ns.test.local.
逆引きゾーンの作成
# samba-tool dns zonecreate test.local 123.168.192.in-addr.arpa
PTRレコードの追加
# samba-tool dns add localhost 123.168.192.in-addr.arpa 12 PTR sales-ns.test.local.
ゾーンの確認
# samba-tool dns query localhost test.local @ ALL
# samba-tool dns query localhost test.local sales ALL

ちなみに、Windows管理ツールのDNSマネージャーでゾーンレコードを編集することも可能ですが、単純な設定しかSamba4には対応していないようです。しかもADのデータベースが不整合を起こす可能性もあるので使用はお勧めしません。

(6) サブドメインの名前解決を他のDNSに委任する場合
ADで利用するドメインは概ねローカルドメインになるかと思いますが、ルートヒントから委任先を辿ることができません。したがって/etc/named.confに以下の様にフォワーディング設定を追加します。一見samba-toolで委任のNSレコードを追加すれば解決できそうな気もしますがうまくいきませんでした。
-----------------------------------------------------------
zone "sales.test.local"
{
        type forward;
        forward only;
        forwarders
        {
            192.168.123.12; #委任先DNSのIPアドレス
        };
};
-----------------------------------------------------------
# service named restart

【追記】
ADサーバをインターネットに接続していない環境かつサブドメインを別のDNSに委任している場合、D
NSSECが悪影響を与えるようですので明示的に無効にした方が良さそうです。
dnssec-enable no;
dnssec-validation no;
この設定を行ったところ、(6)のゾーン設定が不用になりました。

IMG_1308
11月末にリリースされたRaspberry Pi Zeroを早速入手しました。さらに小型化され$5という安さが驚異的です。
FullSizeRender
Model Bも十分小さいのですが、Zeroは少し幅の広いガムみたいな感じです。


いそいそとケーブルを接続し、とりあえず電源投入!

と、いきなりつまずきました

全く何も起きません(起きていないように見える)。

すわ初期不良かと焦りましたが販売元の方にいろいろサポートいただきながらなんとかOSの起動に成功しました。
CVXDAAzUwAACGj5

とりあえず注意点として
・microSDにOSイメージが無いと通電してもACTランプすら点灯しません。PWRランプは省略されています。
・OSはJessieを使用する必要がある。
・以前のラズパイの様にFAT32フォーマットのSDにOSパッケージimgをコピーするだけではブートしない。
・ブートイメージのSDを作成するには以下のサイトを参考にユーティリティを用いる。
https://learn.adafruit.com/introducing-the-raspberry-pi-zero/setting-up-your-sd-card
・Model Bで使用していたSDをぶち込んでも起動しませんでした(ACTランプは点灯)。
こちらを参考にしてくれればと思います。

とりあえずアプリの確認として、omxplayerという動画再生ソフトでフルハイのmp4を試しましたがコマ落ちもなくスムースに再生することが出来ました。ただGUI(x window)の操作感は少しもっさりした感じがあります。

また検証が進みましたらレポートします。

image1
簡単にクリアできると思っていたラズベリーパイの無線LAN化ですが、購入したELECOM製無線LAN子機のデバイスドライバがラズベリーパイに標準でパッケージされておらず、またDHCP Clientデーモンの停止方法で少し苦労したのでメモを残しておきます。

ELECOMのWi-fi子機WDC-150SU2MWHには8188euというチップが搭載されていますが、使用しているバージョンのカーネルパッケージにはドライバが付属していませんでした。

■以下ドライバのインストール手順です

  1.  カーネルに適合するドライバファイルを探す
    # uname -a でカーネルバージョンを調べます。
    以下のサイトから適合するドライバファイルを探します。
    https://www.raspberrypi.org/forums/viewtopic.php?p=462982
  2. ドライバインストール
    # cd /tmp
    # wget https://dl.dropboxusercontent.com/u/80256631/8188eu-v7-20151028.tar.gz
    # tar xzf 8188eu-v7-20151028.tar.gz
    # ./install.sh
  3. 再起動してしばらくするとGUIの右上に検知されたアクセスポイントが表示されるで、そこからSSIDを選択してパスフレーズを入力すると設定ファイルが出来ます。
    /etc/wpa_supplicant/wpa_supplicant.conf
  4. 但しこのままではpskが平文なので
    # wpa_passphrase SSID PASS
    で出力される暗号化されたpskを使用した方が良いです。
  5. # service networking restart または再起動

ELECOM製を購入した理由は消費電力が少なかったからですが、この様な手間が必要なので正直初心者にはお勧めしません。

また高性能なUSBカメラなどを接続すると消費電力が多いせいか無線LANが不安定になるようです。その場合はセルフパワー付のUSBハブなどを使用する必要があります。

■DHCP Clientデーモンを停止する方法
デフォルトでDHCPクライアントデーモン(dhcpcd)が起動しているので固定IPアドレスを設定する場合は停止させた方が良いと思います。そうしないとeth0にケーブルを差し込んだだけで /etc/network/interfaces の設定を無視して意図しないIPアドレスが振られてしまいます。ifdown/ifupも効きません。

しかしdhcpcdは以下の様にしても自動起動が止まりません
#update-rc.d -f dhcpcd remove

色々調べたらラズベリーパイのサービスはsystemdの管理化にあることが分かったのでsystemctlを用いて
# systemctl disable dhcpcd.service ではだめで
# systemctl disable dhcpcd@eth0.service これでやっと自動起動しなくなりました。
但しGUIの右上のネットワークアイコンの機能は使えなくなりました。

このページのトップヘ