0

I'm configuring a DNS server from scratch and it's the first time i'm doing it. I've used yum install -y bind bind-utils in order to installe the required tools. I then edited /etc/sysconfig/named with the following options (which are example options from the internet):

# 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

After editing the file I did: service named restart and got this warning/error:

[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 ~]#

Anyone knows why I get these warnings/errors?

Itai Ganot
  • 10,644
  • 29
  • 93
  • 146

2 Answers2

1

The configuration file you should be editing is /etc/named.conf or /etc/bind9/named.conf, depending on the distribution.

The /etc/sysconfig/named file is a shell code snippet sourced from /etc/init.d/named to provide some environmental defaults.

Check the named.conf(5) manpage for reference.

dawud
  • 15,096
  • 3
  • 42
  • 61
0

The main configuration of bind is /etc/named.conf and not /etc/sysconfig/named

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

/etc/sysconfig/named is used for BIND named process options

ALex_hha
  • 7,193
  • 1
  • 25
  • 40