Open5
ご家庭のDNSサーバの構築メモ
ながらくIntel NUCでファイルサーバとともに稼働させてきたDNSサーバを仮想化することにしました。ファイルサーバはとうの昔にクラウドストレージに移行したんだけど、DNSだけが放置されていたのです。
というわけで構築メモ
今回移行するホストマシンは昨年構築したミニPCとなります。熱気のこもりがちな戸棚の中でも負荷が低いこともあって安定運用しております。だいたいサーバー用じゃないので、2~3年に1度くらいリプレースしてる気がする。
VMたてるのも実に簡単でした。仮想マシン管理メニューから作成を選び、OS(今回はDebian bullseye)を選んだらすぐにインストールプロセスが開始します。面倒な設定もなくブラウザ上でコンソールにつながるので、SSHサーバだけをインストールしてターンエンド。

※ちなみにFaaSのノリで256MBメモリにしたら足りませんでした。
# apt install sudo vim git dnsmasq
sshd以外にインストールはこれくらいかな。
nameserver=1.1.1.1
nameserver=8.8.8.8
# この2つはコメントアウトはずす
domain-needed
bogus-priv
# listen ipをローカルサブネットに
listen-ip=192.168.1.222
Ad Blockも導入します。こちらのスクリプトを利用させていただいてます。
$ git clone https://github.com/ohtorii/dnsmasq_adblock.git
$ cd dnsmasq_adblock
$ script/make_adblock_list.sh ad-block.conf
$ sudo cp ad-block.conf /etc/dnsmasq.d/
$ sudo systemctl enable dnsmasq
$ sudo systemctl start dnsmasq
朝起きてたらresolv.confが初期化されていてネットがつながらなくなっていた(UPSTREAMがないので)
そういえば最近のLinuxは/etc/resolv.confが上書きされるんだった。
[Resolve]
DNS=1.1.1.1
FallbackDNS=8.8.8.8
DNSOverTLS=yes
ついでにIPも固定化しておく
#iface enp1s0 inet dhcp
iface enp1s0 inet static
address 192.168.1.222
network 192.168.1.0
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.1
dns-nameservers 1.1.1.1 8.8.8.8