본문 바로가기
정보보안/이론

[KITRI] Day18. master, slave 복습

by 민-Zero 2020. 5. 19.

이번에는 centos8mastercentos5slave로 설정하자

 

이때 named.conf zone 설정이 들어가게 되는데 일일이 작성하여도 되지만 include구문을 통해 내용을 직접 작성하지 않고 이미 작성된 내용을 원하는 파일에 적용시킬 수 있다.

named.rfc1912.zones 파일이나 root.hints 파일을 보게 되면 zone 설정이 되어있다. 만약 원하는 설정이 해당 파일 안에 있다면 직접 zone 설정을 수행하지 않고 include file;로 대체하면 해당 파일에 존재하는 zone 설정이 적용되게 된다.

named.conf 설정을 완료하면 dig명령어를 통해 named.cache를 생성하자.

/var/namednamed.ca라는 캐시 파일이 미리 존재하는데 안에 들어가보면 dig명령어의 결과임을 알 수 있다. 따라서 새로 갱신시키기 위해 dig @168.126.63.1 . ns > named.cache 명령어를 수행하여 최신정보로 갱신하고 named.ca는 제거해도 된다.

설정한 zone파일까지 생성을 완료하면 기본적인 마스터 서버로의 설정이 완료된다.

 

resolv.conf nameserver127.0.0.1로 변경해도 7버전 이후부터는 systemctl restart NetworkManager.service 를 수행하면 자동으로 resolv.conf의 내용이 변경되는 것을 확인할 수 있다. 이는 networkmanager가 서비스가 재시작되면 ifcfg 파일에 설정되어 있는 값을 참조해서 설정하기 때문에 그렇다.

따라서 /etc/sysconfig/network-scripts/ifcfg-en~ DNS1에 설정되어있는 168.126.63.1127.0.0.1로 변경하면 된다.

firewall-cmd --add-port=53/udp, tcp 방화벽 설정까지 완료하면 윈도우에서도 조회가 가능하다. 이때 --permanent 옵션을 추가하면 방화벽 설정을 영구적용할 수 있다.

또한 standalone 타입인 named 도 자동시작시키기 위해 systemctl enable/diable named.service 를 통해 자동시작에 등록하면 된다.

 

이번에는 slavecentos 5로 생성하자.

5named.confbind 패키지를 설치해도 같이 다운이 안되므로 sample파일을 가져와 사용하면 된다. rpm -ql bind | grep /etc 로 샘플위치 확인후 복사해 가져오면 된다.

include를 사용하여 간단하게 named.conf 파일을 설정완료하자.

이때 include한 최상위 도메인에 대한 힌트파일의 이름이 named.root로 설정되어 있으므로 해당 파일의 이름을 named.root로 생성하거나 해당 파일의 파일이름을 변경하여 생성해야 한다.

이전에 수행한 설정과 같이 하기 위해 named.root.hints 파일을 수정하여 named.cache로 설정하고

dig @168.126.63.1 . ns +tcp > /var/named/named.cache 를 사용하여 생성했다.

방화벽설정 까지 완료되었으면

zone 파일을 정상적으로 마스터에서 가져오는지와 nslookup으로 검색 되는지 확인하면 된다.

 

완료되었으면 chkconfig named on 으로 항상 네임 서버가 구동되도록 설정하면 재부팅시에도 네임 서버가 항상 자동으로 구동되게 된다.

setup 명령어를 통해 통합 설정 으로 들어가 방화벽도 영구적으로 열리도록 설정하거나

system-config-securitylevel-tui 로 한번에 들어가서 설정하면된다. 그외의 포트에 53:udp으로 설정하고 나가면 된다.

 

일련의 명령어를 사용할때 locahost라는 이름을 통해 자기자신 127.0.0.1을 수행하기도 한다. 이것또한 일종의 도메인 네임으로 해당 이름이 127.0.0.1을 가리키도록 하여야 하므로 NS에 도메인으로 등록을 해주어야 사용할 수 있다.

따라서 named.conf 에 ZONE 설정을 수행하고 zone파일을 생성해 사용하면 localhost라는 이름이 127.0.0.1을 가리키게된다.

touch 명령어를 통해 /var/namedlocalhost.zone을 생성하면 된다.

해당 파일에 전부 1로 해도 상관없다. 이뉴는 localhost는 자체가 마스터로 slave가 없이 동작하기 때문에 필요없다

만약 include "/etc/named.rfc1912.zones"; 를 통해 rfc1912 파일을 include 했다면 해당 파일안에 localhost에 관련된 설정이 포함되어 있으므로 위의 설정을 따로 작성하지 않아도 된다.

 

localhost 의 존파일들은 named.rfc1912.zones를 확인해보면

이와 같은 파일들이 file 설정에 포함되어 있다. 따라서 해당 파일들을 /var/named에 복사해야 정상적으로 서비스를 구동할 수 있다.

많은 수의 파일을 복사해야 하므로 파이썬 형식의 반복문을 통해 한번에 복사하였다. 그럼 localhost의 설정까지 완료된다.

설정을 완료하면 127.0.0.1이라는 ip번호 뿐만아니라 localhost라는 이름으로도 명령을 수행할 수 있게 된다.

댓글