2023. 10. 16. 13:42ㆍ리눅스/CentOS
DNS
- Domain Name Service or Domain Name System
- Internet에 존재하는 무수히 많은 서버들을 사람이 쉽게 기억하고
접근할 수 있도록 주소(FQDN)를 이용한 접근을 도와주는 서버
> 문자주소(FQDN) <-> IP address 상호 변환
- FQDN 일반적으로 말하는 도메인 주소
> 영문자 및 숫자를 사용한 이름으로 자원(서버)에 대한 접근이 가능
> host name과 domain name으로 구성되어 있다
(ex. www.google.com 이라는 주소에서 www는 host name, google.com은 domain name)
- DNS server가 FQDN을 IP address로 변경할 때 Domain Namespace를 바탕으로 하여
domain name을 사용하는 nameserver에서 FQDN에 대한 IP address를 받아온다
(= Domain Namespace에 등록된 서버에서 해당 FQDN에 대한 IP address를 알아온다)
- 정보
패키지 : bind-*
데몬 : named
방화벽 : port=53/tcp, service=dns
설정파일 : /etc/named.conf
Domain Namespace
- Internet에서 접근 가능한 모든 FQDN(문자 주소)이 tree 구조로 모여있는 범위
- 전반적으로 InterNIC에서 관리
> FQDN의 효율적인 관리를 위해 최상위에 root domain을 운용
root domain들은 top-level domain의 주소만 갖고 해당 주소를 제공
top-level domain들은 second-level domain의 주소만 갖고 해당 주소를 제공
second-level domain들은 자신이 갖고 있는 record를 확인하여 FQDN에 대한 IP address를 제공
- root domain
> InterNIC에서 관리하는 Domain Namespace의 최상위 서버
> 전 세계에 총 13개가 있으며 a ~ m까지의 이름을 붙여서 식별
> top-level domain들의 주소를 갖고 있다
(위임 처리가 되어 있어서 해당 nameserver의 주소를 알려준다)
- top-level domain
> FQDN의 마지막 단락
(ex. com, net, org, 등)
> 해당 이름으로 끝나는 second-level domain들의 주소를 갖고 있다
(위임 처리가 되어 있어서 해당 nameserver의 주소를 알려준다)
- second-level domain
> 일반적으로 각 회사에서 운영하는 nameserver
(ex. google.com, nate.com, 등)
> FQDN에서 host name을 record를 이용하여 특정 IP address에 맵핑
(host name + domain name 형식으로 FQDN을 식별, 해당 host name에 맵핑된 IP address를 안내)
DNS server의 역할
1. IP address와 FQDN을 상호 변환
- DNS 이름 풀이 ppt 파일 참조
2. nameserver 구성
- DNS server의 구성 요소를 설치하면 nameserver를 구성할 수 있는(=zone 영역을 만들 수 있는)
파일이 함께 설치, 해당 파일들의 내용을 작성하여 nameserver로 동작이 가능하다
- root domain, top-level domain, second-level domain은 전부 nameserver
Linux에 기본적으로 존재하는 DNS 관련 파일
1. /etc/hosts
- 내부에 FQDN과 IP address를 적어서
컴퓨터에 해당 FQDN이 입력되면 함께 작성된 IP address로 연결
- 파일 형식
<IP address> <FQDN> [<FQDN> ... <FQDN>]
2. /etc/resolv.conf
- IP 설정에 입력한 DNS(네임서버) 주소가 network 데몬이 실행될 때마다 작성되는 파일
- 컴퓨터가 입력된 FQDN에 대한 IP address를 모를 때, 이 파일의 내용에 따라 DNS server로 찾아간다
- 파일 형식
nameserver <DNS IP>
* nameserver 설정이 여러줄인 경우 상단에 작성된 주소부터 우선 순위가 부여된다
* 실제 Internet에서 사용 가능한 DNS server 주소
168.126.63.1 : KT DNS server
8.8.8.8 : Google DNS server
* zone 형식
zone "이름" IN {
options;
}
option 종류
type : 영역 종류
master : 주 영역
slave : 보조 영역
file : zone에 대한 세부 설정이 작성된 파일
경로를 생략하고 /var/named에 생성
*
TTL : 데이터의 유효기간
IN : 클래스 정보[하단에서는 위의 정보가 그대로 상속됨]
record : nameserver의 zone에서 쓰는 자원
SOA : 시작 및 인증
NS : nameserver 식별
A : host 레코드(IPv4)
AAAA : host 레코드(IPv6)
PTR : 역방향 레코드
host 레코드
host name에 특정 IP address를 맵핑
역방향 레코드
host ID에 특정 FQDN을 맵핑
* 에러 보는 법
systemctl status named | journalctl -xe
'/etc/hosts' 실습
DNS 설치
설정파일
네임서버 구성
실습
문제
<실습>
www.itbank.com 셋팅하기
* 스냅샷 되돌린 후 진행[domain이 바뀌게 되면 패키지를 제거해야 한다. 귀찮아서 스냅샷!]
* 최대한 기억에 의존
* 확인은 정방향+역방향 nslookup 조회 결과
각각의 영역에서 복사 붙여넣기 하면 쉬움
named.localhost 복사 붙여넣기 하면 쉬움
권한을 바꿔야 외부에서 조회 가능함
<실습>
어제 구성했던 www.itbank.com을 nslookup으로 다시 확인하면 안된다
이유를 확인하고 해결하기
* /etc/resolv.conf : 초기화됨[네트워크 데몬이 다시 동작되면 항상 초기화 됨]
named 데몬 : 다시 실행
'리눅스 > CentOS' 카테고리의 다른 글
DNS, httpd 결합 실습 (2) | 2023.10.16 |
---|---|
Web Server (0) | 2023.10.16 |
DHCP (0) | 2023.10.12 |
Samba (0) | 2023.10.12 |
autofs (0) | 2023.10.12 |