1. DNS
- 네트워크 통신 시에 기본은 IP주소를 사용하는 방식
- 익숙한 문자 형태의 주소 사용
- 호스트의 이름을 통해 호스트의 IP 주소 확인 가능
2. DNS 동작 방식
1) DNS 요청 및 응답
- 클라이언트에서 지정해둔 DNS 서버(/etc/resolv.conf)에 물어보고 알려주는 주소를 사용
- 모든 도메인 이름 정보를 한 서버에서 가지고 있는 것은 불가능하기 때문에 효율적인 작업을 위해 계층적인 구조 사용
2) DNS 계층 구조 및 동작 방식
- Root DNS서버는 다음 단계의 이름에 대한 답을 가지고 있는 서버의 정보 보유
예시: driver.google.com
1. /etc/hosts 파일 조회
2. /etc/resolv.conf 파일에 등록된 DNS 주소로 요청
3. 캐시서버 확인 (3번까지 수행했는데 존재하지 않다면 4번 진행)
4. Root DNS서버에서 top-level domain의 주소정보 관리 (xxx.com / xxx.co.kr / xxx.go.kr / xxx.uk / xxx.jp)
5. Root DNS server에서 xxx.com에 물어보고 google.com 도메인들을 관리하는 서버를 알려줌
6. Root DNS server에서 google.com DNS server에 물어보면 driver.google.com을 알려줌
7. 캐시서버에 기록
3) DNS 캐시
- 시스템이 기억하고 있는 이름과 IP 주소의 기록을 의미
- DNS는 레코드의 유효기한 (TTL; Time To Live)을 설정하여 이를 넘기기 전까지 해당 레코드 사용
- DNS 서버에도 존재
4) DNS 조회
# host 명령
host [option] <name> [server]
# nslookup
nslookup [option] [name] [server]
# dig
dig [@server] [option] [name]
3. DNS 서버 구성
1) bind 패키지 설치
yum install bind -y
2) 서비스 구성
가) 서비스 설정 파일
- /etc/named.conf 파일 수정해야함
- listen-on port 53 { 127.0.0.1 }: DNS 요청에 응답할 인터페이스와 포트 (IPv4)
- listen-on-v6 port 53 { ::1; }: DNS 요청에 응답할 인터페이스와 포트 (IPv6)
- allow-query { localhost; }: DNS 쿼리 요청을 허가할 대상
-> { any; }: 특정 대상 지정 하지 않음
-> { none; }: 차단
나) 정방향 조회 영역파일
- 영역 파일은 도메인 정보나 도메인 내 호스트 정보를 가지고 있으며 bind는 이 파일을 참고하여 DNS요청에 응답
- '도메인명.zone' 형태의 파일명 사용
- /var/named/ 디렉토리에 생성해야함
# 형식 복사
cd /var/named
cp named.empty data/kkk.co.kr.zone
다) 역방향 조회 영역파일
라) 파일 권한 확인 (/etc/named.conf 파일 수정)
3) 서비스 활성화
systemctl enable --now named
systemctl restart named.service
4) 방화벽 설정
firewall-cmd --add-service=dns --permanent
firewall-cmd --reload
# 작동확인 방법: 다른 호스트에서 구성한 호스트로 요청 확인
nslookup www.google.com 192.168.123.106
4. DNS 서버관리
- 영역 전송 (Zone Transfer): DNS 서버 간 동기화를 통해 레코드를 동일하게 유지하는 방식 -> 보안 상 등록된 DNS서버로만 전송허가
1) Master DNS 서버 설정
- /etc/named.conf의 zone영역에 Allow-transfer 항목 추가
2) Slave DNS 서버 설정
- Master DNS 서버로부터 zone의 레코드를 전송 받음
'MLOps > Linux' 카테고리의 다른 글
FreeIPA (0) | 2022.01.31 |
---|---|
DHCP 서버 (0) | 2022.01.30 |
SELinux (리눅스 보안) (0) | 2022.01.29 |
네트워크 티밍 (0) | 2022.01.29 |
방화벽 관리, 포트포워딩, 리치 규칙 (0) | 2022.01.28 |