top of page
  • 작성자 사진김영찬

DNS Server 구축

Step1. 도메인 네임 서버 host에서 bind 패키지 설치 : default로 bind server가 설치 안되어 있다

  • rpm -qa 명령으로 설치된 패키지를 확인한다.

[root@tools ~]# rpm -qa | grep ^bind -- bind server가 설치되어 있지 않음

  • yum install 명령으로 bind 서버 패키지를 설치한다. [root@tools ~]# yum install bind bind x86_64 32:9.11.4-26.P2.el7_9.7 updates 2.3 M


  • rpm -qa 명령으로 설치된 패키지를 확인한다. [root@tools ~]# rpm -qa | grep ^bind -- ^는 시작을 bind로 하는 문장을 찾는다

Step2. bind 서버를 위한 방화벽 오픈

  • firewall-cmd 명령으로 방화벽에 허용할 포트와 서비스를 등록한다.

[root@tools ~]# firewall-cmd --permanent --add-port=53/tcp [root@tools ~]# firewall-cmd --permanent --add-port=53/udp [root@tools ~]# firewall-cmd --permanent --add-service=dns -- 서비스를 등록하면 개별 포트를 방화벽에 등록하지 않아도 된다. [root@tools ~]# firewall-cmd --reload

Step3. bind 서버 설정 파일 named.conf을 수정

  • /etc/named.conf 파일을 열어 아래 내용을 수정 혹은 확인한다.

[root@tools etc]# vi /etc/named.conf

// named.conf options { listen-on port 53 { any; }; -- default 127.0.0.1 listen-on-v6 port 53 { none; }; -- 사용하 않음 . . .

allow-query { any; }; -- default localhost

include "/etc/named.rfc1912.zones"; -- 도메인 설정 파일 위치 확인

Step4. 도메인 정보 설정 - 정방향(forward)과 역방향(reverse) 도메인 설정

  • 정방향 설정은 도메인에 대해서 IP를 설정, 역방향 설정은 IP에 대해서 도메인을 설정하는 것

  • named.conf에서 확인한 /etc/named.rfc1912.zones 에 아래 내용을 추가한다.

[root@tools ~]# vi /etc/named.rfc1912.zones

zone "futuresoft.co.kr" IN { -- 정방향 설정(futuresoft.co.kr 도메인) type master;

file "futuresoft.co.kr.zone"; -- /var/named 디렉토리에 생성되어야 함

allow-update { none; };

allow-transfer {none; };

};

zone "0.168.192.in-addr.arpa" IN { -- 역방향 설정(192.168.0.x 대역)

type master;

file "ipname.zone"; -- /var/named 디렉토리에 생성되어야 함

allow-update { none; };

allow-transfer { none; };

};

  • futuresoft.co.kr 도메인에 대한 정방향 zone 설정 파일을 수정한다

[root@tools ~]# vi /var/named/futuresoft.co.kr.zone $TTL 1D @ IN SOA futuresoft.co.kr. root ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum IN NS futuresoft.co.kr. -- 도메인명(맨끝에 '.' 주의), host명에 자동으로 붙음 IN A 192.168.0.159 -- 도메인 서버 IP 주소 cmhost IN A 192.168.0.151 -- host별 IP 주소(host명이 full 도메인 명이면 끝에 .를 추가, 아니면 자동으로 붙음) master1 IN A 192.168.0.152 master2 IN A 192.168.0.153 worker1 IN A 192.168.0.161 worker2 IN A 192.168.0.162 worker3 IN A 192.168.0.163 tools IN A 192.168.0.159

  • IP에 대한 역방향 zone 설정 파일을 수정한다

[root@tools ~]# vi /var/named/ipname.zone $TTL 1D @ IN SOA futuresoft.co.kr. root ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum IN NS futuresoft.co.kr. 151 IN PTR cmhost.futuresoft.co.kr. -- named.rfc1912.zones 에서 정의한 IP 대역의 IP에 대한 도메인명 152 IN PTR master1.futuresoft.co.kr. -- 호스트을 fullname으로 사용할때는 마지막에 '.'를 붙이는 것에 주의 153 IN PTR master2.futuresoft.co.kr. 161 IN PTR worker1.futuresoft.co.kr. 162 IN PTR worker2.futuresoft.co.kr. 163 IN PTR worker3.futuresoft.co.kr. 159 IN PTR tools.futuresoft.co.kr.

  • ZONE 파일을 최초 생성한 경우에는 소유권과 퍼미션을 설정해준다. [root@tools named]# chown root:named futuresoft.co.kr.zone [root@tools named]# chown root:named ipname.zone [root@tools named]# chmod 640 futuresoft.co.kr.zone ipname.zone

  • named-checkconf와 named-checkzone 명령으로 설정에 문제가 없는지 확인한다. [root@tools named]# named-checkconf /etc/named.conf [root@tools named]# named-checkzone futuresoft.co.kr /var/named/futuresoft.co.kr.zone [root@tools named]# named-checkzone 0.168.192.in-addr.arpa /var/named/ipname.zone

Step5. 도메인 네임 서버 재시작

  • systemctl 명령으로 named 서비스를 등록(부팅시 자동시작)하고, 재시작 한다.

[root@tools named]# systemctl restartenable named

[root@tools named]# systemctl restart named [root@tools named]# systemctl status named

  • 설정한 도메인을 nslookup 으로 확인해보면 의도한 대로 IP가 리턴되지 않는 것을 확인할 수 있다. [root@tools named]# nslookup tools.futuresoft.co.kr Server: 168.126.63.1 Address: 168.126.63.1#53 Non-authoritative answer: Name: tools.futuresoft.co.kr Address: 23.236.62.147

Step6. 모든 host에서 DNS 서버 설정을 새로 생성한 도메인 네임 서버로 설정(개별 host 별로 설정 필요)

  • /etc/resolv.conf 파일을 수정해서 서버에서 사용하는 DNS 서버를 지정한다. [root@tools named]# vi /etc/resolv.conf # Generated by NetworkManager search futuresoft.co.kr nameserver 192.168.0.159 -- 새로 구축한 name server를 맨 처음에 등록한다. nameserver 168.126.63.1 nameserver 168.126.63.2

  • resolv.conf의 내용은 부팅시 NetworkManager에 의해서 자동으로 리셋되며 이를 방지하기 위한 설정이 필요하다.(아래)

  • resolv.conf 를 수정한 후에는 nslookup으로 설정한 IP가 리턴되는 것을 확인한다.

[root@tools named]# nslookup tools.futuresoft.co.kr Server: 192.168.0.159 Address: 192.168.0.169#53

Name: tools.futuresoft.co.kr Address: 192.168.0.159

  • NetworkManager가 부팅시 자동으로 DNS 정보를 등록하도록 설정 파일 수정

  • /etc/sysconfig/network-scripts/ 디렉토리에 존재하며, "ifcfg-" 뒤에 네트워크 장치명을 포함한 파일(host별로 다름) [root@worker2 network-scripts]# cd /etc/sysconfig/network-scripts/ [root@worker2 network-scripts]# ls ifcfg-enp3s0 ifdown-ib ifdown-sit ifup-eth ifup-post network-functions . . .

  • [root@tools named]# vi ifcfg-enp3s0

수정전 ==> DNS1=168.126.63.1 DNS2=168.126.63.2

=> 수정후 DNS1=192.168.0.169 DNS2=168.126.63.1 DNS3=168.126.63.2

  • 스크립트 수정 후 NetworkManager 서비스를 재시작하고 /etc/resolv.conf 파일을 확인한다. [root@worker2 network-scripts]# systemctl restart network [root@worker2 network-scripts]# cat /etc/resolv.conf -- NetworkManager가 자동으로 resolv.conf 파일에 등록

# Generated by NetworkManager search futuresoft.co.kr nameserver 192.168.0.169 nameserver 168.126.63.1 nameserver 168.126.63.2

조회수 13회댓글 0개

최근 게시물

전체 보기
bottom of page