코딩하는 문과생

[리눅스] 생활코딩, 리눅스를 서버로 활용하기(2) 본문

개발 관련 지식/리눅스

[리눅스] 생활코딩, 리눅스를 서버로 활용하기(2)

코딩하는 문과생 2020. 1. 2. 17:16

[도메인]

DNS: Domain Name System

DNS Server

-hosts 파일

DNS Server 이전에는 'hosts'라는 파일을 이용해 DNS를 지원했다.

$ elinks google.com

$ elinks http://localhost
# Hello web server!!

# ***우리는 google.com을 입력했을 때, Hello web server!! 뜨도록 할 것이다.***
$ sudo nano /etc/hosts
# 127.0.0.1 google.com 추가

$ cat /etc/hosts

$ elinks google.com
# Hello web server!!

즉, 

  1. /etc/hosts 파일을 먼저 뒤져보고
  2. DNS Server에 접속한다.

  • 일시적으로 수정이나 디버깅을 위해 hosts를 사용하는 경우가 있다.
  • 해커의 해킹대상이 될 수도 있다.(hosts파일을 해킹해서 google.com입력시 다른 페이지로 리다이렉션 시킨다.)
  • 백신 프로그램 역할: hosts파일 보호

 

-도메인 구입

ex. sijune.ga

$ cat /etc/resolv.conf
# nameserver 168.126.63.1
# nameserver 168.126.63.2
# 한국 통신사들이 지원하는 DNS 서버

# 1. 접속된 네트워크에 따라 resolv.conf가 자동적으로 바뀐다.
# 2. 두 개가 있는 이유는 백업이나 부하를 분산하기 위해 존재

# DNS Server에 도메인을 알려줘야 한다.
# ICANN에 의해 도메인이 관리되고 있다. 
# ex. co.kr, co.jp, com.au
  • 이름을 독점적으로 사용하기 위해서는 도메인을 구입해야한다.
  • freenom을 이용해 도메인 사용 유무 파악.
  • 도메인 조회-> 도메인 구입-> 사용

https://www.freenom.com

$ curl ipinfo.io/ip
# 125.129.102.154
# 공용 ip

# freenom에서 구입한 도메인과 ip를 매칭시킨다.

$ host google.com
# 172.217.25.206

$ host sijune.ga
# 125.129.102.154
# 바로 적용안된다. 하루정도 걸릴수도 있다.

- 서브도메인

  • sijune.ga
  • admin.sijune.ga
  • news.sijune.ga

freenom에서 추가가 가능하다.

$ host news.sijune.ga
# 125.129.102.151

 

- DNS의 동작원리

$ sudo apt-get install dnsutils
# 리눅스에서 dig 패키지 설치

$ dig +trace sijune.ga
# 어디를 거치는 지 확인 가능
# 도메인 네임의 DNS 서버를 통한 IP 주소 확인 경로 추적

dig +trace google.com을 입력하고 나온 결과

도메인 네임 서버를 직접 지정할 수도 있다.