실습 과제 결과
*라운드 로빈 방식의 네임 서버 구현
- Server에 “자신의영문이름.com” 네임 서버를 라운드 로빈 방식으로 구현하기
1. /etc/bind/named.conf.local 설정
2. /etc/bind/leedaeun.com.db 설정
쿠팡은 23.51.29.234, 11번가는 113.217.247.90, 티몬은 103.247.220.132 이다.
3. Client에서 /etc/resolv.conf 수정
4. Client에서 nslookup으로 www.leedaeun.com 질의
5. Firefox에서 www.leedaeun.com 으로 접속하기
*결과영상*
새로 배운 내용
0. 원격접속 구축 - openssh
-Server(b)에 openssh 설치 및 방화벽 설정 완료 후 Git-Bash 다운
-Server(b)의 linux 사용자로 원격 접속
.ssh config 설정 변경을 통한 접속 정보 입력
위와 같이 config 설정을 해주면, 아래와 같이 IP주소를 입력하지 않아도 ssh [호스트이름] 으로 바로 원격접속을 할 수 있다.
1. Domain Name System
1) DNS: 호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나, 그 반대의 변환을 수행
2) Domain Name: 네트워크 상에서 컴퓨터를 식별하는 호스트명. 좁은 의미로는 도메인 레지스트리에 등록된 이름을 뜻한다.
3) Local Name Server: /etc/resolv.conf 에서 nameserver IP 로 설정된 서버
-Name Server에 문제가 생기면 Domain Name으로 ping을 보낼 수 없지만, 대신 IP주소를 입력하면 ping을 보낼 수 있음.
4) nslookup (name server lookup): 네트워크 관리 명령 줄 인터페이스 도구
5) hosts 파일 실습
2. Caching only Name Server
- PC 에서 URL 로 IP 주소를 얻고자 할 때, 해당하는 URL 의 IP 주소를 알려주는 네임 서버
*캐시 전용 네임 서버 구축
1) /etc/bind/named.conf.options 를 다음과 같이 수정
2) Server(b)에서 nslookup 사용
원래 name server가 127.0.0.53로 설정되어있지만, server 192.168.91.128을 입력하면 name server가 현재 IP주소로 변경된 것을 확인할 수 있음.
3) Server에서 DNS 변경
-마찬가지로 nslookup을 활용하여 server [Server(b) IP주소]를 입력하여 디폴트 서버를 Server(b)의 IP주소로 변경하였다.
-그리고 /etc/resolv.conf에서 다음과 같이 nameserver의 IP주소를 설정해주었다.
-이렇게 Server의 DNS를 Server(b)로 변경해주었다. 즉, 외부의 네임 서버로 접속하지 않고, 시스템 내부에 있는 Server(b)로 접속할 수 있다. (사실상 vmware에 설정된 네임 서버로 가기는 함.)
3. Round Robin DNS
1) 마스터 네임 서버(Master Name Server)
-마스트 네임 서버는 도메인에 속해있는 컴퓨터들의 이름을 관리하고, 컴퓨터의 IP주소를 알려주는 역할을 한다.
ex) john.com 네임 서버를 구축하기 위해서는 외부에서 www.john.com이나 ftp.john.com 등에 접속할 수 있도록 해야한다.
2) 라운드 로빈(Round Robin)
-여러 대의 웹 서버를 운영하여 웹 클라이언트가 서비스를 요청할 경우 교대로 서비스를 실행하여, 웹 서버의 부하를 공평하게 나누는 방식
3) 실습
-/etc/bind/named.conf.local 에서 다음과 같이 입력한다.
- vi /etc/bind/sslinux.com.db에서 다음과 같이 입력한다.
-다시 Server로 들어가 www.sslinux.com을 확인해보면, 앞에서 설정했던 것과 동일하게 도메인 네임과 IP주소가 잘 뜨는 것을 볼 수 있다.
-firefox에 www.sslinux.com을 입력하면 해당 IP 주소인 알라딘과 교보문고, 예스24 사이트가 골고루 돌아가면서 나타나는 것을 확인할 수 있다.
문제가 발생하거나 고민한 내용 & 해결과정
문제가 발생한 것은 없었지만, ZONE 파일의 문법이 궁금하여 다음과 같이 조사하였다.
1. 포워드 존 파일의 문법 요약
; (세미콜론): 주석을 의미
$TTL: Time To Live의 약자로 www.sslinux.com 의 호스트 이름을 질의해갔을 때, 질의해간 다른 네임 서버가 해당 IP 주소를 캐시에 저장하는 시간을 말한다. 3H는 3시간을 의미함.
@: /etc/bind/named.conf에 정의된 sslinux.com을 의미한다.
IN: 클래스 이름으로 internet을 의미한다.
SOA: Start Of Authority 약자로 권한의 시작을 의미한다. 괄호 안의 숫자는 시간을 의미하는데 차례로 serial(버전 정보), refresh(상위 네임 서버에 업데이트 된 정보를 요청하는 간격), retry(상위 네임 서버에 문제가 발생했을 때 재접속 간격), expire(상위 네임 서버에 접속하지 못할 경우 이전의 정보를 파기하는 간격), minimum(이 시간 이후 정보가 삭제됨)을 말한다. 여기서 H는 Hour, D는 Day, W는 Week의 약자이다.
NS: Name Server의 약자로, 설정된 도메인의 네임 서버 역할을 하는 컴퓨터를 지정한다.
MX: Mail Exchanger의 약자로, 메일 서버 컴퓨터를 설정한다.
A: 호스트 이름에 상응하는 IP주소를 지정한다.
CNAME: 호스트 이름에 별칭을 부여할 때 사용한다.
2. DNS 동작 과정
1) PI의 웹 브라우저 주소창에 www.nate.com을 입력한다.
2) PC가 리눅스일 경우 /etc/resolv.conf 파일을 열어서 'nameserver 네임서버IP'부분을 찾아 로컬 네임 서버 컴퓨터를 알아낸다.
3) 로컬 네임 서버에 www.nate.com의 IP주소를 물어본다.
4) 로컬 네임 서버는 자신의 캐시 DB를 검색해 www.nate.com의 정보가 들어있는지 확인한다.
5) 로컬 네임서버가 'ROOT'서버에게 www.nate.com의 주소를 물어본다.
6) ROOT네임서버도 www.nate.com의 주소를 모르므로, 'com 네임 서버'의 주소를 알려주면서 'com 네임 서버'에게 물어보라고 한다.
7) 로컬 네임서버가 'com 네임 서버'에 www.nate.com의 주소를 물어본다.
8) 'com 네임 서버'도 www.nate.com 의 주소를 모르므로, 'nate.com'을 관리하는 네임서버의 주소를 알려주면서 'nate.com'네임 서버에게 물어보라 한다.
9) 로컬 네임서버가 'nate.com' 네임서버에 'www.nate.com'의 주소를 물어본다.
10) 'nate.com'네임서버는 네이트에서 구축한 네임 서버이므로 ㅇㅇㅇ.nate.com이라는 이름을 가진 컴퓨터의 목록은 모두 있다. www.nate.com 의 IP 주소도 알기 때문에 IP주소를 알려준다.
11) 로컬 네임 서버는 www.nate.com의 IP주소를 요구한 PI에 IP주소를 알려 준다.
12) PC는 획득한 IP 주소로 접속을 시도한다.
참고한 자료
logwatch.tistory.com/entry/dns-%EC%84%A4%EC%A0%95%ED%8C%8C%EC%9D%BC-%EB%AC%B8%EB%B2%95
회고(+, -, !)
이번 11주차 실습에서는 네임 서버에 대해서 배웠다. DNS의 동작 과정은 언제 들어도 새롭게 느껴지는 것 같다. 따라서 이번 기회에 DNS의 동작 과정을 잘 이해하고 넘어가야겠다고 다짐하고 URL을 입력하는 과정부터 해당 IP주소를 획득하여 접속하는 과정까지 정리해볼 수 있었던 좋은 기회였던 것 같다. 또한 실습 과제를 수행하며 내 이름으로 되어있는 URL을 입력하여 어떤 사이트로 접속할 수 있었던 과정이 흥미로웠다. 비록 다른 사이트의 IP를 가져와 연결하긴 했지만, 다음에는 직접 나만의 사이트를 개발해서 ZONE 파일을 작성하고, DNS 서버를 구축해보고 싶다.
'Linux > 실습 기록' 카테고리의 다른 글
[컴퓨터시스템관리] 2021.05.25 13주차 실습일지 - Web Server (0) | 2021.05.25 |
---|---|
[컴퓨터시스템관리] 2021.05.18 12주차 실습일지 - Mail Server (0) | 2021.05.18 |
[컴퓨터시스템관리] 2021.05.04 10주차 실습일지 - Remote Server (0) | 2021.05.04 |
[컴퓨터시스템관리] 2021.04.27 9주차 중간 과제 (0) | 2021.04.28 |
[컴퓨터시스템관리] 2021.04.20 8주차 실습일지 - First Half Review (0) | 2021.04.25 |