2015年9月28日月曜日

bind-9.10.2-P4のソースビルドでハマる

今日は、Bindの話です。

最近、Bind周りでの脆弱性が発見されることが多くなり、厄介な事になってしまいました。

久々にソースビルドにチャレンジしたので、備忘録としてインストールの記録を残しておきます。


まずは、ダウンロードの場所ですが、

http://www.isc.org/downloads/

からダウンロードします。
対象のバージョンのファイルを探します。

STATUSがCurrent-Stableとなっているものが、安定版です。
今回は、9.10.2-P4を使います。 

すでに、Bindがインストールされている場合は、先にアンインストールしておきます。

rpm -e bind

手前の環境では、namedが作られている環境だったので、そのまま権限を書き換えていますが、
そうでない人は、bindを動かすためのグループとユーザーを作成しましょう。

groupadd named
useradd -g named

ファイルの取得はwgetで行っています。

cd /usr/local/src
wget ftp://ftp.isc.org/isc/bind9/9.10.2-P4/bind-9.10.2-P4.tar.gz
tar xvzf bind-9.10.2-P4.tar.gz
chown -R named:named ./bind-9.10.2-P4
cd bind-9.10.2-P4/

この時に、フォルダの権限を変更しておかないと、あとで意味不明なエラーでハマります。
続いてインストールですが、定例のコマンドを実行していきますが、いくつか注意するポイントがあります。

./configure --prefix=/usr --exec_prefix=/usr --localstatedir=/var  --sysconfdir=/etc --disable-openssl-version-check --disable-ipv6 --disable-threads --enable-chroot --with-openssl=no
make
bin/tests/system/ifconfig.sh up
make test
bin/tests/system/ifconfig.sh down
make install

まず、configureの実行ですが、オプションを指定しなくてもうまくいくかもしれません。
ただ、指定したほうが良いと思います。
特に、IPv6の設定やopensslの設定あたりは、今回は飛ばしています。
opensslを使う場合は、opensslを別途インストールして、実行すると良いでしょう。
また、ifconfig.shを実行しておかないと、テストが実行させてもらえません。
テスト時にエラーが1件出ます(reclimitのエラー)が、動いてしまったのでとりあえず無視しました。
手前の環境では、/usr/sbin/namedが新しく生成されています。

試しにバージョンを確認してみると。

named -v

無事にバージョンが上がっていることが確認できます。

これでやっとインストールは終わりですが、
設定ファイルを作っていきます。
設定ファイルは、/etc/named.confというファイルがあります。
手前の環境では、自動で作ってくれなかったので、自力で作ります。

named.confの作り方は以下のサイトを参照ください。
http://www.eis.co.jp/bind9_src_build_2/

起動しようとしても実行できなかったので、/var/log/messagesを確認すると、ルートヒントがないと言われます。

could not configure root hints from 'named.root' : file not found


named.confで設定したルートヒントファイルを作っていませんでした。
ルートヒントファイルは、またしてもwgetで拾ってきます。

wget http://www.internic.net/domain/named.root

digコマンドで作る方法もあるようです。
(参考)http://www.omakase.org/misc/dns_hint.html

dig @A.ROOT-SERVERS.NET. > /etc/namedb/named.root

作成したルートヒントファイルは、絶対パスで指定するか、/var/lib/named/配下に配置します。
この状態で、一旦動くかどうか試してみてくださいね。

/usr/sbin/named -u named -c /etc/named.conf

うまく動いているかどうかは、psコマンド等で調べてみてください。


サービス起動するために、
http://ryouto.jp/linux/linux_14.html


今回作成したバッチはこんな感じ。

#!/bin/sh

ARGS="-c /etc/named.conf -u named"
SBINDIR=/usr/sbin

[ -f ${SBINDIR}/named ] || exit 0

case "$1" in
    start)
        echo -n "Starting Bind ..."
        start-stop-daemon --start --quiet --exec ${SBINDIR}/named -- $ARGS
        touch /var/lock/subsys/named
        echo done.
        ;;
    stop)
        echo -n "Shutdown Bind ..."
        start-stop-daemon --stop --quiet --exec ${SBINDIR}/named -- $ARGS
        rm -f /var/lock/subsys/named
        echo done.
        ;;
    status)
        status named
        ;;
    restart)
        $0 stop
        $0 start
        ;;
    *)
        echo "Usage: $0 { start | stop | restart }"
        exit 1
    ;;
esac
exit 0



RPMファイルを自力で作ることを思いつきましたが、力尽きたので、諦めています。

2015年9月9日水曜日

Google Bloggerで独自ドメインを設定する

とある筋より、Google Adsenseは独自ドメインのほうが審査通りやすいよという話を聞きましたので、このブロクを運用しているBloggerでできないか調査してみました。



設定画面を開くと、「+ ブログのサードパーティ URL を設定 ブログに登録済み URL を使用します。」というリンクがありますので、これをクリックすると


画面が開くので、ここで独自ドメインのサブドメイン(トップレベルドメイン)を指定します。
Blogger側の設定は以上で、ここからは独自ドメインのDNSの設定になります。


独自ドメインのDNSは、今回設定したサブドメイン(トップレベルドメイン)に対して、

サブドメイン CNAME ghs.google.com

と指定するだけです。
あとは、DNS設定が反映されれば、指定したサブドメインで見ることができるようになります。

もともと使っていたURLは、リダイレクト用のページが表示されるようになりますので、いままで使っていたブログのリンクが切れるわけではないので、安心です。

また、独自ドメインをやっぱり辞めるという時は、設定画面の公開の設定で、設定した独自ドメインを削除するだけで、元に戻せます。

もし、チャレンジしたい方は、試してみてくださいね。


Googleの公式ヘルプはこちらにあります。

https://support.google.com/blogger/troubleshooter/1233381?p=customdomain&hl=ja&rd=1#ts=1734117