ひとこと

自宅サーバのディスクが飛んだので新装オープン(2007年12月1日〜)


hns - 日記自動生成システム - Version 2.19.9

先月 2010年07月
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Namazu for hns による簡易全文検索
詳しくは 詳細指定/ヘルプを参照して下さい
検索式:

2010年07月02日(金) [n年日記]

[天気:くもり時々晴] 朝:サンドイッチ(LAWSON) 昼:カレーパン(LAWSON) 

うどんの日

#1 金曜日

今日はうどんの日らしいので、晩御飯はうどんにしようかと思う。 昨夜は天下一品だった。

#2 [UNIX][Solaris] BINDからNSD/unboundへ

豊橋にいたころから長らく使い続け、研究室内の各種サーバだったDual Xeonなマシンが、油断していると止まる、という状況が頻発するようになったので、7年の稼働に感謝しつつ、各種サービスを他機に移すために設定ファイルなどのバックアップを行ってから止めた。

もともとそのつもりで買っておきながら2、3年(もっとか?)遊ばせていたNEC Express5800 110GcのFreeBSD/i386 8-STABLEに

を移行するのに3日かかったのは、Xeonに何をさせていたか、どれがどうしても必要か考えるのと、「あと5回しかないのに授業が進んでいない!」という重要課題に追われていたせいだが、それはともかく。

すでに研究室のNAT/NAPTルータとして日の目を見るようになったSun Ultra2のSolaris 10

$ cat /etc/release 
                       Solaris 10 8/07 s10s_u4wos_12b SPARC
           Copyright 2007 Sun Microsystems, Inc.  All Rights Reserved.
                        Use is subject to license terms.
                            Assembled 16 August 2007
は、gatewayやipnatの仕事を静かに遂行中であるが、この際なので研究室のDNSサーバもやってもらうことにした。

Solaris 10にはBIND 9が付いているが…:

Xeon PCで動いていたFreeBSD/i386では、標準付属のBIND 9を使って研究室内のDNSサーバをさせていたので、その設定ファイルなどがそっくりそのままコピーできる安直さを、まず、選んだ。あっさり動いたのでこれでもよかった。しかし、なんだかつまらなく思えたのと、某「BINDを捨てよう」で御馴染の先生から御指摘をいただけたことから、NSDとのunboundの組み合わせに挑戦することとした。

NSDとunboundをインストールする:

tarballを持ってきて、configure、makeするのは数年ぶりである。wgetやgtarは元々入っているので堕落している。
$ wget -q -O - http://www.nlnetlabs.nl/downloads/nsd/nsd-3.2.5.tar.gz | gtar xvzf -
$ cd nsd-3.2.5
$ CC="/opt/SUNWspro/bin/cc -m64" ./configure && gmake
$ pfexec gmake install
$ wget -q -O - http://unbound.nlnetlabs.nl/downloads/unbound-latest.tar.gz | gtar xvzf -
$ CC="/opt/SUNWspro/bin/cc -m64" ./configure --disable-sha2 && gmake
$ pfexec gmake install
Solarisならでは、という点は、 sudoじゃなくてpfexecを使う ことぐらいだろうか。-m64を付けたのは、以前、pkgsrcでOpenSSLのライブラリをインストールしたときに64-bitでコンパイルしたからである。 *1

NSDとunboundを設定する:

試行錯誤したが、結果として、1台のSolarisでNSDによるコンテンツサーバとunboundによるキャッシュサーバを動かすことにしたが、1個のIPアドレスで完結するための工夫が複雑であるように思えたので、1つのNICにIPアドレスを2つ割り当てることにした。
# ifconfig hme0 addif 192.168.xxx.yyy/24 plumb up
これでhme0:1ができたので、起動時にも自動的に設定されるように、/etc/hostname.hme0:1を用意した。当然、未確認である。(15:05現在)

nsd.confとunbound.confをそれぞれ以下のようにした。

# options for the nsd server
server:
	ip-address: 192.168.xxx.aaa
	ip-address: 127.0.0.1
	hide-version: no
	debug-mode: no
	ip4-only: no
	ip6-only: no
	database: "/var/db/nsd/nsd.db"
	identity: "unidentified server"
	server-count: 1
	tcp-count: 10
	tcp-query-count: 0
	tcp-timeout: 120
	pidfile: "/var/run/nsd.pid"
	port: 53
	statistics: 3600
	#chroot: "/etc/nsd"
	username: nsd
	zonesdir: "/etc/nsd"
	difffile: "/var/db/nsd/ixfr.db"
	verbosity: 1

zone:
	name: "4407.kankyo-u.ac.jp"
	zonefile: "/etc/nsd/d4407"
server:
	verbosity: 1
	interface: 192.168.xxx.yyy
	port: 53
	access-control: 192.168.111.0/24 allow
	local-zone: "111.168.192.in-addr.arpa." transparent

stub-zone:
	name: "4407.kankyo-u.ac.jp"
	stub-addr: 192.168.xxx.aaa@53

forward-zone:
	name: "."
	forward-addr: 192.168.oo.oo
これで、192.168.xxx.0/24な研究室内では、192.168.xxx.yyyに問い合わせて名前解決ができるようになった。NSD単体では、研究室外のいくつかのホスト(例えば、www.kankyo-u.ac.jp orz)の名前解決ができなかったが、unboundを介することでこれは解消された。 *2

NSDとunboundをsmf(5)で起動する:

試行錯誤はtwitterでつぶやいているので省略するが、manifestと起動スクリプトを書いて、svcadm enableとかできるようにしてみた。dns/serverやdns/clientを元に、nsd-server.xmlやunbound.xmlなどを書いた。

次は…:

実はこのDNSサーバはこっそりわが家のセカンダリサーバであったりもするので、NSDでセカンダリの設定をしなければならない。

2010年07月15日(木) [n年日記]

[天気:くもり時々雨] 朝:トースト・コーヒー  

ファミコンの日

#1 [UNIX][Solaris] ldd /usr/lib/sendmail

Solaris 10の場合:

	libresolv.so.2 =>	 /lib/libresolv.so.2
	libsocket.so.1 =>	 /lib/libsocket.so.1
	libnsl.so.1 =>	 /lib/libnsl.so.1
	libldap.so.5 =>	 /usr/lib/libldap.so.5
	libsldap.so.1 =>	 /usr/lib/libsldap.so.1
	libwrap.so.1 =>	 /usr/sfw/lib/libwrap.so.1
	libssl.so.0.9.7 =>	 /usr/sfw/lib/libssl.so.0.9.7
	libcrypto.so.0.9.7 =>	 /usr/sfw/lib/libcrypto.so.0.9.7
	libc.so.1 =>	 /lib/libc.so.1
	libmp.so.2 =>	 /lib/libmp.so.2
	libmd.so.1 =>	 /lib/libmd.so.1
	libscf.so.1 =>	 /lib/libscf.so.1
	libsasl.so.1 =>	 /usr/lib/libsasl.so.1
	libnspr4.so =>	 /usr/lib/mps/libnspr4.so
	libplc4.so =>	 /usr/lib/mps/libplc4.so
	libnss3.so =>	 /usr/lib/mps/libnss3.so
	libssl3.so =>	 /usr/lib/mps/libssl3.so
	libdoor.so.1 =>	 /lib/libdoor.so.1
	libuutil.so.1 =>	 /lib/libuutil.so.1
	libgen.so.1 =>	 /lib/libgen.so.1
	libpthread.so.1 =>	 /lib/libpthread.so.1
	librt.so.1 =>	 /lib/librt.so.1
	libdl.so.1 =>	 /lib/libdl.so.1
	libnssutil3.so =>	 /usr/lib/mps/libnssutil3.so
	libplds4.so =>	 /usr/lib/mps/libplds4.so
	libthread.so.1 =>	 /lib/libthread.so.1
	libaio.so.1 =>	 /lib/libaio.so.1
	libssl_extra.so.0.9.7 =>	 /usr/sfw/lib/libssl_extra.so.0.9.7
	libcrypto_extra.so.0.9.7 =>	 /usr/sfw/lib/libcrypto_extra.so.0.9.7
	libm.so.2 =>	 /lib/libm.so.2
	/platform/sun4u/lib/libc_psr.so.1
	/platform/sun4u/lib/libmd_psr.so.1

OpenSolaris b134の場合:

	libresolv.so.2 =>	 /lib/libresolv.so.2
	libsocket.so.1 =>	 /lib/libsocket.so.1
	libnsl.so.1 =>	 /lib/libnsl.so.1
	libldap.so.5 =>	 /usr/lib/libldap.so.5
	libsldap.so.1 =>	 /usr/lib/libsldap.so.1
	libwrap.so.1 =>	 /usr/lib/libwrap.so.1
	libumem.so.1 =>	 /lib/libumem.so.1
	libssl.so.0.9.8 =>	 /lib/libssl.so.0.9.8
	libcrypto.so.0.9.8 =>	 /lib/libcrypto.so.0.9.8
	libc.so.1 =>	 /lib/libc.so.1
	libmd.so.1 =>	 /lib/libmd.so.1
	libmp.so.2 =>	 /lib/libmp.so.2
	libscf.so.1 =>	 /lib/libscf.so.1
	libsasl.so.1 =>	 /usr/lib/libsasl.so.1
	libnspr4.so =>	 /usr/lib/mps/libnspr4.so
	libplc4.so =>	 /usr/lib/mps/libplc4.so
	libnss3.so =>	 /usr/lib/mps/libnss3.so
	libssl3.so =>	 /usr/lib/mps/libssl3.so
	libuutil.so.1 =>	 /lib/libuutil.so.1
	libgen.so.1 =>	 /lib/libgen.so.1
	libsmbios.so.1 =>	 /usr/lib/libsmbios.so.1
	libpthread.so.1 =>	 /lib/libpthread.so.1
	librt.so.1 =>	 /lib/librt.so.1
	libdl.so.1 =>	 /lib/libdl.so.1
	libnssutil3.so =>	 /usr/lib/mps/libnssutil3.so
	libplds4.so =>	 /usr/lib/mps/libplds4.so
	libthread.so.1 =>	 /lib/libthread.so.1
	libm.so.2 =>	 /lib/libm.so.2

以上、2 日分です。
タイトル一覧
カテゴリ分類
Powered by hns-2.19.9, HyperNikkiSystem Project

NAKAJI Hiroyuki