Bind

Centos:首次配置DNS伺服器時出錯,“options: command not found”

  • August 4, 2013

我正在從頭開始配置 DNS 伺服器,這是我第一次這樣做。我已經用來yum install -y bind bind-utils安裝所需的工具。/etc/sysconfig/named然後我使用以下選項進行編輯(這些是來自網際網路的範例選項):

# create new
options {
   directory "/var/named";
   allow-query { localhost; 10.1.2.0/24; };
   allow-transfer { localhost; 10.1.2.0/24; };
   recursion yes;
};
controls {
   inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
view "internal" {
   match-clients {
       localhost;
       10.1.2.0/24;
   };
   zone "." IN {
       type hint;
       file "named.ca";
   };
   zone "amadeus.netvision" IN {
       type master;
       file "amadeus.netvision.lan";
       allow-update { none; };
   };
   zone "2.1.10.in-addr.arpa" IN {
       type master;
       file "2.1.10.db";
       allow-update { none; };
   };
   zone "localdomain" IN {
       type master;
       file "localdomain.zone";
       allow-update { none; };
   };
   zone "localhost" IN {
       type master;
       file "localhost.zone";
       allow-update { none; };
   };
   zone "0.0.127.in-addr.arpa" IN {
       type master;
       file "named.local";
       allow-update { none; };
   };
   zone "255.in-addr.arpa" IN {
       type master;
       file "named.broadcast";
       allow-update { none; };
   };
   zone "0.in-addr.arpa" IN {
       type master;
       file "named.zero";
       allow-update { none; };
   };
};
view "external" {
   match-clients { any; };
   allow-query { any; };
   recursion no;
   zone "amadeus.netvision" IN {
       type master;
       file "amadeus.netvision.wan";
       allow-update { none; };
   };
};
include "/etc/rndc.key";

# allow-query ⇒ query range you permit
# allow-transfer ⇒ the range you permit to transfer zone info
# recursion ⇒ allow or not to search recursively
# view "internal" { *** }; ⇒ write for internal definition
# view "external" { *** }; ⇒ write for external definition
# For How to write for reverse resolving, Write network address reversely like below.
# 10.1.2.0/24
# network address ⇒ 10.1.2.0
# range of network ⇒ 10.1.2.0 - 10.0.0.255
# how to write ⇒ 0.0.10.in-addr.arpa
# 172.16.0.80/29
# network address ⇒ 172.16.0.80
# range of network ⇒ 172.16.0.80 - 172.16.0.87
# how to write ⇒ 80.0.16.172.in-addr.arpa

編輯文件後,我做了:service named restart並收到此警告/錯誤:

[root@srv ~]# service named restart
/etc/sysconfig/named: line 2: options: command not found
/etc/sysconfig/named: line 3: directory: command not found
/etc/sysconfig/named: line 4: syntax error near unexpected token `}'
/etc/sysconfig/named: line 4: `    allow-query { localhost; 10.1.2.0/24; };'
Stopping named: .                                          [  OK  ]
Starting named:                                            [  OK  ]
[root@srv ~]#

任何人都知道為什麼我會收到這些警告/錯誤?

您應該編輯的配置文件是/etc/named.conf/etc/bind9/named.conf,具體取決於發行版。

/etc/sysconfig/named文件是一個 shell 程式碼片段,/etc/init.d/named用於提供一些環境預設值。

檢查named.conf(5)手冊頁以供參考。

bind 的主要配置是 /etc/named.conf 而不是 /etc/sysconfig/named

# rpm -ql bind | grep named.conf
/etc/named.conf

/etc/sysconfig/named 用於 BIND 命名程序選項

引用自:https://serverfault.com/questions/528546