상세 컨텐츠

본문 제목

[32] Linux HTTP(WEB) | DNS

IT/Linux

by o_zeew 2022. 3. 21. 21:45

본문

(1) HTTP

(2) DNS


1. HTTP (HyperText Transfer Protocol)

  - HTML 문서와 같은 리소스들을 가져올 수 있도록 해주는 프로토콜

  - 웹에서 이루어지는 모든 데이터 교환의 기초이며, 클라이언트-서버 프로토콜

  - 방화벽 : 80

 

<HTTP 사용해보기>

1. 설치

yum install -y&nbsp; 명령어를 사용해 httpd 설치
설치 완료

 

2. 설정 파일

서버의 설정들이 모여있는 위치
port 80
각종 모듈을 conf.modules.d/*.conf 에 넣어놓고 필요시 가져다 사용
사용자와 그룹 모두 apache :&nbsp; root로 설정해놓으면 웹서버를 탈취 당할 시 root의 권한을 뺏기기 때문
웹 서버의 관리자 = 팀 메일 설정 (root로 설정 되어있을 시 변경 필요)
서버명 : DNS에서 보통 처리하기 때문에 주석처리
root 디렉토리에 대한 권한 : 사용자 인증 사용 X, 모든 사용자의 접근 불가
웹 컨텐츠 디렉토리 경로 설정
웹 컨텐츠 디렉토리의 권한 설정 : 사용자 인증 사용 X, 모든 사용자의 접근 허용
옵션의 Indexes : 특정 url을 입력했을 때 하위 디렉토리가 나열 되는 것 (보안상 위험함으로 삭제하는 것이 좋음)
클라이언트가 웹서버에 접속 시 index.html 이름을 가진 파일을 시작페이지로 제공
.ht로 시작하는 모든 파일에 대해 모든 사용자 접근 차단 (.ht는 사용자 인증에 관련된 정보 파일)
정상적으로 접속한 log를 logs/access_log에 저장
cgi의 경로 (동적페이지 구성 때 cgi 필요)
cgi 디렉토리의 권한 설정 : 사용자 인증 사용 X, 모든 사용자 접근 허용
멀티미디어 파일(mp3, mp4 등)은 mine.types에 등록되어있어야 사용 가능
conf.d/에 있는 모든 .conf 파일을 포함 : apache 설정이 너무 방대하기 때문에 분리해서 저장한 곳

 

3. 시작 페이지 만들기

   - 웹서버를 사용하기 위해서는 시작 페이지 필요

/var/www/html 디렉토리에 index.html 파일 생성
웹 페이지 구성
설정 후 시스템 시작
http 서비스 방화벽 열기
설정 적용 확인 가능

 

  * 시작 페이지가 없다면 /etc/httpd/conf.d/welcome.conf. 파일 실행

/var/www/html/에 파일을 만들어야 한다는 경고문

 



2. DNS (Domain Name System, Service, Server)

  - 호스트의 도메인 이름과 IP 주소를 서로 변환하는 역할

  - URL을 IP Address 변환

  - URL 검색 순서
    1. 첫번째 cache memory 확인 
        - ipconfig /displaydns 캐쉬 확인
        - ipconfig /flushdns
    2. /etc/hosts 참조
    3. DNS (고정 IP 설정 or DHCP 서버에서 수신하는) 참조

  - 설정 파일 

    1. /etc/named.conf

    2. /etc/named.rfc1912.zones

    3. /var/named

 

 

<DNS 참조 확인>
1. Windows 서버의 DHCP 중지 (W2K19-AD1)

서버 관리자 - 도구 - DHCP
w2k19-ad1 우클릭 - 모든작업 - 중지
ip 정보 확인

 

2. Administartor 계정 활성화 

  - 일반 계정은 사용하지 못하는 기능들이 존재

computer management
로컬 사용자 및 그룹- 사용자 - Administrator 우클릭 - 암호 설정
Administrator 우클릭 - 속성 - 계정 사용 안 함 체크 해제
계정이 활성화 된 모습 (사용자의 그림에&nbsp;&darr; 없어야함)

 

3. Administrator 로그인

Test 계정 로그아웃
활성화 된 Administrator 계정으로 로그인

 

 

4. DNS 서버 변경

10.0.0.1은 가상의 dns이기 때문에 실제 dns로 변경

 

5. Name Server에 질의

   * 168.126.63.1 = 정방향 조회 영역

     kns.kornet.net = 역방향 조회 영역

nslookup 명령어를 사용해서 나오는 dns가 pc의 dns
naver.com 의 IP
daum.net의 IP

  - 네이버 서버의 IP를 인터넷 창에 입력 시 네이버 창이 나옴

IP Address 입력
네이버 홈페이지로 이동 확인

    - 다양한 정보를 확인하고 싶을 때는 [set type=all] 명령어 사용

 

  - 실제 네이버를 관리하는 Name Server의 IP 확인

 


 

<DNS 실행 과정>

 

1. 인터넷 사용자가 www.bank.kr 의 정보를 입력하면 컴퓨터는 메모리에 있는 cache를 탐색

2. cache에 기록이 없다면 /etc/hosts 파일 탐색

3. /etc/hosts에 기록이 없다면 DNS에게 문의

출처:한국인터넷정보센터

1. 인터넷 사용자가 캐시 DNS 서버에게 www.bank.kr 의 정보를 물어봅니다. 

2. 캐시 DNS 서버는 캐시에 정보가 없으면 전 세계의 13대의 root DNS에게 정보를 물어봅니다.

3. Root DNS는 kr을 관리하는 kr DNS의 정보를 알려줍니다.

4. 캐시 DNS 서버는 root DNS에게 받은 정보로 www.bank.kr 의  정보를 kr DNS에게 물어봅니다.

5. kr DNS는 자신에게 등록되어있는 bank.kr의 DNS를 알려줍니다.

6. 캐시 DNS 서버는 kr DNS에게 받은 정보로 www.bank.kr의 정보를 bank.kr DNS에게 물어봅니다.

7. bank.kr DNS는 자신에게 등록되어있는 www.bank.kr의 IP 주소를 알려줍니다.

8. www.bank.kr  의 정보를 받은 캐시 DNS 서버는 인터넷 사용자에게 IP 주소를 알려줍니다.

 


 

* 해당 DNS를 사용해 검색

   - 다른 DNS를 통해 naver.com을 검색하게 되면 권한 없는 응답이라는 메세지 출력 

  - 해당 DNS의 IP 주소를 설정

실행창에 ncpa.cpl 입력
DNS를 네이버의 DNS로 설정

  - exit로 해당 창 나온 뒤 다시 nslookup 접속 시 기본 서버가 네이버 서버로 바뀜

  - 다시 naver.com 검색하면 권한 없는 응답 메세지 사라짐

 

  - 그러나 네이버는 public DNS가 아니기 때문에 자신 외의 정보는 알지 못함

daum.net의 정보를 모름

  - 확인 후 설정 초기화

Public DNS로 변경

 


 

</etc/hosts의 동작 확인 (cache를 참조 못했을 시)>

  - Internet Explorer 사용

시작페이지 - Windows 보조프로그램 - Internet Explorer 바탕화면으로 드래그
바탕화면에 바로가기
Internet Explorer 실행 - 우측 상단 톱니바퀴 클릭 - 인터넷 옵션

  - cache를 다 삭제 함으로써 cache를 참조하지 못하도록 설정

홈페이지 탭=about:blank (홈페이지가 빈 화면으로 출력) / 종료할 때 검색 기록 삭제 - 삭제 - 모두 체크 - 삭제

  - 메모리의 cache 삭제 [ipconfig /flushdns] : 메모리cache 삭제 명령어

메모리 cache 삭제
메모리 cache가 삭제되어 정보가 없는 상태 확인

  - 브라우저로 naver.com 검색을 하면 DNS 조회 실행

 

  - 조회 기록은 cache에 기록

cache 기록 조회
네이버 사이트와 연관된 정보까지 모두 출력

  - 다시 cache 정리

 

  - 네이버의 IP 복사

  - cache 정리

 

  - /etc/hosts 파일 수정 (Administrator만 가능)

내 PC -&nbsp; C: = Windows - System32 - drivers - etc - hosts - 메모장으로 열기
하단에 daum의 IP를 네이버의 IP로 설정

  - 브라우저에 daum.net을 검색

www.daum.net
www.naver.com으로 접속 확인

 

  ※ cache에 기록이 없는 상태에서 /etc/hosts에 수정해놓은 설정대로 확인 가능 ※

     > 첫번째로 cache를 탐색 후 기록이 없으면 /etc/hosts 파일을 탐색한다는 것 확인

 


 

<DNS 사용해보기>

1. bind 설치

bind, bind-utils, bind-lib 설치
설치 완료

 

2. /var/named.conf 파일 수정

모든 IP로 DNS 서비스를 실행 / 모든 IP가 DNS에게 질의 가능

 

 

<정방향 조회 영역 설정 (url을 IP로 변환)>

 

1. 설정 파일 편집

vi 편집기로 /etc/named.rfc1912,zones 파일 열기
기존의 정방향 조회 영역 부분을 복사해서 사용
정방향 조회 영역 설정 완료

  - /var/named/ 디렉토리 내에 동일한 파일 이름의 영역파일이 필요

설정한 이름의 파일로 참고 파일 복사해오기
vi 편집기로 생성한 파일 열기
필요 정보 설정

  - @ : DNS에서 도메인의 이름을 상징 =

  - ns1.도메인의 의 형태를 많이 사용 (문자로 끝날 시 반드시 . 입력)

  - DNS 서버를 관리하는 팀 메일 작성

Name Server와 Mail 교환기 설정
서비스와 연결 된 IP 설정

2. 파일 권한 변경

others에게 읽기 권한을 추가해야 복사 가능

3. 시스템 시작

4. 방화벽 열기

 

 5. Windosw의 DNS 변경

 

6. 설정 적용 확인

url을 IP로 변환 가능 확인
웹 브라우저에서도 url로 접속 가능
ftp도 url로 접속 가능

 

7. 서버의 DNS 변경

서버의 DNS가 1차 DNS에서 조회를 하지 못하기 때문에 2차 외부 DNS 사용
vi 편집기로 설정 파일 열기
1차 DNS를 설정과 동일하게 변경
설정 파일 변경 후 시스템 재시작
리눅스 서버에서도 정방향 조회 가능

 

 

<역방향 조회 영역 설정 (IP를 url로 변환)>

 

1. 설정 파일 편집

vi 편집기로 설정 파일 열기
기존의 역방향 조회 영역을 복사해서 사용

  - 역방향 조회에서는 IP를 거꾸로 작성 (맨 끝의 자리는 Host가 계속 변경되기 때문에 생략)

역방향 조회 영역 설정 완료

  - /var/named/ 디렉토리 내에 동일한 파일 이름의 영역파일이 필요

설정한 이름의 파일로 잠고 파일 복사해오기
vi 편집기로 해당 파일 열기
필요 정보 설정

 

2. 파일 권한 변경

others에 읽기 권한을 줘야 복사해서 사용 가능

 

3. 시스템 재시작

설정파일 변경 후 시스템 재시작

4. 설정 확인

역방향 조회 가능 확인

 


 

<DNS 실습 삭제 방법>

yum 명령어를 사용해 dns 관련 파일 삭제
정방향 조회와 역방향 조회 영역 파일 삭제
방화벽 설정
53번 포트 삭제
방화벽 재시작

관련글 더보기