最近因为需要安装和配置几台 bind9.7.0 有全新安装的 有升级的~
大体过程参照9.5.0安装,但遇到了几个问题,解决后特此记录。
先说安装
过程简单
上传源文件
解压 guzip -d xxxx
tar -vxf xxxxx
配置安装 ./configure --prefix=/usr/local/named --enable-threads
make
makeinstall
然后
# cd /usr/sbin
# mv named named.orig
# mv named-checkconf named-checkconf.orig
# mv named-checkzone named-checkzone.orig
# cp /usr/local/sbin/named .
# cp /usr/local/sbin/named-checkconf .
# cp /usr/local/sbin/named-checkzone .
创建rndc key过程也与 9.5相同。
同样创建chroot 文件夹
运行后报错 说是无法访问/dev/poll
查询后发现是因为 jail中没有 /dev/poll
mkdir /chroot/dns/dev
# mknod poll c 138 0
# chmod 666 poll
然后就好用了,还要观察一阵。
升级过程
与安装过程类似,只是不用生成rndckey。
另外上次使用 svc方法配置dns服务没成功,这次却也好用了。估计还是哪里配置问题。
svc配置(以下引用自 Andrew Choi (蔡健發) 的 《Solaris 10 OS + Bind 9 DNS Server + 安裝、設定、啟動、保安監牢、升級 》)
為 Solaris 10 建立一個新 service
原本的 DNS Server Service 名稱為 dns/server。
建立新service 後,以後要啟動舊版本的 DNS service 時,不能只啟動 dns/server,而要改為 dns/server:default。
新 DNS Server Chroot service 名稱為, dns/server:chroot
開始建立新 Service
# cd /var/svc/manifest/network/dns
# cp server.xml server-chroot.xml
編輯 server-chroot.xml
------------------------
尋找
<instance name='default' enabled='false' >
改為
<instance name='chroot' enabled='false' >
------------------------
尋找
exec='/usr/sbin/named'
改為
exec='/usr/sbin/named -t /chroot/dns'
------------------------
尋找
privileges='basic,!proc_session,!proc_info,!file_link_any,net_privaddr,file_dac_read,file_dac_search,sys_resource' />
改為
privileges='basic,!proc_session,!proc_info,!file_link_any,net_privaddr,priv_proc_chroot,priv_file_dac_read,file_dac_search,sys_resource' />
------------------------
尋找
user='root'
改為
user='noaccess'
------------------------
存檔
------------------------
停止預設 DNS service
# svcadm disable dns/server:default
匯入新的 DNS Server Chroot service
# svccfg import server-chroot.xml
啟動 chroot DNS service
# svcadm enable dns/server:chroot
# svcs dns/server
STATE STIME FMRI
disabled 6:21:03 svc:/network/dns/server:default
online 6:27:01 svc:/network/dns/server:chroot
#
Bind 9 DNS Server 現在已經能夠在 Chroot Jail 環境中運行