LAN内のラズパイ、ルータ、プリンタ、アクセスポイントなど、ホスト名でアクセスできるように 内部DNSにしてみた。以前行ったbind9の設定の仕方を思い出しながら、うまくいかなかったところは、chatGPTの助けも借りながら、なんとか完了。
・ルータは静的ルーティング設定で、自分のドメインのものはすべて、ルータに行くように設定。LAN側サーバアドレスをラズパイにして、ラズパイにbind9を入れます。
・ufwで、tcp,udpでローカル内からの53番ポートのアクセスを許可します。
・各種設定はネット上の情報を参照して行った。 host コマンドで最後に確認。
※今回、/etc/resolv.conf に問題があることがchatGPTから指摘受ける。どうやらnetworkManagerから生成されたものが、ルーターに行くようになっていて、raspi(127.0.0.1)が使われてないことがわかる。ただ、/etc/resolv.conf は 直接編集できず、
nmcli connection showでeth0でいいか確認して、
sudo nmcli connection modify "eth0" \
ipv4.ignore-auto-dns yes \
ipv4.dns 127.0.0.1 \
ipv6.ignore-auto-dns yes \
ipv6.dns ::1
これを反映
sudo nmcli connection down "eth0"
sudo nmcli connection up "eth0"
確認するとcat /etc/resolv.confー>nameserver 127.0.0.1
まだ、よくわからないところもあるが、とりあえず、指定したホスト名で内部はアクセスできるようになった。
※さらに、これだけではよくないらしくnamed.conf.optionsに追加して
options {
directory "/var/cache/bind";
recursion yes; clientが「全部教えて」>BINDは、自分の zone を探し、なければ、無ければ 権威DNS …を 最後まで代行して答える。これが無いと「権威サーバーに聞いてね」で終わる。
allow-recursion { localnets; localhost; };再帰を 誰に許すか。localnets とは?BINDが認識している 直結ネットワーク
allow-query { localnets; localhost; };DNS問い合わせそのものを誰に許すか。LAN内 → 正引き・逆引きともにOK 外部 → そもそも答えない 内部専用DNSなら 必須
# 外向きは forwarder に任せる(安定)
forwarders {
1.1.1.1;
8.8.8.8;
};
dnssec-validation auto;
listen-on { 127.0.0.1; 192.168.1.0/24; };BINDが どのIPアドレスで待ち受けるか。
挙動 127.0.0.1 → 自分自身
192.168.1.x → LANからのDNS
書かないと? デフォルトで 全インターフェース IPv6含めて全部待ち受けることも
不要な露出を防ぐため明示推奨
};
0 件のコメント:
コメントを投稿