====== 在 Alpine Linux 3 底下安裝 Bind 當 DNS ====== * 採用 PVE 內提供的 alpine-3.14 (2.5MB) 建立 CT * 預計安裝與配置: * CPU:1vcore / RAM:512MB / Root Disk:8GB * 啟動主機的 IP 網段 10.20.0.0/24 * 允許本機與 10.0.0.0/8 來源詢問任何 Domain Name * 上游 DNS : 1.1.1.1 ===== 安裝與設定 BIND ===== * 安裝 BIND apk add bind * 設定 /etc/bind/named.conf options { directory "/var/bind"; pid-file "/var/run/named/named.pid"; listen-on { 127.0.0.1; 10.20.0.0/24; }; allow-query { localhost; 0.0.0.0/0; }; recursion yes; max-cache-size 218M; allow-recursion { 127.0.0.1/32; 10.0.0.0/8; }; forwarders { 1.1.1.1; }; }; * 驗證設定是否沒問題 named-checkconf * 設定開機啟動與啟動 DNS 服務 rc-update add named rc-service named start * 啟動時如果出現以下的異常訊息 : Jul 8 07:47:30 ct-dns daemon.info named[537]: none:100: 'max-cache-size 90%' - setting to 173990MB (out of 193322MB) Jul 8 07:47:33 ct-dns daemon.err /etc/init.d/named[535]: start-stop-daemon: failed to start `/usr/sbin/named' Jul 8 07:47:33 ct-dns daemon.err /etc/init.d/named[397]: ERROR: named failed to start * 可以在 /etc/bind/named.conf 內強制設定 max-cache-size 來解決, Exp: : max-cache-size 218M; : ===== 增加查詢與運行的相關紀錄 ===== * 設定 /etc/bind/named.conf logging { channel default_file { file "/var/log/named/default.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel general_file { file "/var/log/named/general.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel database_file { file "/var/log/named/database.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel security_file { file "/var/log/named/security.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel config_file { file "/var/log/named/config.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel resolver_file { file "/var/log/named/resolver.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel xfer-in_file { file "/var/log/named/xfer-in.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel xfer-out_file { file "/var/log/named/xfer-out.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel notify_file { file "/var/log/named/notify.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel client_file { file "/var/log/named/client.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel unmatched_file { file "/var/log/named/unmatched.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel queries_file { file "/var/log/named/queries.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel network_file { file "/var/log/named/network.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel update_file { file "/var/log/named/update.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel dispatch_file { file "/var/log/named/dispatch.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel dnssec_file { file "/var/log/named/dnssec.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel lame-servers_file { file "/var/log/named/lame-servers.log" versions 3 size 5m; severity dynamic; print-time yes; }; category default { default_file; }; category general { general_file; }; category database { database_file; }; category security { security_file; }; category config { config_file; }; category resolver { resolver_file; }; category xfer-in { xfer-in_file; }; category xfer-out { xfer-out_file; }; category notify { notify_file; }; category client { client_file; }; category unmatched { unmatched_file; }; category queries { queries_file; }; category network { network_file; }; category update { update_file; }; category dispatch { dispatch_file; }; category dnssec { dnssec_file; }; category lame-servers { lame-servers_file; }; }; * 建立 named 的 log 路徑 mkdir /var/log/named chown -R named:named /var/log/named * 重新啟動 named rc-service named restart * 在 /var/log/named 內就可以看到產生上面定義的 log 檔案, 主要的查詢紀錄會出現在 /var/log/named/queries.log 內 ===== 參考網址 ===== * https://www.hiroom2.com/2017/08/22/alpinelinux-3-6-bind-en/ * https://www.linuxquestions.org/questions/linux-server-73/bind-dns-server-reports-wrong-memory-size-when-run-in-chroot-environment-4175616253/ * https://stackoverflow.com/questions/11153958/how-to-enable-named-bind-dns-full-logging {{tag>alpine bind named dns}}