■ DNS 

(요약) 네트워크에서 도메인이나 호스트 이름을 숫자로 된 IP 주소로 해석해주는 TCP/IP 네트워크 서비스이다.

(상세) TCP/IP 네트워크에서 사용되는 네임 서비스의 구조이다. TCP/IP 네트워크에서는 도메인이라고 하는 논리적 그룹을 계층적으로 설명할 수 있고, 그 논리적 그룹 명칭인 도메인명을 컴퓨터의 명칭(호스트명)의 일부에 포함시켜 이용하는 방법을 찾고 있다. 도메인 혹은 호스트 이름을 숫자로 된 IP 주소로 해석해 주는 TCP/IP 네트워크 서비스로서, 계층적 이름 구조를 갖는 분산형 데이터 베이스로 구성되고 클라이언트 서버 모델을 사용한다...


■ DNS (hosts 파일은 언제 쓰이는가?)

1. hosts 파일에 자신이 접속하려는 파일이 없으면 

2. 그 때 DNS 서버에 접속해서 ip address를 알아내는 원리이다. 


■ 도메인 구입 

도메인명이 적용되는데 짧게는 5~6 분  길게는 1~2일 정도의 시간이 소요된다. 


■ 서버가 분산되어 있는데 도메인명을 동일하게 사용하고자 한다면? 

서브 도메인을 달리하면 서로다른 ip를 부여받게 된다. 따라서 이러한 방법으로 도메인을 나눠쓸 수 있다. 

client >>>>>>>>> server  요청시 sub 도메인을 이용하게해서 동일한 도메인을 사용하게 할 수 있다. 

tistory.com의 경우에도 tistory.com 앞에 sub 도메인(3차 도메인)  sourceflower를 이용하는 것을 볼 수 있다. 

이렇 듯 onlyone.ga 라는 도메인을 구매했다고 가정해보자.

서버가 세 곳으로 분산되어있을 때 동일한 도메인을 이용하게하는 방법 

news.onlyone.ga

popcast.onlyone.ga

blog.onlyone.ga 로  도메인을 설정 해주면 된다. 


■ 리눅스에서 DNS 서버 주소 확인하기 

# cat /etc/resolve.conf

 name server 내용이 표시된다.


■ 리눅스에서 도메인 주소 확인하기

# host sourceflower.tistory.com


■ DNS 동작 원리 

root DNS 서버는 전 세계에 분산되어 있다. (도메인 name을 한 서버에서만 관리하는 것은 위험)

이러한 root DNS 서버(.com, .ga, .net) 가 hierarchy 구조의 최상위가 되어 하위(sub)계층의 DNS 서버를 알려주게된다. 이렇게 계층적으로 DNS 서버가 동작된다. (각 DNS 서버간 request response가 연속적으로 이루어짐) 


■ hosts 파일 

(역사) DNS 도메인네임시스템이 존재하기 전에는 hosts 파일에 있는 ip를 보고 해당 컴퓨터로 접근하였다.

(요약) hosts 파일은 운영체제가 호스트 이름을 IP 주소에 매핑할 때 사용하는 파일이다.  이 hosts 파일은 플레인 텍스트 파일이며 전통적으로는 hosts 라는 이름을 사용한다. 

(상세) 이 hosts 파일에는 여러 줄이 올 수 있으며, 이 줄의 첫 문자 필드에는 IP 주소가, 그 다음에는 하나 이상의 호스트 이름이 위치한다. 각 필드는 흰 공백 탭으로 구별되는데, 역사적인 이유로 탭이 선호되지만 공백도 사용된다. 주석 줄을 포함할 수도 있는데, 해시 문자(#)를 줄의 처음 위치에 놓으면 된다. 
파일 내의 완전히 비어있는 줄들은 무시된다. 이를테면 일반적인 hosts 파일은 다음과 같다.
127.0.0.1  localhost loopback 
::1 localhost 


■ host 파일에 접근해서 수정 해보자. (Linux 에서 수행)

/etc밑에 hosts 파일이 있다.

# cd /etc

# ls -l

# nano hosts

==========================

127.0.0.1    google.com

192.168.0.54    sourceflower.tistory.com

==========================

# elinks google.com    

접속을 시도한 컴퓨터(호스트)의 서버를 바라본다. (자신의 컴퓨터에 서버를 띄워놨다고 가정)

# elinks naver.com             // 쉘 상에서 사용할 수 있는 브라우저

192.168.0.54 (private ip)의 서버를 바라본다.


■ hosts 파일은 언제 쓰이는가?

1. hosts 파일에 자신이 접속하려는 파일이 없으면 

2. 그 때 DNS 서버에 접속해서 ip address를 알아내는 원리이다. 

 

■ client vs server 이해하기..

1. client  <-->  server (웹서버, 게임서버, 메일서버)

2. client  <-->  DNS server (웹서버에 요청을 하기 전에 순간적으로 들렸다 온다.  ip return 받아옴) 


■ 포트

0 ~ 65000 번 포트까지 사용가능 

well-known port : 0~1024번

customizing port 번호 지정 시 1024 바깥쪽에 위치한 포트를 사용하자.


■ 리눅스 서버의 IP 알아내기

1. # ip addr (show)              // 사설 IP (private ip) 

2. # ifconfig                       // 사설 IP (private ip) 

3. # curl http://ipinfo.ip/ip   // 공공 IP (public ip)

※ 대부분의 공유기 (여러 제조사 있음) 

: 일반적으로 공유기 관리자 화면으로 들어가려면, default gateway (192.168.0.1)로 접근하면 된다. 


■ ip 를 활용하여 서버로 사용하기 (포트포워딩)

 1.  public ip 와 private ip가 동일하지 않을 경우 포트포워딩을 활용하여 서버로 사용할 수 있다.

공유기를 통하여 public(공용) ip의 특정 포트 9000번(외부포트)으로 접속할 경우, 사설(private) ip (내부포트) 로 포트포워딩하여 서버로 활용 

   ex) (public ip) 247.214.236.12:9000  으로 접속할 경우, (private ip) 192.168.0.100 로 포워딩


2.  public ip 와 private ip가 동일한 경우에는 외부로부터 직접 접근 가능하여 곧바로 서버로 사용할 수 있다. 


■ 포트포워딩 설정 이해 (요약)

dafault gateway (192.168.0.1)로 접근 > 관리도구 > 고급설정 > 라우터 관리 > 포트포워드 설정


'인터넷, 네트웤, 서버' 카테고리의 다른 글

(3) DNS  (0) 2017.05.14
(2) ★ hosts 파일  (0) 2017.05.14

+ Recent posts