Top > FreeBSD > djbdns jail minitree 9.0-Release
djbdns を jail minitree として導入したときの備忘的まとめです
djbdns jail minimaltree
djbdns jail minitree 7.2
maintenance ShellScript
以上のサイトを参考にさせていただいております
基本的にjail fulltree環境での作業になります
事前に /root/maintenance に maintenace ShellScript環境を用意しておきます
# cd /usr/ports/dns/djbdns # make config
途中 deamontools 0.76_16 と ucspi-tcpip 0.88_2 のconfig 画面になるので man だけはずし、インストールします # pkg_replace -vcCN dns/djbdns
# cd /root/maintenance/Config_file # vi djbdns.txt # miniroot /bin/sh /usr/sbin/nologin /etc/passwd /etc/group /etc/master.passwd # djbdns /usr/local/bin/dnscache /usr/local/bin/dnscache-conf /usr/local/bin/tinydns /usr/local/bin/tinydns-conf /usr/local/bin/tinydns-data /usr/local/bin/tinydns-edit /usr/local/etc/dnsroots.global # daemontools /usr/local/bin/envdir /usr/local/bin/envuidgid /usr/local/bin/multilog /usr/local/bin/softlimit # library /libexec/ld-elf.so.1 # directory #mkdir /dev #mkdir /var/log
# ../makembeddedtree.sh djbdns.txt /tmp/djbdns
# vipw -d /tmp/djbdns/etc root::0:0::0:0:Charlie &:/root:/usr/sbin/nologin
# vi /tmp/djbdns/etc/group wheel:*:0:root
/usr/sbin/pw -V /tmp/djbdns/etc groupadd djbdns -g 10000 /usr/sbin/pw -V /tmp/djbdns/etc useradd dnscache -g djbdns -u 10000 \ -s /usr/sbin/nologin -d /nonexistent /usr/sbin/pw -V /tmp/djbdns/etc useradd tinydns -g djbdns -u 10001 \ -s /usr/sbin/nologin -d /nonexistent
# exit # zfs create -o mountpoint=/home/djbdns tank0/jail/djbdns # mv /home/mainte90/tmp/djbdns/* /home/djbdns/
# jail /home/djbdns test.localdomain 192.168.1.200 /bin/sh
# /usr/local/bin/dnscache-conf dnscache snscache /dnscache 192.168.1.249 # echo xxx.xxx.xxx.xxx > /dnscache/root/servers/@ # echo xxx.xxx.xxx.yyy >> /dnscache/root/servers/@ # echo 1 > /dnscache/env/FORWARDONLY # echo 192.168.1.248 > /dnscache/root/servers/localdomain # echo 192.168.1.248 >> /dnscache/root/servers/1.168.192.in-addr.arpa
# /usr/local/bin/tinydns-conf tinydns tinydns /tinydns 192.168.1.248 # cd /tinydns/root # ./add-ns localdomain 192.168.1.248 # ./add-ns 1.168.192.in-addr.arpa 192.168.1.248 # ./add-host dch.localdomain 192.168.1.249 # ./add-host tns.localdomain 192.168.1.248 # /usr/local/bin/tinydns-data # exit
# touch /home/djbdns/dnscache/root/ip/192.168.1 # chmod 600 /home/djbdns/dnscache/root/ip/192.168.1
もともとある run ファイルを修正します
# vi /home/djbdns/dnscache/root/run #!/bin/sh PATH=/usr/local/bin export PATH cd /dnscache exec < seed exec envdir ./env /bin/sh -c ' exec envuidgid dnscache softlimit -o250 -d "$DATALIMIT" /usr/local/bin/dnscache 2>&1 \ | /usr/local/bin/mutilog t s100000 n7 > /var/log/dnscache' &
# vi /home/djbdns/tinydns/root/run #!/bin/sh PATH=/usr/local/bin export PATH cd /tinydns exec envuidgid tinydns envdir ./env softlimit -d300000 /usr/local/bin/tinydns 2>&1 \ | /usr/local/bin/multilog t s100000 n7 > /var/log/tinydns 2>&1 &
tinydns dnscache の順番で起動するように設定します
# vi /usr/local/etc/rc.d/010.jail_tinydns.sh #!/bin/sh #--------------------------------------- Jid="248" Secu="-1" NtwkIF="lo0" HsFQDN="tns.localdomain" IPAdrs="192.168.1.248" BDcast="192.168.1.248" NTmask="255.255.255.255" PsName="tinydns" ChRoot="/home/djbdns" MTdpnf="$ChRoot/dev" #--------------------------------------- BFsrtJ="" AFsrtJ="/sbin/devfs rule -s 40 delset /sbin/devfs rule -s 40 add hide /sbin/devfs rule -s 40 add path null unhide /sbin/devfs -m $ChRoot/dev rule -s 40 applyset" BFstpJ="/sbin/devfs rule -s 40 delset /sbin/devfs rule -s 40 add unhide /sbin/devfs -m $ChRoot/dev rule -s 40 applyset" AFstpJ="" Jstcom="/tinydns/run" #--------------------------------------- . /usr/local/etc/rc.d/common_Njailstp.file jailstartop $1
# vi /usr/local/etc/rc.d/011.jail_dnscache.sh #!/bin/sh #--------------------------------------- Jid="249" Secu="-1" NtwkIF="lo0" HsFQDN="dch.localdomain" IPAdrs="192.168.1.249" BDcast="192.168.1.249" NTmask="255.255.255.255" PsName="dnscache" ChRoot="/home/djbdns" MTdpnf="" #--------------------------------------- BFsrtJ="dd if=/dev/urandom of=$ChRoot/dnscache/seed bs=128 count=1" AFsrtJ="" BFstpJ="" AFstpJ="" Jstcom="/dnscache/run" #--------------------------------------- . /usr/local/etc/rc.d/common_Njailstp.file jailstartop $1
アップグレードはこちらを参照してください