proxmox で DNSサーバを作る
linuxディストリビューション はalpine 、DNSサーバ は NSD とします。
個人用メモです。 迷ったところを メモしています。
から
VIRTUAL タイプの X86_64 の ISO を ダウンロードします。
執筆時点では 3.19.1 が 最新のようです。
proxmoz の local に isoファイルを アップロード しました。
このURL を 指定して 直接 ダウンロード することもできます。
新しいVM を 作ります。
1core 2GB-ram 32GBストレージ で 用意しました。
ネットワークは ブリッジです。
vmを 起動すると シェルが起動するので
setup-alpine コマンドを 実行します。
キーボードレイアウト は us/us を 選択
インストール先は sda 、 タイプは sys を選択
ローカルユーザ を つくります。
ssh-server を 作ります。
ネットワークは 固定IP にしました。
すすめていくと インストールが 終了して reboot して インストールは完了です。
ssh user@固定IP して ログインできることを 確認
su コマンドで ルートに なれることを 確認
apk add nsd
して NSDを インストール
むかし ubuntu で 作った DNSサーバから 設定ファイルを コピー
/etc/init.d/nsd start
で 起動できます。
rc-update add nsd
このコマンドで 再起動後に 自動起動します。
NSD の 設定は 先人の 記事を 参考にしてください。
この記事で でてくる drill コマンドは インストールされてないので
apk add drill
します。
コンテンツDNSサーバの ポート番号を 8053 で 起動しているので
-p オプションで ポート番号を 指定して 設定を 確認します。
drill -p 8053 example.com @127.0.0.1
ポートフォワードで インターネットからの 問い合わに回答できるようにします。
ルータの 設定で NAPTの設定を 変更方法は YAMAHA の ルータの場合
nat descriptor masquerade static 108 2001 固定IP tcp domain=8053
nat descriptor masquerade static 108 2002 固定IP udp domain=8053
って 感じです。
セカンダリDNS を もう一台の proxmox で つくります。
おや? セカンダリを 起動したら エラーした
May 3 20:00:54 verdy daemon.notice nsd[2510]: nsd starting (NSD 4.7.0)
May 3 20:00:54 verdy daemon.err nsd[2510]: error for cert file: /etc/nsd/nsd_server.pem
May 3 20:00:54 verdy daemon.err nsd[2510]: error in SSL_CTX use_certificate_chain_file crypto error:80000002:system library::No such file or directory
May 3 20:00:54 verdy daemon.err nsd[2510]: and additionally crypto error:10080002:BIO routines::system lib
May 3 20:00:54 verdy daemon.err nsd[2510]: and additionally crypto error:0A080002:SSL routines::system lib
May 3 20:00:54 verdy daemon.err nsd[2510]: could not setup remote control TLS context
May 3 20:00:54 verdy daemon.err nsd[2510]: could not perform remote control setup
nsd-control-setup コマンドで 証明書を つくるようです。
前のサーバでは これで うごいてたのにな
バージョンアップして それで 設定ファイルが 増えたのかな。
nsd-control-setup
したあとに 起動したら うまく いったようです。
ゾーンの 転送も うまくいったことを ログで 確認しました。
プライマリで zone ファイルを 修正したあとは次のコマンドを 実行します。
nsd-control reload
すると ゾーンファイルが 読み込まれて 転送されます。
転送されたことは セカンダリ側で ログを 確認するか ゾーンファイルを 出力して 確認する。
tail /var/log/messages
SOA が 更新されていることが ログで 見つけられます。
nsd-control write
ゾーンファイルとして ただしく 転送されていることが 確認できました。