11주차 CSM_실습일지📝

ᴶᴬᴱᵞᴼᴼᴺ·2021년 5월 16일
0

컴퓨터 시스템관리

목록 보기
11/15
post-thumbnail

💡 11주차에는 네임서버의 작동방식에 대해서 알아보았는데 도메인 네임 시스템(DNS)은 무엇인지 배우고 캐싱 전용 네임 서버 & 라운드 로빈 네임 서버의 이론적인 부분을 배우며 이와 관련된 실습도 해보았다.

📌 실습과제

h&m -> 23.201.36.82
zara -> 23.35.218.11
이랜드몰 -> 99.86.149.64

1. Server 에서 Round Robin DNS 설정🔽

: vi /etc/bind/named.conf.local 에서 zone 추가한 후 named-checkconf 를 통해 문제가 있는지 확인

: vi /etc/bind/jyooncho.com.db 파일 생성한 후 설정파일 적용을 위해 systemctl restart named 를 함

: nslookup 으로 server 의 네임서버 변경 후 www.jyooncho.com 접속 확인

2. Client (Kubuntu) 에서 www.jyooncho.com 확인🔽

: vi /etc/resolv.conf 에서 쿠분투 네임서버 변경

: www.jyooncho.com 으로 질의하여 입력된 IP 주소 확인

새로 배운 내용

✔ Domain Name System, DNS
: 도메인 네임 시스템, 네임 서버
-호스트의 도메인 이름은 호스트의 네트워크 주소로 바꾸거나, 그 반대의 변환을 수행

▪ Domain Name
: 네트워크 상에서 컴퓨터를 식별하는 호스트명
-도메인 레지스트리에 등록된 이름
👉우분투는 BIND (Berkley Internet Naming Daemon)를 사용

▪ Local Name Server
: /etc/resolv.conf 에서 nameserver IP 로 설정된 서버

▪ nslookup (=name server lookup)
: 네트워크 관리 명령 줄 인터페이스 도구

[실습💻]


: nslookup 으로 구글의 IP 주소를 확인한 결과임.
위와 같이 접속할 수 있는 주소는 여러 개가 있을 수 있음.

: ping을 통해 IP 주소로 접속이 되는지 여부를 확인할 수 있음

✔ Caching only name server 캐싱 전용 네임 서버
: PC에서 URL 로 IP 주소를 얻고자 할때, 해당하는 URL 의 IP 주소를 알려주는 네임 서버
👉별도의 독자적인 네임서버를 내부망에 구축해놓음으로서 좀 더 빠르게 접속할 수 있으며 기호에 맞게 IP 설정 가능함

[실습💻]

: vi /etc/bind/named.conf.options 에서 위와 같이 3줄의 문구를 추가하는데 이는 캐싱 전용 네임을 구축한다는 의미를 가짐


: 방화벽 상태 확인

: server(b)의 네임서버 변경

: 네임서버 구축 후 웹 접속 잘됨!

: server 의 DNS를 server(b) 의 IP주소로 변경한 후 구글에 접속

✔ Round Robin DNS
▪ Master Name Server 마스터 네임 서버
: 같은 도메인에 속해 있는 컴퓨터들의 이름을 관리하고, 외부에서 컴퓨터 IP 주소를 알기 원할 때 해당 컴퓨터의 IP 주소를 알려주는 네임서버

▪ Round Robin 라운드 로빈
: 여러 대의 웹 서버를 운영하여 웹 클라이언트가 서비스를 요청할 경우 교대로 서비스를 실행하여, 웹 서버의 부하를 공평하게 나누는 방식 👉load balancing 방법

[실습💻]
라운드 로빈 DNS 설정🔽

: vi /etc/bind/named.conf.local 에서 zone 추가 -> named-checkconf로 오류가 있는지 확인

: vi /etc/bind/sslinux.com.db 파일 생성

: 라운드 로빈 방식으로 접근한 결과
(vi /etc/bind/sslinux.com.db 파일에 입력한 3개의 IP 주소들 중에 하나만 집중적으로 나온 경우임)

문제 발생(또는 고민한 내용) 및 해결방안

  • 캐싱 전용 네임 서버와 관련된 실습을 하던 중 server에서 DNS를 변경한 후 nslookup을 통해 구글에 접속하는 과정에서 connection timed out; no servers could be reached 라는 문구가 뜨며 계속해서 접근에 실패하는 문제가 발생하였다.

    ✍server를 초기화해보는 방법부터 아예 다시 server를 깔아보는 방법까지 문제를 해결하기 위한 방법들을 고민해보고 시도해보았으나 실패하였다. 그러던 중 강의자료를 천천히 다시 읽어보다가 server의 DNS를 변경하는 부분에서 server(b)의 IP주소를 입력해야 하는데 server의 IP주소를 입력하는 실수를 하였음을 알게되었다. 이를 다시 수정하여 실행해보니 문제가 해결되었다. 🔽
  • vi /etc/bind/sslinux.com.db 파일을 작성하던 중 webserver 옆에 100, 200, 300의 의미에 대해 내가 잘 이해하고 있는건지 확신이 안서서 교수님께 여쭤본 결과 100, 200, 300은 접속시도의 우선순위를 나타내며 숫자가 낮을수록 우선순위가 높다는 것을 알게되었다. 또한 이는 단순히 접속시도의 우선순위일 뿐, nslookup등 네트워크 상태를 확인할 때 반드시 해당 순서대로 결과가 확인되지 않을 수 있다는 점을 알 수 있었다.

참고할 만한 내용

회고

  • 플러스(+)
    : 도메인 네임 서버, 라운드 로빈 네임 서버, 캐싱 전용 네임 서버, nslookup 등 대부분 새로운 개념들이었는데 이론 뿐만 아니라 실습을 통해 배워갈 수 있어서 좋았다. 실습과정에서 어려움을 느끼고 때로는 문제해결이 잘 되지 않아 답답함을 느끼기도 했지만 문제를 해결하기 위해 배웠던 내용을 떠올려보고 그래도 모르겠는 부분은 질문을 통해 헷갈리는 개념들을 명확히 이해하며 넘어갈 수 있었다. 문제해결을 위해 실습을 처음부터 다시 해보는 이런 반복적인 과정을 거치면서 처음에는 낯설었던 실습이 점점 익숙해지는 것 같았다.

  • 마이너스(-)
    : 지금까지 해왔던 실습 중 이번 실습이 나에게는 생소한 부분이 많았고 복잡했고 그래서 실습을 하는데 있어서 어려움이 있었다. 강의를 들으며 실습을 따라가면서도 어떤 부분은 왜 이렇게 되는건지 고민이 필요하기도 했고 문제가 발생한 부분에 있어서는 해결하기가 쉽지 않았다. 막상 그 문제가 내 실수로 인해 발생하였음을 알게되었을때는 왜 좀더 빨리 깨닫지 못했을까 후회를 하기도 했다. 실습 뿐만 아니라 과제를 할때 몇몇 오류가 발생했다는 점이 아쉽지만 포기하지 않고 결국은 해냈다는 점에서 의미가 있는 것 같다.

  • !!!!!
    : 이번 실습은 고비가 많았지만 그런 과정을 겪으면서 분명히 나에게 도움이 된 부분이 있었다. 새로 배우는 내용이 많은 만큼 이해가 안되는 부분도 있었고 실습을 하면서도 오류가 나는 상황도 발생했지만 이를 해결해나가면서 잘못 이해한 부분은 명확히 짚고 넘어가고 헷갈렸던 개념은 강의에서 관련된 부분을 다시 들어보며 복습할 수 있었다. 물론 실습과 과제에서 아무 문제가 발생하지 않았다면 더 좋았겠지만 다음에는 이번 주에 한 실습과 비슷한 과제가 주어진다면 오류없이 잘 해낼 수 있을거라고 생각한다:-)

0개의 댓글