23일차는
- DNS 서버 구축에 대해 학습하였다.
1. DNS 서버
(1) 호스트 이름 변경 (가상화 PC 2개)
- hostnamectl set-hostname : 호스트 네임 설정
- PC1은 server로, PC2는 dns로 설정
- /etc/hostname 이라는 파일에 기록이 됨
- bash : 설정 리로드
- 우분투에게 ip 주소와 이름을 연동시키기 → ssh 접속 시 이름 사용 가능

(2) 정방향 : 도메인 → ip
- DNS는 이정표같은 역할
- 4개의 서버의 존재
- 캐시 기능 : 한 번 요청이 일어나게 되면 다음에 요청할 것을 대비하여 ip주소를 임시로 기억
- 도메인 → ip 주소를 획득하는 도구 (3가지)
- host www.google.com 또는 host -a www.google.com
- nslookup www.google.com
- dig www.google.com
- 수동으로 DNS 서버를 지정할 시, 레코드 파일 작성 필요
- yum install bind : DNS 수동 설정을 위한 패키지 설치
- yum install bind-utils : 도메인→ip주소를 획득하는 것을 확인하기 위한 패키지
- /etc/named.conf : DNS 설정 파일 → 53번 포트를 사용해서 DNS 서버와 통신
- 127.0.0.1 → any로 변경 : 다른 DNS 서버를 기다리기
- allow-query { localhost; } → any로 변경 : 다른 DNS 서버에서 요청받기

- systemctl start named : DNS 사용을 위한 서비스 실행
- DNS 방화벽 허용
- firewall-cmd --add-service=dns --permanent
- firewall-cmd --reload
- nslookup www.google.com 192.168.56.101 : DNS 서버를 101로 임시 지정
- DNS 서버를 사용하기 위한 레코드 파일 작성 (Zone file, 영역 파일)
- /var/named 디렉토리에 파일을 생성해 주어야 함
- .zone 파일로 만들어줘 함
- 기본 형식의 파일을 복서해서 안의 내부를 변경해야함 (vim생성 X)
- /var/named/named.empty 파일의 양식을 사용
- $TTL 3H : TTL 시간이 3시간임을 의미
- @ : 서비스할 도메인의 이름, 파일의 시작을 의미
- IN : 인터넷 서비스 사용
- SOA : DNS 서버에 권한 행사
- rname.invalid. : 변경 예정 - DNS의 도메인 이름
- 1D ; refresh : 요청할 주소가 변경되었는지 1차 DNS 서버가 2차 DNS 서버에게 확인하여 적용하는 주기
- 1H ; retry : 1차 DNS 서버와 2차 DNS 서버가 연결되지 않을 경우 재시도 하는 주기
- 1W ; expire : 1차 네임서버가 연결이 되지 않을 경우 연결을 끊는 기간
- 3H ) ; minimum : ip 주소를 기억하는 시간 (캐싱)

- hostnamectl set-hostname ns.test.com : DNS 서버 PC 호스트 네임 변경
- cp /var/named/named.empty /var/named/data/test.com.zone : 파일 복사
- test.com.zone 파일 수정 (정방향 파일)

- 만든 파일을 시스템이 등록해줘야 DNS 서버 연결 가능 → /etc/named.rfc1912.zones → 제일 아래에 내용 추가

- named-checkzone test.com
/var/named/data/test.com.zone : 파일의 문법 검사
- named-checkconf /etc/named.conf : 설정 파일 유효성검사
[root@server ~]
[root@server ~]
[root@server ~]
-rw-rw----. 1 root named 199 5월 12 13:36 /var/named/data/test.com.zone
- systemctl restart named : 재시작
- /etc/resolv.conf 내용 수정 > nameserver 192.168.56.101 만 등록되게
[root@server ~]
Server: 192.168.56.101
Address: 192.168.56.101
Non-authoritative answer:
Name: www.google.com
Address: 142.250.206.196
Name: www.google.com
Address: 2404:6800:400a:813::2004
(3) 역방향 : ip → 도메인
- .arpa는 역방향 서버를 뜻함
- cp /var/named/named.empty /var/named/data/db.56.168.192 : 역방향 파일 생성
- db.56.168.192 파일 수정

- /etc/named.rfc1912.zones → 제일 아래에 내용 추가

[root@server ~]
zone test.com/IN: NS 'ns.test.com' has no address records (A or AAAA)
zone test.com/IN: not loaded due to errors.
[root@server ~]
- 역방향 파일의 소유권과 권한을 변경 → 재시작
- nslookup 8.8.8.8 → 역방향 DNS 조회
(4) DNS 서버 이중화
- 다운의 가능성이 있음
- 연동 Master → Slave : 백업의 목적
- slave DNS 만들기
- /etc/named.rfc1912.zones > allow-update 내용 추가

- Master DNS에 내용 추가

- systemctl restart named : 서비스 재시작 (양측 다)
- /var/named/slaves/test.com.zone : 해당 디렉토리에 해당 파일이 있으면 연동 된 것 → 파일을 지워도 서비스를 재시작하면 다시 생성된다.