背景
前情報などはこちらを参照してください。
概要
proxmox VE 8.3 のLXCコンテナ上に、ローカル用DNSサーバーとして dnsmasq を立てます。
コンテナに割り振っているIPは 192.168.1.3 とします。
コンテナのテンプレートは「rockylinux-9-default_20240912_amd64」
メモリは256MB、プロセッサは一応2コア与えています。
インストール
[root@dns ~]# yum install -y dnsmasq
dnsmasqの設定
以下に、私の環境での設定例を記載しておきますので参考にしてください。
[root@dns ~]# vim /etc/dnsmasq.conf
################################
# 共通設定
################################
# 特定のインターフェースにのみバインドする
bind-interfaces
# 使用するインターフェースを指定
interface=eth0
# DNSサーバのIPアドレス
listen-address=192.168.1.3
# Dnsmasqがlistenするポート
port=53
################################
# DNSサーバの設定
################################
# プライベートIPアドレスの逆引き設定
#bogus-nxdomain=10.0.0.0/8
# dnsmasqでキャッシュするレコード数
# 0にするとキャッシュしない
cache-size=0
# 名前解決の設定(外部ファイルを読み込む)
conf-file=/etc/dnsmasq.d/addresses.conf
# サーバ上の/etc/hostsで名前解決をさせない
no-hosts
# hostsファイルのピリオドがないホスト名にドメイン名を付加する
# 付加するドメイン名は domain= で指定すること
expand-hosts
# expand-hostsオプションが有効な場合、DNS名前解決に指定されたドメイン名を付加す>る
# expand-hostsオプションにかかわらず、DHCP応答にドメイン名を付加する
domain=local
# DNSSECバリデーションを有効化
#dnssec
# DNSクエリに対してのログを出力する
# log-querie
# ログの出力場所
# log-facility=/var/log/dnsmasq/dnsmasq.log
################################
# 上位DNSサーバの設定
################################
# 上位DNSサーバーを指定する
# server オプションを有効にしてもリゾルバ定義ファイルの読み込みは行われる
# リゾルバ定義ファイルの読み込みを抑制する場合、no-resolvオプションを有効にする>こと
no-resolv
server=1.1.1.1
server=8.8.8.8
################################
# DHCPサーバの設定
################################
# DHCPを無効化するインターフェースを指定
no-dhcp-interface=eth0
名前解決の設定
以下のようなフォーマットで名前とアドレスを記入します。
[root@dns ~]# vim /etc/dnsmasq.d/addresses.conf
address=/mcs2.local/192.168.1.2
address=/dns.local/192.168.1.3
自動起動の構成と起動
[root@dns ~]# systemctl enable dnsmasq
[root@dns ~]# systemctl start dnsmasq
確認
アクセスする側でDNSサーバーを立てたものに設定し、名前でアクセスできればOKです。