우선 DHCP 서버 설정 후 할당을 확인 한다.
Offer 패킷 구성
Your (client) IP address : 10.10.10.12 – 할당 받을 IP
DHCP 서버 : 10.10.10.254 - ME
lease Time : 10분
subnet mask : 255.255.255.0
Router : 10.10.10.1 = gateway 주소
Domain Name Server : 10.10.10.254 = DNS 서버
Request, ACK는 넘어가지만 위와 비슷한 정보가 담겨있다.
Bind9를 설정하는 것은 블로그를 참고해서 설정했다. (https://m.blog.naver.com/love_tolty/222690840923)
1. 해당 DNS서버에 ZONE을 설정해 준다.
Zone을 DNS 서버에 정의해 Client에게 제공이 된다.
ex) aaa.com = aaa라는 도메인을 가지는 zone test.aaa.com test라는 서브 도메인을 가지는 aaa zone
vi /etc/bind/named.conf.local 명령어로 local 환경 설정에 들어간다.
zone “zone이름” { type master(마스터 존); file “/etc/bind/db.zone이름.com”;};
hankyul.com 도메인 zone은 db.hankyul.com zone에서 세부 설정을 해줘야 한다. 하지만 세부설정 파일을 전부 새로 만들수는 있지만 좀 더 쉽게 만들기 위해서 /etc/bind/db.local 파일을 복사해서 /etc/bind/db.hankyul.com을 만들어 준다.
cp /etc/bind/db.local /etc/bind/db.hankyul.com
/etc/bind/db.hankyul.com을 들어가서 세부 옵션을 설정하자.
vi /etc/bind/db.hankyul.com
@ IN NS hankyul.com. Root을 hankyul.com으로 매칭하여 NS 레코드에 저장
NS레코드? IP 주소를 찾기 위한 네임 서버정보가 포함된 레코드
www IN A 10.10.10.254 = www라는 서브 도메인에 IP주소 10.10.10.254를 매핑해 A레코드에 저장
SOA (Start Of Authority) zone에 대한 global parameters와 zone 이름을 정의
Serial zone file의 RR이 업데이트 될 때 증가
vi /etc/bind/named.conf.options – bind의 추가 옵션
DNS가 NS레코드에서 찾지 못할 때 forwarders 주소로 질문을 넘기는 명령어와
모든 도메인 요청을 허용한다는 명령어 이다.
다 설정이 되면 재시작후 상태를 파악하자.
service bind9 restart
service bind9 status -> status를 너무 믿지는 말자.
ufw allow 53/tcp
ufw allow 53/udp
ufw allow 80
방화벽을 해제해줘야 브라우저에서 보인다
Host가 www.hankyul.com으로 접속을 시도하면 발생하는 일
1. DNS에게 해당 쿼리를 물어본다.
2. DNS에 정보가 있으면 응답을해준다.
A는 v4, AAAA는 v6의 IP 주소 정보이다.
DNS가 응답하는 A 패킷을 열어보면 Answers에 www.hankyul.com의 IP 주소 10.10.10.254를 응답
3. DNS로 IP 주소를 받아온 뒤에는 해당 IP 주소를 이용해서 통신을 시작한다.
HTTP 통신을 하기 위해 먼저 TCP 3 hand-syn를 통해 TCP 연결을 하고 HTTP 통신 GET 요청을 보낸다.
10.10.10.254는 GET 요청에 대해 처리 후 문제가 없어서 상태 코드 200으로 응답을 해준다.
네이버를 접속 할 때 일어나는 과정
1. 호스트가 www.naver.com을 접속하려고 하면 DNS에게 물어본다.
2. 로컬에 만든 DNS는 naver.com이라는 zone과 정보가 없어서 물어보기 위해 포워딩한 8.8.8.8이나 8.8.4.4에게 물어본다.
Apache2 페이지 변경
TS 가이드
1. netplan apply를 하기전에 domain-name-servers를 설정하듯이 자신이 만든 DNS 서버 IP를 알아야 한다.
2. 가상머신의 네트워크 설정의 host-only 어뎁터가 올바르게 설정이 되었는지 확인한다.
host-only의 첫번째 어뎁터는 DHCP를 비활성화 해도 동작이 되는 버그가 존재해 사용하지 않도록 한다. 2,3 번째 어뎁터는 GNS3에서 3,4로 표시가 된다. (ipconf /all을 통해 IP를 비교해 잘 설정하도록 하자.)
3. 서버와 브라우저에 DNS 캐시가 쌓여 있을 수 있다. 둘다 지워주자. Flushdns를 통해서 삭제 해야한다. -> 서버에도 DNS 정보가 캐시로 쌓이기 때문에 캐시를 지우든 DNS 정보를 아예 새로 만들어야 한다. 캐시를 지우는 것이 더 쉽기 때문에 캐시를 지우자.
4. vi /etc/bind/named.conf.local에서 마지막 {}에는 ;를 써줘야 한다.
상세 설정 [db.zone이름]을 올바른 위치에 저장하고 읽어 올 수 있게 해야한다.
'경기도 미래기술학교 클라우드 > 실습 가이드' 카테고리의 다른 글
HSRP 실습 (3) | 2023.07.05 |
---|---|
STP 실습 가이드 (0) | 2023.07.03 |
DNS 실습 가이드 (0) | 2023.06.28 |
DHCP - NAT 연동 실습 (0) | 2023.06.26 |
ubuntu DHCP 실습 가이드 (0) | 2023.06.24 |