2013年2月25日月曜日

BIND10スタートアップガイド(震え声) vol.1



BIND10のrc版が出たと聞いて飛んできました

** 目的
BIND10であそんでみよう。
色々モジュール化されたりで、かなり変わっているとのお話ですし。

** 環境
Cent6.3(さくらVPS1480円プラン)

** 参考にしたもの
http://bind10.isc.org/docs/bind10-guide.html#quick-start-auth-dns

** インストールをはじめるよ
-- 任意の場所にもってくる
# cd /usr/local/src
# wget ftp://ftp.isc.org/isc/bind10/1.0.0-rc/bind10-1.0.0-rc.tar.gz
-- かいとう
# tar zxf bind10-1.0.0-rc.tar.gz
-- こんぱいる
# cd bind10-1.0.0-rc
# ./configure --prefix /usr/local/bind10
----------------------------------------------------------------------
configure: error: no suitable Python interpreter found
----------------------------------------------------------------------
お?えらーが。
ドキュメントを読んでみたところ、python3.1以降が入っていないとだめらしい。

-- pythonバージョン確認
# yum list installed python
----------------------------------------------------------------------
python.x86_64                                      2.6.6-29.el6_3.3
----------------------------------------------------------------------
まったく太刀打ちできない。

** pythonをあたらしくする
remi remi-test とかみても、3.1以上のpythonがなかったので、ソースから。

-- ソースを持ってくる
# cd /usr/local/src
# wget http://www.python.org/ftp/python/3.3.0/Python-3.3.0.tgz
-- かいとう
# tar zxf Python-3.3.0.tgz
-- のーみそこねこね
# ./configure --prefix=/usr/local/python
# make
# make test
----------------------------------------------------------------------
FAIL: test_urlwithfrag (test.test_urllib2net.OtherNetworkTests)
----------------------------------------------------------------------
テストえらーでましたね。
でもこの機能はBIND10のインストールに必要ない(思いこみ
ということで次へ。
# make install

何事もなくインストール完了(棒

** BIND10にリベンジ
-- みたびこんぱいる
# cd /usr/local/src/bind10-1.0.0-rc
# ./configure --with-pythonpath=/usr/local/python/bin/python3 --prefix=/usr/local/bind10
ソースでpythonをぶっこんだので、"--with-pythonpath" で指定してやります。
さらにbotan・log4cplusが必要とわかったので、インストールしておく。

--- botan
# yum install botan.x86_64 botan-devel.x86_64
--- log4cplus
# cd /usr/local/src
# wget http://downloads.sourceforge.net/project/log4cplus/log4cplus-stable/1.0.4/log4cplus-1.0.4.tar.bz2
# tar jxf log4cplus-1.0.4.tar.bz2
# cd log4cplus-1.0.4
# ./configure --prefix=/opt/log4cplus
# make
# make install
-- よたびこんぱいる
# make distclean
# autoreconf --install
# ./configure --prefix=/usr/local/bind10 \
--with-pythonpath=/usr/local/python/bin/python3 \
--with-log4cplus=/usr/local/log4cplus
# make
# make test
# make install
なんとかインストール完了。。

** 起動してみる
-- ユーザーさくせい
# cd /usr/local/bind10/etc/bind10
# /usr/local/bind10/sbin/b10-cmdctl-usermgr
----------------------------------------------------------------------
Desired Login Name:lapo                             <- ユーザー名を入力
Choose a password:                                  <- パスワードを入力
Re-enter password:                                  <- パスワードを入力
 create new account successfully!
continue to create new account by input 'y' or 'Y': <- さらにユーザー追加する場合はy or Y しない場合はそのまま<Enter>
----------------------------------------------------------------------
-- 起動
# /usr/local/bind10/sbin/bind10
----------------------------------------------------------------------
FATAL [b10-cmdctl.cmdctl]: CMDCTL_UNCAUGHT_EXCEPTION uncaught exception: Error creating server, because: [Errno 98] Address already in use
----------------------------------------------------------------------
■こんなエラーが出てあがらにゃい
→どうやらbindctlで8080ポートを使うみたい。Nginx→apacheの部分で8080を使っていたので競合したぽい。
  Nginx側を10080に変更して難を逃れることに。

-- もっかい起動
# /usr/local/bind10/sbin/bind10
----------------------------------------------------------------------
YYYY-MM-DD HH:MM:SS.123 INFO  [b10-cfgmgr.cfgmgr/4750] CFGMGR_CONFIG_FILE Configuration manager starting with configuration file: /usr/local/bind10/var/bind10/b10-config.db
YYYY-MM-DD HH:MM:SS.996 INFO  [b10-init.init/4746] BIND10_STARTING starting BIND10: bind10 20110223 (BIND 10 1.0.0-rc)
YYYY-MM-DD HH:MM:SS.996 INFO  [b10-init.init/4746] BIND10_CONFIGURATOR_START bind10 component configurator is starting up
YYYY-MM-DD HH:MM:SS.996 INFO  [b10-init.init/4746] BIND10_COMPONENT_START component Socket creator is starting
YYYY-MM-DD HH:MM:SS.996 INFO  [b10-init.init/4746] BIND10_SOCKCREATOR_INIT initializing socket creator parser
YYYY-MM-DD HH:MM:SS.996 INFO  [b10-init.init/4746] BIND10_COMPONENT_START component msgq is starting
YYYY-MM-DD HH:MM:SS.996 INFO  [b10-init.init/4746] BIND10_STARTING_PROCESS starting process b10-msgq
YYYY-MM-DD HH:MM:SS.996 INFO  [b10-init.init/4746] BIND10_COMPONENT_START component cfgmgr is starting
YYYY-MM-DD HH:MM:SS.996 INFO  [b10-init.init/4746] BIND10_STARTING_PROCESS starting process b10-cfgmgr
YYYY-MM-DD HH:MM:SS.996 INFO  [b10-init.init/4746] BIND10_STARTING_CC starting configuration/command session
YYYY-MM-DD HH:MM:SS.009 INFO  [b10-init.init/4746] BIND10_READING_INIT_CONFIGURATION reading b10-init configuration
YYYY-MM-DD HH:MM:SS.010 INFO  [b10-init.init/4746] BIND10_CONFIGURATOR_RECONFIGURE reconfiguring running components
YYYY-MM-DD HH:MM:SS.011 INFO  [b10-init.init/4746] BIND10_COMPONENT_START component b10-cmdctl is starting
YYYY-MM-DD HH:MM:SS.011 INFO  [b10-init.init/4746] BIND10_STARTING_PROCESS starting process b10-cmdctl
YYYY-MM-DD HH:MM:SS.019 INFO  [b10-init.init/4746] BIND10_COMPONENT_START component b10-stats is starting
YYYY-MM-DD HH:MM:SS.019 INFO  [b10-init.init/4746] BIND10_STARTING_PROCESS starting process b10-stats
YYYY-MM-DD HH:MM:SS.031 INFO  [b10-init.init/4746] BIND10_STARTUP_COMPLETE BIND 10 started
YYYY-MM-DD HH:MM:SS.203 INFO  [b10-stats.stats/4753] STATS_STARTING starting
----------------------------------------------------------------------
■無事起動
大丈夫だったのでまつびぃに"&"をつけてバックグラウンドで。

-- 起動と確認
# /usr/local/bind10/sbin/bind10 &
# ps -ef | grep b10
----------------------------------------------------------------------
root      4755  4631  0 11:28 pts/0    00:00:00 /usr/local/python/bin/python3 /usr/local/bind10/libexec/bind10/b10-init
root      4756  4755  0 11:28 pts/0    00:00:00 b10-sockcreator
root      4757  4755  0 11:28 pts/0    00:00:00 /usr/local/python/bin/python3 /usr/local/bind10/libexec/bind10/b10-msgq
root      4759  4755  0 11:28 pts/0    00:00:00 /usr/local/python/bin/python3 /usr/local/bind10/libexec/bind10/b10-cfgmgr
root      4761  4755  0 11:28 pts/0    00:00:00 /usr/local/python/bin/python3 /usr/local/bind10/libexec/bind10/b10-stats
root      4762  4755  0 11:28 pts/0    00:00:00 /usr/local/python/bin/python3 /usr/local/bind10/libexec/bind10/b10-cmdctl
----------------------------------------------------------------------
■やたらプロセスふえたにぃ…
-- 設定の確認とかいろいろ
# /usr/local/bind10/bin/bindctl
----------------------------------------------------------------------
WARNING: Python readline module isn't available, so the command line editor
         (including command history management) does not work.  See BIND 10
         guide for more details.
No stored password file found, please see sections "Configuration specification for b10-cmdctl" and "bindctl command-line options" of the BIND 10 guide.
Username: lapo
Password:
["login success "]
>
----------------------------------------------------------------------
■コマンドヒストリーを見るpythonモジュールがないよ的なメッセージがありますが、
  別に今回はキニシナイ
■usernameとpasswordは、"/usr/local/bind10/sbin/b10-cmdctl-usermgr" で作成したものを入力
-- 権威さーばのたちあげ
# /usr/local/bind10/bin/bindctl
> config add Init/components b10-auth
> config set Init/components/b10-auth/special auth
> config set Init/components/b10-auth/kind needed
> config commit
----------------------------------------------------------------------
YYYY-MM-DD HH:MM:SS.068 INFO  [b10-init.init/4755] BIND10_CONFIGURATOR_RECONFIGURE reconfiguring running components
YYYY-MM-DD HH:MM:SS.068 INFO  [b10-init.init/4755] BIND10_COMPONENT_START component b10-auth is starting
YYYY-MM-DD HH:MM:SS.068 INFO  [b10-init.init/4755] BIND10_STARTING_PROCESS starting process b10-auth
YYYY-MM-DD HH:MM:SS.113 INFO  [b10-auth.auth/4801] AUTH_SERVER_CREATED server created
YYYY-MM-DD HH:MM:SS.113 INFO  [b10-auth.auth/4801] AUTH_DATASRC_CLIENTS_BUILDER_STARTED data source builder thread started
YYYY-MM-DD HH:MM:SS.129 INFO  [b10-init.init/4755] BIND10_SOCKET_GET requesting socket [::]:53 of type TCP from the creator
YYYY-MM-DD HH:MM:SS.130 INFO  [b10-init.init/4755] BIND10_SOCKET_CREATED successfully created socket 20
YYYY-MM-DD HH:MM:SS.133 INFO  [b10-init.init/4755] BIND10_SOCKET_GET requesting socket [::]:53 of type UDP from the creator
YYYY-MM-DD HH:MM:SS.133 INFO  [b10-init.init/4755] BIND10_SOCKET_CREATED successfully created socket 22
YYYY-MM-DD HH:MM:SS.135 INFO  [b10-init.init/4755] BIND10_SOCKET_GET requesting socket [0.0.0.0]:53 of type TCP from the creator
YYYY-MM-DD HH:MM:SS.135 INFO  [b10-init.init/4755] BIND10_SOCKET_CREATED successfully created socket 23
YYYY-MM-DD HH:MM:SS.139 INFO  [b10-init.init/4755] BIND10_SOCKET_GET requesting socket [0.0.0.0]:53 of type UDP from the creator
YYYY-MM-DD HH:MM:SS.139 INFO  [b10-init.init/4755] BIND10_SOCKET_CREATED successfully created socket 24
YYYY-MM-DD HH:MM:SS.146 INFO  [b10-auth.auth/4801] AUTH_DATASRC_CLIENTS_BUILDER_RECONFIGURE_STARTED data source reconfiguration started
YYYY-MM-DD HH:MM:SS.149 INFO  [b10-auth.auth/4801] AUTH_SERVER_STARTED server started
YYYY-MM-DD HH:MM:SS.150 WARN  [b10-auth.datasrc/4801] DATASRC_SQLITE_SETUP setting up new SQLite3 database in '/usr/local/bind10/var/bind10/zone.sqlite3'
YYYY-MM-DD HH:MM:SS.182 INFO  [b10-auth.auth/4801] AUTH_DATASRC_CLIENTS_BUILDER_RECONFIGURE_SUCCESS data source reconfiguration completed successfully
----------------------------------------------------------------------
> quit
■今回は権威サーバが別だてになっているので、これをやらないと権威サーバにならないでふ
-- 名前を引いてみる
dig @127.0.0.1 -c CH -t TXT bind.version
----------------------------------------------------------------------
; <<>> DiG 9.8.3-P1-RedHat-9.8.3-P1.el6 <<>> @127.0.0.1 -c CH -t TXT bind.version
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 48004
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available
;; QUESTION SECTION:
;bind.version.                  CH      TXT
;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Feb 25 12:17:38 2013
;; MSG SIZE  rcvd: 30
----------------------------------------------------------------------
■;; SERVER: 127.0.0.1#53(127.0.0.1) で、引きにいって、空の内容が帰っているので大丈夫そうな雰囲気

とりあえず何も設定がはいっていないけど、BIND10の権威サーバの立ち上げまではできました。

第二部ではbindctlで設定関連を扱っていきますにぃ

※既存環境(BIND9系)からのアップデートはかなり骨が折れそうな印象

おわり

0 件のコメント:

コメントを投稿