NanoPi NEO2用のNanoBSDのSDイメージにmDNSResponderを入れる
やること
NanoPi NEO2用のNanoBSDのSDイメージにmDNSResponderを入れる。 DHCPでIPアドレスを割り当てる環境下で、sshで接続するときにIPアドレスがわからなくなってnmapで探していたのを解消する。
pkgでmDNSResponderを入れる
# SDをマウント。 mkdir /tmp/nanopi-root mount /dev/da0s2a /tmp/nanopi-root # chrootしたときに名前解決できないのを防ぐ?(crochetのスクリプトの真似) cp -i /etc/resolv.conf /tmp/nanopi-root/etc/ # ルートディレクトリを指定してpkgを実行する pkg -c /tmp/nanopi-root install -y -r FreeBSD mDNSResponder mDNSResponder_nss howl rm -i /tmp/nanopi-root/etc/resolv.conf
設定
# 設定ファイルのパーティションをマウント mkdir /tmp/nanopi-cfg mount /dev/da0s2d /tmp/nanopi-cfg # 設定書き換え cp -i /tmp/nanopi-root/etc/nsswitch.conf /tmp/nanopi-cfg sed -i -e 's/^hosts: files dns/hosts: files mdns dns/' /tmp/nanopi-cfg/nsswitch.conf # 自動起動するようにしておく echo 'mdnsd_enable="YES"' >> /tmp/nanopi-cfg/rc.conf echo 'mdnsresponder_enable="YES"' >> /tmp/nanopi-cfg/rc.conf
crochetで作ったNanoBSDは/conf/base/etc/localに/usr/local/etcのコピーを持っているので、コピーする。この辺りの詳細はdiskless(8)参照。
cp -pv /tmp/nanopi-root/usr/local/etc/rc.d/mdnsd \ /tmp/nanopi-root/usr/local/etc/rc.d/mdnsresponderposix \ /tmp/nanopi-root/usr/local/etc/rc.d/mdnsresponder \ /tmp/nanopi-root/conf/base/etc/local/rc.d
後始末
umount /tmp/nanopi-cfg umount /tmp/nanopi-root