19,612
社区成员
发帖
与我相关
我的任务
分享
写了一个自动搭建DNS服务器的脚本,老是报错,查了半天也没看出哪里错了,请大家帮忙看看错在哪里?
平台RHEL6.2
报错信息:
Starting named:
Error in named configuration:
zone localhost.localdomain/IN: loaded serial 0
zone localhost/IN: loaded serial 0
zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 0
zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
zone 0.in-addr.arpa/IN: loaded serial 0
dns_rdata_fromtext: example.com.zone:2: unexpected token
dns_master_load: example.com.zone:8: syntax error
dns_master_load: example.com.zone:8: isc_lex_gettoken() failed: unbalanced quotes
dns_master_load: example.com.zone:8: unbalanced quotes
zone example.com/IN: loading from master file example.com.zone failed: unexpected token
zone example.com/IN: not loaded due to errors.
_default/example.com/IN: unexpected token
zone 80.168.192.in-addr.arpa/IN: loaded serial 0
[FAILED]
脚步原文如下:
#!/bin/bash
# Just need to reset variable "MYIP" and "MYDOMAIN" to yourself.
MYIP="192.168.80.6"
MYDOMAIN="example.com"
#--------------------------------------
# Don't change anything in the below,
# unless you know what you are doing.
#--------------------------------------
# Install Packages.
#--------------------------------------
yum -y install bind bind-chroot
#--------------------------------------
# Modify "/etc/named.conf"
#--------------------------------------
sed -i 's/127.0.0.1;/any;/g' /etc/named.conf
sed -i 's/localhost;/any;/g' /etc/named.conf
#--------------------------------------
# Modify "/etc/named.rfc1912.zones"
#--------------------------------------
grep "$MYDOMAIN" /etc/named.rfc1912.zones > /dev/null
if [ $? -ne 0 ]; then
cat >> /etc/named.rfc1912.zones << _EOF_
zone "$MYDOMAIN" IN {
type master;
file "$MYDOMAIN.zone";
allow-update { none; };
};
zone "$(echo $MYIP | awk -F"." '{print $3"."$2"."$1}').in-addr.arpa" IN {
type master;
file "$(echo $MYIP | awk -F"." '{print $1"."$2"."$3}').zone";
allow-update { none; };
};
_EOF_
fi
#--------------------------------------
# Create forward and backward resolve file
#--------------------------------------
/bin/cp -p /var/named/named.localhost /var/named/"$MYDOMAIN".zone
/bin/cp -p /var/named/named.localhost /var/named/"$(echo $MYIP | awk -F"." '{print $1"."$2"."$3}')".zone
cat > /var/named/"$MYDOMAIN".zone << _EOF_
\$TTL 1D
@ IN SOA "$MYDOMAIN". rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS "$MYDOMAIN".
$MYDOMAIN. A $MYIP
www A $MYIP
ftp A $MYIP
$MYDOMAIN. MX 5 mail.$MYDOMAIN.
mail A $MYIP
_EOF_
cat > /var/named/"$(echo $MYIP | awk -F"." '{print $1"."$2"."$3}')".zone << _EOF_
\$TTL 1D
@ IN SOA $MYDOMAIN. rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS $MYDOMAIN.
76 PTR $MYDOMAIN.
76 PTR www.$MYDOMAIN.
76 PTR ftp.$MYDOMAIN.
76 PTR mail.$MYDOMAIN.
_EOF_
#--------------------------------------
# Modify "/etc/resolv.conf"
#--------------------------------------
cat > /etc/resolv.conf << _EOF_
search $MYDOMAIN
nameserver $MYIP
_EOF_
#--------------------------------------
# Restart DNS service
#--------------------------------------
/etc/init.d/named restart
[root@localhost named]# service named start
Starting named:
Error in named configuration:
zone localhost.localdomain/IN: loaded serial 0
zone localhost/IN: loaded serial 0
zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 0
zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
zone 0.in-addr.arpa/IN: loaded serial 0
zone localhost.localdomain/IN: loaded serial 0
zone localhost/IN: loaded serial 0
zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 0
zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
zone 0.in-addr.arpa/IN: loaded serial 0
my.internal.zone.db:1: no TTL specified; using SOA MINTTL instead
zone my.internal.zone/IN: loaded serial 1
zone my.ddns.internal.zone/IN: loading from master file dynamic/my.ddns.internal.zone.db failed: file not found
zone my.ddns.internal.zone/IN: not loaded due to errors.
internal/my.ddns.internal.zone/IN: file not found
test.com.zone:12: unknown RR type 'www'
test.com.zone:13: unknown RR type 'mail'
zone test.com/IN: loading from master file test.com.zone failed: unknown class/type
zone test.com/IN: not loaded due to errors.
internal/test.com/IN: unknown class/type
my.external.zone.db:1: no TTL specified; using SOA MINTTL instead
zone my.external.zone/IN: loaded serial 1
[FAILED]
帮我分一下什么问题,看不懂……
耶。搞定,修改一下反向解析文件就没问题了,结贴!
@ IN SOA $MYDOMAIN. rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS $MYDOMAIN.
$(echo $MYIP | awk -F"." '{print $4}') PTR $MYDOMAIN.
$(echo $MYIP | awk -F"." '{print $4}') PTR www.$MYDOMAIN.
$(echo $MYIP | awk -F"." '{print $4}') PTR ftp.$MYDOMAIN.
$(echo $MYIP | awk -F"." '{print $4}') PTR mail.$MYDOMAIN.