Study. DNS 서버
DNS 서버의 개념
📌 Domain Name System 서버, URL을 해당 컴퓨터의 IP주소로 변환시키는 역할
📌 '이름 해석'을 전문적으로 해주는 서버 컴퓨터를 네임 서버 또는 DNS 서버라고 함
/etc/hosts 파일 설정과 네임 서버 설정
📌 nslookup ➤ PC가 사용하는 네임 서버의 IP 정보 확인
📌 /etc/resolv.conf 파일 ➤ 네임서버의 정보 및 호스트 이름이 들어있는 파일로 사용하고자 하는 네임서버를 지정하는 파일
📌 /etc/hosts 파일 ➤ 도메인의 IP를 찾을 때 컴퓨터가 맨 처음 조사하는 파일(DNS 파일)
- hostname파일에서 호스트 이름을 바꾸면 hosts 파일에서도 호스트 이름을 변경하여 localhost로 연결되도록 해야 함
📌 IP 주소를 얻는 내부 흐름도
📌 /etc/hosts.conf 파일 ➤ 어떤 특정 도메인에 대해 IP주소 값을 찾을 때, 그 주소 값을 어디에서 찾을 것인지를 결정하는 파일
캐싱 전용 네임 서버 구축
📌 apt-get -y install bind9 bind9utils ➤ 네임 서버와 관련된 패키지 설치
📌 /etc/bind/named.conf.options 파일 ➤ named.conf의 환경설정을 할 수 있는 파일
1) recursion yes; ➤ 기본값은 yes이며 재귀 query를 활성화. 네임 서버를 계속 질의할 건지 yes, no 하는 항목
2) allow-query { any; }; ➤ 네임 서버는 하나의 네임 서버만 있는 것이 아니고 하나의 DNS 서버에는 여러 개의 네임 서버를 가져올 수 있는데 이때, 네임 서버가 여러 개 추가되는 것을 허용할 것인지
📌 systemctl restart/enable/status bind9
1) systemctl restart bind9 ➤ 서비스 재시작
2) systemctl enable bind9 ➤ 부팅 시 서비스 자동 시작
3) systemctl status bind9 ➤ 서비스 상태 확인
📌 ufw allow 53 ➤ 네임 서버 포트인 53번 허용
📌 dig @네임서버IP 조회할URL ➤ 네임 서버가 잘 작동하는지 테스트
1) dig ➤ Domain Information Groper의 약자, 네임 서버로부터 정보를 가져올 수 있는 툴로 네임 서버의 정보를 확인하는 명령어
📌 apt-get -y install elinks ➤ elinks 패키지 설치
1) elinks ➤ 유닉스 기반 운영체제를 위한 텍스트 기반 콘솔 웹 브라우저
📌 ipconfig ➤ 컴퓨터의 네트워크 환경(IP정보)을 확인할 수 있음
📌 netsh interface ip set dns 네트워크장치이름 dhcp ➤ 자동으로 DNS 서버를 사용하도록 설정
마스터 네임 서버
📌 마스터 네임 서버 ➤ john.com과 같은 도메인에 속해 있는 컴퓨터들의 이름을 관리하고, 외부에서 www.john.com이나 ftp.john.com 등의 컴퓨터 IP 주소를 알기 원할 때 해당 컴퓨터의 IP 주소를 알려주는 네임 서버
📌 마스터 네임 서버 구성도
FTP 서버
📌 FTP 서버
1) FTP ➤ File Transfer Protocol의 약자, TCP/IP 네트워크 간의 파일 받기와 보내기 작업을 하는 서버
마스터 네임 서버 설치 및 운영
📌 ufw allow 80 ➤ 웹 서버 포트인 80 허용
📌 ufw allow 21 ➤ FTP 서비스의 방화벽인 21 허용
[1] join.com 도메인 설정
📌 /etc/bind/named.conf ➤ 네임 서버 설정 파일(대소문자 구분O)
📌 named-checkconf ➤ 입력한 내용이 문법상 오류가 없는지 확인
📌 OOO.OOO.db 파일(zone 파일)
1) $TTL ➤ Time To Live의 약자, 패킷이 라이터에서 폐기되기 전에 네트워크 내에 존재하도록 설정한 시간으로 설정값은 초단위로 함(86400초 = 24시간 = 하루)
2) 3H ➤ 3시간
3) @ ➤ ORIGIN을 의미하는 특수문자로 public domain을 말함. named.conf 파일에 정의된 도메인 명을 의미(도메인 명으로 적어도 무방함)/ 여기서는 john.com을 의미하기 때문에 john.com으로 고쳐써도 무방함
4) SOA ➤ Start Of Authority(권한의 시작)의 약자, 도메인네임서버에 대한 모든 정보를 가지고 있음
5) 2 1D 1H 1W 1H
2 ➤ (serial) zone파일의 버전 정보를 의미하며, zone파일을 수정하거나 생성한 날을 숫자로 설정
1D ➤ (refresh) 상위네임서버에 갱신된 정보를 확인하기 위해 주기적으로 체크하는 시간을 초로 설정(D=Day)
1H ➤ (retry) 상위네임서버에 문제가 생겼을 때 재접속 간격(H=Hour)
1W ➤ (expire) 상위네임서버에 접속하지 못할 경우 이전의 정보를 파기하는 간격, 상위네임서버의 정(W=Week)
6) IN ➤ IN 다음으로 나오는 설정을 사용하겠다는 클래스 이름이고 internet을 의미함
- 형식 ➤ [도메인] 탭 [IN] 탭 [A, NS, MX등] 공백or탭 [우선순위 숫자] 탭 [도메인 or IP]
- 첫번째 항목에 @나 아무것도 입력하지 않으면 네임서버 환경설정 파일에서 설정한 도메인으로 인지
7) NS 레코드 ➤ 해당 도메인 호스트의 네임서버 호스트를 지정하는 레코드
8) MX 레코드 ➤ Mail Exchanger의 약자, 해당 도메인에 대한 메일서버를 지정하는 레코드
9) A 레코드 ➤ 해당 도메인의 실제 IP주소를 설정. 호스트 이름에 상응하는 IP 주소 지정
10) 그 외 레코드 유형
레코드 유형 | 역할 |
PTM | IP 주소를 호스트 이름으로 매핑할 때 사용 |
PTR | IP 주소에 대한 호스트명 |
CNAME | Canonical NAME의 약자. 호스트 이름의 alias(엘리어스: 별칭)를 부여할 때 사용 |
HINFO | 호스트 정보를 표시하는 레코드 |
MINFO | 메일박스와 메일 리스트 정보 |
UINFO | 사용자 정보 |
TXT | 호스트의 CPU정보와 운영체제 정보 |
ANY | 호스트에 관련된 모든 레코드들의 정보 |
라운드 로빈 방식의 네임 서버
📌 라운드 로빈 방식 ➤ 입력한 내용이 문법상 오류가 없는지 확인
📌 라운드 로빈 방식의 네임 서버
'📋3-1 > 📌리눅스서버실습' 카테고리의 다른 글
[리눅스서버실습] - MAIL 서버 (0) | 2021.06.07 |
---|---|
[리눅스서버실습] - 서버(Server)의 개념 (0) | 2021.05.15 |
[리눅스서버실습] - DB 서버 (0) | 2021.05.11 |
[리눅스서버실습] - DB 서버 (0) | 2021.05.11 |
[리눅스서버실습] - DB 서버 (0) | 2021.05.10 |
댓글