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
Comments