DNS서버를 BIND로 구축하고 underscore (‘_’)가 있는A 레코드를 추가 했을때 bad owner name (check-names)라고 나오는 경우가 있습니다.
이것은 특수문자인  ‘_’를 사용할수 없기 때문에 생기는 문제입니다.

[root@yongbok ~]# tail -n 50 /var/log/messages
yongbok named[95740]: starting BIND 9.9.0 -t /var/named -u bind
yongbok named[95740]: —————————————————-
yongbok named[95740]: BIND 9 is maintained by Internet Systems Consortium,
yongbok named[95740]: Inc. (ISC), a non-profit 501(c)(3) public-benefit
yongbok named[95740]: corporation. Support and training for BIND 9 are
yongbok named[95740]: available at https://www.isc.org/support
yongbok named[95740]: —————————————————-
yongbok named[95740]: command channel listening on 127.0.0.1#953
yongbok named[95740]: command channel listening on ::1#953
yongbok named[95740]: master/db-yongbok:50: hello_sydney.yongbok.net: bad owner name (check-names)
yongbok named[95740]: zone yongbok.net/IN: loading from master file master/db-yongbok failed: bad owner name (check-names)
yongbok named[95740]: master/db-yongbok:50: hello_sydney.ns.yongbok.net: bad owner name (check-names)
yongbok named[95740]: zone ns.yongbok.net/IN: loading from master file master/db-yongbok failed: bad owner name (check-names)
yongbok named[95740]: zone ns.yongbok.net/IN: not loaded due to errors.
yongbok named[95740]: all zones loaded
yongbok named[95740]: running

 

해결법은 named.conf의 옵션 부분에 아래와 같이 적어 주고 재시작 해보세요.

options {
directory “/etc/namedb”;
pid-file “/var/run/named/pid”;
dump-file “/var/dump/named_dump.db”;
statistics-file “/var/stats/named.stats”;
listen-on { any; };
version “NS.YONGBOK.NET”;
check-names master ignore;
allow-query { any; };
allow-transfer { 127.0.0.1; };
allow-recursion { 127.0.0.1; 1.1.1.0/24; };
};

참고
https://lists.isc.org/pipermail/bind-users/2008-February/069295.html