options {
directory "/var/named";
};
zone "sjb.com" in {
type master;
file "cdh.com.zone";
};
위의 코드를 복사해서 넣어준다.
영역파일의 위치를 나타내주는 것을 options에 넣어준다.
zone은 하나의 도메인을 만들어준다.
cdh.com 이라는 애의 도메인 주소를 다 저장해놓은 파일인 cdh.com.zone 을 적어준다.
type은 master에게 ip 주소를 업데이트 하면 slave에게 전달해줌.
named.conf 파일도 문법에 의해 동작하기 때문에 이 문법을 체크해주는 파일이 따로 있다.
named-checkconf 라는 파일이다.
;(name) (ttl) CLASS TYPE Origin DNSMaster
;-------------------------------------------------------------------------------
$TTL 1D
@ IN SOA ns.cdh.com. root.sjb.com. (
2023020901 ;serial number
3600 ;Refresh
1800 ;Retry
36000 ;Expire
86400 );TTL
;(name) (ttl) CLASS TYPE Value
;-------------------------------------------------------------------------------
IN NS ns.cdh.com.
ns IN A 192.168.163.100
www IN A 192.168.163.200
server IN CNAME www
그렇기 때문에 먼저 dns 포트포워딩을 해야한다.
192.168.0.6으로 dns를 설정하면 192.168.0.6:53으로 DNS 서버에 연결을 하는 것이다.
그러면 위의 그림처럼 포트포워딩으로 192.168.163.100:53으로 바꿔줘야 한다.
그렇다면 같은 공유기를 쓰는 다른 컴퓨터가 DNS 서버를 내 사설 ip인 192.168.0.6으로 등록한다면 192.168.163.100:53으로 통신을 하게 되는 것이다!
그리고 Type은 UDP로 해야한다!!
왜??
UDP는 트랜스포트 계층 프로토콜이 할 수 있는 최소 기능으로 동작
즉, 다중화/역다중화 기능과 간단한 오류 검사 기능을 제외하면 IP에 아무것도 추가하지 않는다.
그래서 애플리케이션 개발자가 TCP대신에 UDP를 선택한다면 애플리케이션은 거의 IP와 직접 통신하는 것
tcp에 비해 다음과 같은 특징을 갖고 있기에 DNS서비스가 사용하기 적합하다.
연결의 시작 과 끝 설정이 없다는 점만약 dns가 tcp위에서 동작한다면 많이 느려질 것.
반면 http문서로 된 웹페이지는 신뢰성이 중요하기 때문에 udp보다 tcp를 사용한다.
dns: 신뢰성<속도
웹페이지: 신뢰성>속도
tcp 는 데이터 전송을 시작하기 전에 3-way-handshake를 사용하는 반면에 udp는 형식적인 예비동작이 없다. 따라서 연결 설정에 드는 비용이 없다.
연결 상태를 유지 할 필요가 없다.반면 udp는 어떠한 정보도 기록하지 않고 유지할 필요가 없다.도메인네임을 ip로 변경함으로 항상 많은 클라이언트를 수용하는 dns 서버에게는 연결상태를 유지 하지 않아 정보 기록을 최소화 하는 udp가 알맞다.
따라서 특정 애플리케이션에 할당된 서버는 애플리케이션이 tcp보다 udp에서 동작할 때 더 많은 클라이언트를 수용할 수 있다.
tpc는 end point에서 연결 상태를 유지하며 다음과 같은 파라미터들이 포함된다. ->(수신버퍼, 송신버퍼, congestion control 파라미터, sequence number, ACK number)
저 주소를 직접 쓰면, dns에서 ip 주소로 잘 바뀌지만, 192.168.163.200 ip는 내 가상 머신의 사설 ip이기 때문에, 외부 컴퓨터에서 접근이 되지 않는다.
그렇기 때문에 www에 192.168.0.6을 입력해준 후, 다시 포트포워딩을 해야 한다.
- 그리고 위의 그림처럼 포트포워딩을 해준다.
이렇게 설정을 한다면?
같은 공유기를 쓰는 다른 컴퓨터에서 DNS server를 192.168.0.6으로 등록했을 때, 192.168.163.100:53으로 통신을 해서 www.cdh.com의 ip 주소를 얻어온다.
그 ip 주소가 192.168.0.6:80인데, 위에서 포트포워딩을 해서 192.168.163.200:80으로 변경시켜준다.
그렇다면 192.168.163.200의 가상 공유기 사설 ip 주소를 가진 가상 컴퓨터가 구동한 웹 서버로 이동하게 된다.
www.cdh.com이 ip로 바뀌는 과정은
위의 그림처럼 nameserver가 나오는데, 두개가 있다면 하나만 기억해두면 된다.
그 후, server (nameserver주소) 를 작성한다.
마지막으로 ls -d (www를 제외한 도메인주소)
만약 보안이 취약한 사이트라면 많은 정보가 나오게 된다.
이름과 type 그리고 ip나 도메인이 나오게 된다.
보안이 취약한 사이트는 저런 것을 타입에 따라 잘 작성하면 들어가진다....ㅋㅋㅋㅋㅋㅋㅋㅋ
이걸 막기 위해 /etc/named.conf에 있는 파일을 고쳐야 한다.