안녕하세요. 이번 시간에는 DNS(Domain Name Service)라는 서비스에 대해 알아보도록 하겠습니다. 우선 DNS에 대해 알기 전에 알아야 할 기본적인 지식에 대해 알아보겠습니다. 현대 사회에서는 각 장치마다 고유의 IP주소를 갖고 있고 통신을 할 때는 IP 주소를 통해서 하게 됩니다. 그러나 IP 주소는 숫자로만 이루어져 있어 외우기 어려운 탓에 IP 주소를 나타낼 수 있는 언어로 대체하게 되었습니다. 예를 들어 192.168.0.1의 주소를 abc.com 이라는 단어와 매칭시킴으로서 abc.com으로 데이터를 전송하면 192.168.0.1로 전송되는 식으로 말입니다. 이때 abc.com과 같이 IP 주소를 나타낼 수 있는 단어를 '도메인(Domain)'이라고 하고 데이터를 전송했을 때 도메인을 자동으로 IP 주소로 변환시켜주는 서비스를 수행하는 서버를 DNS 서버라고 부릅니다. 요약하자면 이렇습니다.


※ 도메인이란 쉽게 말해 그룹을 나타냅니다.


 1. 컴퓨터나 라우터, 스위치 등의 장치는 서로 통신할 때 IP주소를 통해 통신함

 2. IP 주소는 숫자로만 이루어져 있어 외우기 어렵다는 단점이 있음

 3. 이러한 문제를 해결하기 위해 IP 주소를 단어와 매칭시키는 방안이 생겨남 이때 매칭되는 단어가 도메인(Domain)임

 4. 도메인을 IP 주소와 매칭시켜 기억하고 도메인으로 데이터를 전송했을 때 자동으로 IP주소로 변환시켜주는 서비스를 수행하는 서버가 DNS 서버


 그렇다면 도메인이라는 녀석은 어떤 구조로 이루어져 있는지 알아보도록 하겠습니다. www.abc.com을 통해 예시를 들어보겠습니다.


www.abc.com(.)


 1. www는 가장 abc라는 도메인의 www 호스트를 나타냅니다.

 2. abc는 com이라는 도메인 아래의 하위 도메인을 나타냅니다.

 3. com은 루트 도메인(.) 아래의 하위 도메인을 나타냅니다.


 이를 상위부터 나타내면 루트 도메인(.) -> com -> abc -> www 식으로 나타낼 수 있습니다. 그렇다면 여기서 왜 루트 도메인은 괄호가 쳐져있냐는 의문을 가질 수 있는데 루트 도메인은 생략이 가능하기 때문에 괄호를 친 것입니다.


 DNS 서버가 생겨남으로써 IP 주소를 일일이 기억하고 해당 주소로 데이터를 전송해야 하는 등의 불편함이 사라졌습니다. 하지만 세상에는 여러개의 IP 주소가 존재함과 같이 도메인 또한 엄청나기 때문에 이를 관리하는 체계가 따로 있습니다. 이제 이 체계에 대해 알아보겠습니다.


 우선 DNS 서버는 루트(Root), 마스터(Master), 슬레이브(Slave) 이렇게 3가지의 서버 종류가 존재하며 이 서버들을 통해서 . 이제 각 서버들에 대해 알아보겠습니다.


 1. 루트 DNS 서버

  : 루트 DNS 서버는 최상위에 있는 DNS 서버라고 볼 수 있습니다. 이 서버에는 각 하위 서버들에 대한 정보가 담겨 있고 또 다른 루트 서버에 대한 정보들이 담겨 있습니다.

 2. 마스터 DNS 서버

  : 마스터 DNS 서버는 여러 클라이언트의 도메인과 IP가 저장된 서버입니다. 이 서버에서 클라이언트의 쿼리를 받고 처리하는 역할을 합니다.

 3. 슬레이브 DNS 서버

  : 슬레이브 DNS 서버는 마스터 DNS 서버의 레코드를 복사함으로써 마스터 DNS 서버와 같은 역할을 합니다.


 이렇게 DNS 서버들의 종류에 대해 알아보았습니다. 그렇다면 이제 DNS라는 서비스는 어떤 방식을 통해 이루어지는지 알아보겠습니다. 상황은 클라이언트가 abcd.com이라는 주소로 접속한다고 설정하겠습니다.


 1. 클라이언트에서 접속하고자 하는 도메인이 자신의 hosts파일에 있는지 확인합니다.

 2. hosts파일에 도메인이 존재한다면 사용하고 없다면 자신의 cache를 확인합니다.

 3. cache에 존재한다면 사용하고 없다면 자신의 DNS 서버로 설정된 서버에 쿼리(요청)를 보냅니다.

 4. 서버측에서 local hosts파일을 확인하고 없다면 local cache를 확인합니다.

 5. local cache에도 없다면 자신의 레코드를 확인합니다.

 6. 자신의 레코드에 도메인이 있다면 해당 도메인에 매칭되는 주소를 크라이언트에게 전송합니다.

 7. 만약 없을 시 자신의 상위 서버인 루트 서버에게 쿼리를 보냅니다.

 8, 루트 서버에서는 다른 루트 서버들 혹은 자신의 하위 마스터 서버들에게 해당 도메인에 대한 정보가 있는지 요청을 합니다. 

 9. 8번의 과정을 거치면서 해당 도메인에 대한 레코드가 있는 서버가 응답을 합니다.

 10. 응답을 받은 루트 서버는 원래 요청을 보내왔던 서버에게 응답을 합니다.

 11. 원래 요청을 보냈던 서버는 클라이언트에게 응답을 합니다.


 이러한 과정을 통해서 DNS 쿼리와 응답이 이뤄지는 것을 알 수 있습니다. 이제 마지막으로 DNS 서버가 사용하는 포트에 대해 알아보겠습니다.


 DNS서버는 TCP와 UDP 모두 53번 포트를 사용합니다. 그렇다면 왜 TCP와 UDP 따로 나눠져 있을까요? 이유는 TCP는 요청의 크기(query size)가 512byte를 넘어갈 때 사용합니다. 예를 들면 Slave DNS 서버가 Master DNS 서버로부터 레코드를 복사해가는 경우가 있겠습니다. 이상으로 DNS에 대한 포스팅을 마치도록 하겠습니다.

 안녕하세요. 이번 시간에는 Debian 9.2 버전의 리눅스에서 IP를 설정하는 방법에 대해 알아보겠습니다. 우선 저번에 생성한 Debian 9 버전의 가상머신을 실행시켜 줍니다. 그리고 아래에서 진행하겠습니다.


 아래의 화면은 'root' 유저로 로그인한 화면입니다. 이제 설정을 진행하도록 하겠습니다.



우선 저는 편의상 'vim' 패키지와 'net-tools' 패키지를 설치하였습니다. Debian 9 버전부터는 'ifconfig' 명령어 대신에 'ip addr' 명령어가 기본 탑재되기 때문에 'ifconfig' 명령어를 사용하기 위해서는 'net-tools' 패키지를 설치해야 합니다.

 


 두 패키지를 설치한 후의 화면입니다. 아무런 에러가 없는 것으로 보아 정상적으로 설치가 된 것을 확인할 수 있습니다.



 아래의 화면은 '/etc/vim/vimrc' 파일의 모습입니다. 'vim' 명령어에 대한 설정이 담겨있습니다.



 'syntax on' 문구를 주석해제하고 'set nu' 명령어를 적용함으로써 줄 번호를 매깁니다.



  위의 과정을 거친 후 나갔다가 다시 접속한 화면입니다. 앞에 줄 번호가 생긴 것을 확인할 수 있습니다.



 편의를 위한 설정이 끝났다면 이제 랜카드의 번호를 확인해줍니다. 제 랜카드의 번호는 'ens37'인 것을 확인할 수 있습니다. 원래는 ens33부터 시작하지만 랜카드를 지웠다 생성했다를 반복하면 아래와 같이 ens37이나 다른 숫자부터 확인할 수 있습니다. 이게 8버전에서는 eth0에서 시작해서 eth1 eth2 이런 순으로 나갔었는데 9버전으로 넘어오면서 바뀌었습니다.



 이제 랜카드의 번호를 확인했다면 /etc/network/interfaces' 경로로 접속하여 네트워크에 대한 설정을 진행해야 합니다. 접속하면 처음에는 아래와 같이 텅텅 빈 화면을 확인할 수 있습니다.



 이제 아래와 같이 입력해줍니다. 입력한 내용으로는

 auto ens37 -> ens37번의 랜카드를 사용한다는 선언(?)

 iface ens37 inet static -> 해당 랜카드를 수동 IP로 설정한다는 선언

 address 192.168.0.1/24 -> 이 랜카드의 IP는 192.168.0.1/24의 주소임을 선언

 gateway 192.168.0.254 -> 이 랜카드의 게이트웨이는 192.168.0.254임을 선언


 이 외에도 추가적으로 설정할 수 있는 것들이 있지만 현재로서는 필요가 없기에 하지 않겠습니다.



 설정이 끝났으면 'service networking restart' 명령어로 네트워크를 재시작 하고 'ifconfig' 명령어를 통해 IP가 제대로 설정되었는지 확인해줍니다.



 위의 화면과 같이 잘 설정된 것을 확인할 수 있습니다. 이상으로 Debian 9 IP 설정하는 방법에 대한 포스팅을 마치도록 하겠습니다.

'Server > Debian(Linux)' 카테고리의 다른 글

Debian - RAID  (0) 2019.03.06
Master DNS  (0) 2018.12.24
Debian 9.2 Install  (0) 2018.11.07

 안녕하세요. 이번 시간에는 내 컴퓨터의 메인 보드를 확인하는 방법에 대해 포스팅해보도록 하겠습니다. 저도 최근에 메인 보드의 제품명을 확인해야 하는 일이 생겨서 찾아보게 되었습니다.


우선 2가지의 방법이 있습니다. 첫 번째 방법부터 해보도록 하겠습니다.


1. 윈도우 키(창문모양)를 누르고 '시스템 정보'를 입력해줍니다.



2. 중간에 '시스템 제조업체'와 '시스템 모델' 항목에서 확인할 수 있습니다.



위의 결과에서 저는 '시스템 모델' 항목이 'To be filled by O.E.M'이라는 문구로 써져있었는데요. 찾아보니 이는 제조업체에서 제품명을 정상적으로 기록하지 않아서 생기는 문제라고 하더군요. 그래서 다른 방법으로 찾아보았습니다.


1. 윈도우 키 + cmd를 입력해서 커맨드 창을 열도록 합니다.



2. cmd창에 'wmic baseboard get product'라고 입력해줍니다.



3. 'Product'라고 나온 문구 아래 있는 것이 내 컴퓨터의 메인 보드 제품명입니다.


이상으로 간단하게 내 컴퓨터의 메인보드를 확인하는 방법에 대해 알아보았습니다. 이상으로 메인보드 확인하는 방법에 대한 포스팅을 마치도록 하겠습니다.


참고한 사이트는 아래에 있습니다.

http://chocoff.tistory.com/213

'Utility' 카테고리의 다른 글

한글입력이 안될 때  (1) 2018.09.18
마우스 반응속도 높이기  (1) 2018.08.28
윈도우 디펜더 끄기 - Window Defender Off  (0) 2018.08.27

+ Recent posts