ホーム » 「DNS」タグがついた投稿
タグアーカイブ: DNS
raspberry-pi5 の導入
ReadyNAS に debian/forky をインストールし、DHCP, DNS の多重化を行ったが、お下がりの機器だったので HDD のエラーが発生したり、異音がして OS が気絶したりと、安定運用とはできなかった。
しかたがないので、Raspberry-Pi5 で運用することにした。
標準の debian/trixie 64bit でインストールしてひとまず運用の確認をして、早々に debian/forky にアップグレードとした。
bsdextrautils のパッケージインストールで、他のパッケージとの重複で上書きが発生するとのことで、アップグレードに失敗した。しかたがないので、問題のないパッケージをすべてアップグレードを終わらせてから、force-overwrite オプションで無理やりアップグレードを終わらせて、無事 debian/forky に移行を終えることができた。
最終目標は、raspberry-pi3 で動いている TV, CATVSTB など入力切替などで運用している機能を移行させたい。
readynas の運用開始と DNS,DHCPの多重運用
NETGEAR の ReadyNAS Pro 2 を入手。readynas の 正規 OS は、バージョンが古く debian ベースの でも samba などが古いプロトコルしか使えないので、便利な使い方ができない。
このため、Serial ポートを使って debian/forky をインストール。
サーバを運用していると、ネットワークの設定を間違って DNS, DHCP を止めてしまうと、自宅ネットワークが全滅する。 Raspberry-Pi で DNS セカンダリサーバなどを動かしていたけど、この readynas のサーバで多重サーバ構成にしたい。
DNS のキャッシュサーバ運用
まずは、DNS (bind9)のセカンダリ運用。
((( /etc/bind/named.conf.local )))
zone "tsaitoh.net" {
type slave ;
file "db.tsaitoh.net.slave";
masters {
192.168.xx.yy;
};
};
((( /etc/bind/named.conf.options )))
acl internal-network {
::1;
127.0.0.1;
192.168.xx.0/24;
};
options {
directory "/var/cache/bind";
forwarders { 192.168.xx.yy; };
allow-query { internal-network; };
allow-recursion { internal-network; };
dnssec-validation auto;
listen-on { any; };
allow-transfer { none; };
};
DHCP のホットスタンバイ運用
続いて、DHCP の多重化。最近まで isc-dhcp-server を使っていたけど、kea-dhcp4-server に切り替えていたが、kea-dhcp4-server では、hot-standby 構成を組めるので、設定。2台の DHCP サーバは、8000 ポートで相互に死活状態を確認し、相手が機能していないと、自身が DHCP 処理を行う。
((( /etc/kea/kea-dhcp4.conf )))
"hooks-libraries": [
{
"library": "/usr/lib/x86_64-linux-gnu/kea/hooks/libdhcp_lease_cmds.so",
"parameters": { }
},
{
"library": "/usr/lib/x86_64-linux-gnu/kea/hooks/libdhcp_ha.so",
"parameters": {
"high-availability": [ {
"this-server-name": "プライマリホスト名", // セカンダリの設定ではセカンダリホスト名を記入
"mode": "hot-standby",
"heartbeat-delay": 1000,
"max-response-delay": 10000,
"max-unacked-clientsets": 5,
"peers": [
{
"name": "プライマリホスト名",
"url": "http://192.168.xx.yy:8000",
"role": "primary"
},
{
"name": "セカンダリホスト名",
"url": "http://192.168.xx.zz:8000",
"role": "standby"
}
]
} ]
}
},
],
これで、メインサーバにトラブルがあっても、自宅内ネットワーク全滅は避けられる。
DNSのルートサーバ問題?
自宅では、自宅内だけの DNS を実現するために、DNSサーバ bind を動かしているけど、ブラウザで作業中にたまに DNS によるエラーでページが表示されない。
もしかして、変なところからの攻撃を防ぐために 国別のIPアドレス情報(GEOIP)を元に、接続拒否をしているのが原因かもしれない。確認を行うと、DNS ルートサーバの 中に、スウェーデン(SE)とオランダ(NL) が含まれていて、オランダが拒否リストに入ってた。
ということで、i.root-server.net(SE) , k.root-server.net(NL) を個別に許可リストに加える。
((2022-04-06))
再起動すると、ferm が動いていないのか iptables が未設定の状態になっている。確認をすると、OS起動時のエラーの中に、i-root-server.net の名前解決に失敗して、firewall 設定が途中で止まっている。DNS の設定が動いていない前段階で ferm を動かす順序なのでしかたがない。
ということで、許可リストの設定ファイルで、i.root-server.net などは IPアドレス記載に変更した。
丹南ケーブルの新DNS
丹南ケーブルさんから、ネットワークの安定対策でDNSサーバの更新と、古いDNSを2018/01/16に停止するとの書類が送付されてきた。
- 202.127.80.1 プライマリ # 2018/01/16に停止予定 - 202.127.80.2 セカンダリ # 2018/01/16に停止予定 + 202.127.80.3 プライマリ + 202.88.193.82 セカンダリ
停止するDNSサーバは、IPアドレスが連番で、DNS 所属する上流ネットワークで機器トラブルが発生したら、サービス全体に影響してしまう。このため、セカンダリは別ネットワークに構成するのが定番なので、そういった対策なんだろう。
ただ、最近は DNS に、Google の 8.8.8.8 を指定するのがデフォルトな環境も増えている。んで、我が家は先日、Cisco の OpenDNS に切り替えているので、特に影響はない。
トラブル時の DNS 設定を探すために、/etc/bind/named.conf.options の fowardars 欄に、コメントで情報書き込んでおいた。

