본문 바로가기

AWS 교육/Server (화)

241029_Master DNS, DHCP Server

728x90

※ 버츄얼박스 : DNS서버, 윈도우 7, 웹 서버 킨 후 DNS를 원격접속하기

# systemctl status named

ㄴ서비스 동작 상태 확인 및 오류 메세지 확인 명령어

# firewall-cmd --list-all

ㄴ방화벽의 모든상태를 출력

ㄴ열린 포트의 상태 확인

 

☆윈도우 7 버츄얼 박스 확인

 ㄴ Host-Only 네트워크의 ip도 .110으로 등록하며 dns주소는 동일

 

접속하면 가장 먼저 dns캐시를 확인하는 데 캐시가 남아있으면 원하는 결과 출력이 어려워 질 수 있기때문에

dns캐시와 웹캐시를 삭제

 

윈도우키 + R  >  실행  >  cmd  >  ipconfig /flushdns

 ㄴ 현재 인터페이스 내용 확인

 

익스플로러 톱니바퀴  >  인터넷 옵션 

         >  검색기록   >  설정  >  "웹 열때마다"로 변경

         >  삭제  >  체크 전부 한 후 삭제

 > nslookup

   ㄴ dns서버에 물어볼 수 있는 명령어

   ㄴ chat gpt와도 같은 대화형 문답

 

◆ 마스터 DNS 서버 구축

 - 단체에서 제공하는 서비스 or 호스트를 IP로  겨주는 서버

 - 특정 도메인에 대한 DNS 레코드를 저장하고 관리하는 역할

 ㄴ 각자의 이니셜을 가지고 도메인 제작

 

◇ 정방향 Lookup

 ㄴsb.com의 내용을 먼저 확인 후 없을 시에 .에 확인한다

 ㄴ slaves는 마스터 dns에 대한내용이 저장된다

 named 디렉토리 안에 sb.com.db를 만들어야 한다

 그래서 named.empty를 복사하여 만들고 내용을 수정 

 ㄴTTL  =  dns캐시가 남아있는 기간 (즉, 3시간동안만 보관됨)

 ㄴ@  =  도메인 이름(함부로 사용하면 안됨) > 사용할 도메인 이름으로 변경 ( @ > sb.com. )

 ㄴIN  =  인터넷

 ㄴSOA  =  권한의 시작(Start of Authority)

 ㄴrname.invalid.  =  dns서버 관리자 메일주소 (웹은 @를 사용하나 서버에서는 특수하게 사용하기에 .으로 표기)

                          ㄴ 마지막 . 은 루트도메인

 ㄴ만든일자 : serial  //  새로고침 : refresh  //  재시도 : retry  //  만료 : expire  //  최소시간(존 파일 TTL 값) : minimum

  ㄴ마스터가 레코드를 수정하는 데 기간에 따라 새로고침을 하며, 실패 시 재시도하는 데 만료기간까지 하는 레코드를 의미하며, 기록 캐시를 최소한으로 보관하는 기간을 표기

 ㄴA  = IPv4 주소     //    AAAA  = IPv6 주소(사용하지 않기에 삭제됨)

  ㄴA를 따로 지정한 경우 ns A ****가 추가되야 하며, A 앞에 IN 은 생략됨(써도 작동됨)

 

저장한 후 restart하여 적용하기

★restart가 되지 않을 경우 named.conf의 내용( ; 이 마지막에 잘 표기되어있는지와 file내용이랑 외부 파일명이 일치한지)확인 및 sb.com.db 내용 확인하기

 

적용되면 윈도우7에 접속하여 www.sb.com으로 접속

★접속이 되지 않을 경우

 ㄴ/var/named의 내용을 확인할 경우 sb.com.db의 소유권한을 볼 수 있는데 root에서 등록 했기에 전부 root만 읽을 수 있는 것을 확인할 수 있다

  ㄴ소유그룹을 named로 변경하여 읽을 수 있도록 수정 필요 ( chown [소유자].[소유그룹] [파일명/디렉토리] )

 

★그래도 되지 않을 경우 캐시삭제를 하고 시도해보기  ( cmd  >  ipconfig /flushdns )

 

※ 추가사항

 - CNAME  : 별칭

 - MX  : 메일서버 정의

 - NS  : 도메인서버 정의

 - PTR  : IP주소에 대응하는 도메인/호스트를 정의

 

  ㄴ 원래 존 내부에 있었으나 외부로 옮김 : 지정된 경로에 있는 파일의 내용을 현재 설정 파일에 포함

    즉, 존 마다 포함되어야 하는 내용을 일일히 입력할 필요가 없으며, 수정시 바로 수정 가능

 

◇ 역방향 Lookup

  ㄴin-addr-arpa  : 역방향으로 인식 즉, 192.168.56.0/24로 인식

  ㄴPTR 이라는 것은 역방향으로 인식하기에 이전과 반대로 등록되며 위에 56.*이기에 마지막 숫자만 입력후 도메인네임 작성

 

이렇게 완료 시 ip로 도메인네임을 알 수 있고 도메인 네임으로 ip를 확인 할 수 있다

 

 

★ 추가 가상서버 설치

 먼저 DHCP 서버를 비활성화 한 후

1. 이름 : DHCP-Server (IP 3) 

2. OS : CentOS7-2009, Minimal

3. 네트워크 어댑터 : NAT, Host-only(192.168.56.3)

 로 가상 서버 제작

 

 DHCP 서버를 추가 제작하는 이유

 - 브로드캐스트 구성이 어디로 가는 지 확실하게 알 수 있음

 - 현재 내가 있는 네트워크에서 다른 네트워크로 가기 위한 게이트웨이

 

 - 브로드 캐스트를 할 수 밖에 없음

 ㄴ패킷이 총 4단계

  ㄴ디스커버 패킷  : 클라이언트가 접속해서 서버에게 보내서 서버 ip를 요청 (브로드캐스트로 요청)

     오퍼 패킷  : 서버가 이 ip를 써라 라고 보내는 것

     리퀘스트 패킷  : 클라이언트가 특정 ip를 써도 되는 지 재확인 하는 것

     ack 패킷  : 사용해도 된다고 응답하는 것

 

/etc/yum.repos.d/CentOS-Base.repo 와 enp0s3, enp0s8을 수정한 후

# systemctl restart network.service

 하여서 시스템을 재시작하면 yum이 정상 작동됨

 # yum install -y vim net-tools dhcp              // vim과 net-tools랑 dhcp 다운

MobaXterm_Web-Server.5_20241029_141628.txt
0.00MB
MobaXterm_DNS-Server.10_20241029_141612.txt
0.02MB

 

이렇게 완료 한 후 실행했던 서버들을 종료하고 네트워크를 "연결하지 않음"으로 변경

GNS3로 접속하여 버츄얼박스 등록

3개의 서버가 정상 등록된 내용 확인

 DHCP 서버를 더블클릭한 후 네트워크 어댑터를 2개로 설정

사진처럼 설정 해보기

R1에서 각각의 인터페이스에 IP를 등록하고

DHCP서버에서 enp0s3에 등록된 ip를 변경 한 후 ping 테스트

 

# vim /etc/dhcp/dhcpd.conf                     // dhcp 설정파일

 내용을 입력해준 후 dhcpd를 리스타트하여 적용한다

 ㄴDHCP서버가 어떤네트워크에 있는지 알려주는 역할도 함

 스테이터스를 확인하면 빨간색의 내용이 확인 되는 데

 내용을 입력한 후 확인하면 사라진 걸 볼 수 있다

 

이제 스위치랑 dhcp서버 사이에 캡쳐로 패킷을 열어놓고

입력이 완료되면 이제 윈도우로 접속하여 자동으로 변경하면 ip가 등록된 것을 볼 수 있다

전송내역도 확인 가능

 

PC1과 연결된 부분을 ip helper로 등록

dhcp ip를 등록하면 PC1에서도 DHCP 적용이 가능해진다

 

# vim /var/lib/dhcpd/dhcpd.leases                 // 

 

이제 R1에 SSH를 연결하고 DNS서버의 ip를 등록

 윈도우에서 putty로 접속 여부 확인 및 dns서버 등록

 

MobaXterm_R1_20241029_163009.txt
0.01MB
MobaXterm_DHCP-Server.3_20241029_163038.txt
0.00MB
MobaXterm_DNS-Server.10_20241029_163044.txt
0.01MB

 

 ◇ DHCP Relay 설정

  - DHCP 서버가 다른 네트워크에 존재할 때 Broadcast 패킷을 넘겨주는 역할을 함

  - 라우터와 DHCP 서버가 서로 통신을 하며 받은 패킷을 네트워크 내로 보내줌

  - 게이트웨이 역할을 하는 인터페이스에 설정

 

 ◇ 임대 시간

  - IP를 사용할 수 있는 시간

  - default : 기본 임대시간   //   MAX : 최대 임대시간   //   MIN : 최소 임대시간

  ex) max-lease-time 시간(초);   \\  default-lease-time 시간(초);  \\  min-lease-time 시간(초);

 

 ◇ 임대 연장

  1. Renewal Time (T1)

   - 임대 시작의 50% 지난 시점에 요청

   - DHCP 서버로 Request 패킷을 보냄(Unicast 통신)

  2. Rebinding Time (T2)

   - 임대시간의 7/8이 지난 시점에 요청

   - DHCP Discover 패킷 전송 (Boradcast)

   - T1을 받지 못하면 1시간마다 계속 요청하는 데 7시간이 지난 시점에서 기존 dhcp가 죽었다라고 생각하고 남은 1시간동안 Discover 패킷을 보내어 새로운 서버를 찾는다.

 

◇ 특정 클라이언트에게 고정 IP주소 할당

  host [이름] {

            hardware ethernet [MAC 주소];

            fixed-address [IP 주소];

{

728x90