2013년 11월 30일 토요일

인버스 도메인 신청/위임 및 서브도메인 위임

- 작성자 : san2(at)linuxchanne.net
- 작성일 : 2002.04.25
- 수  준 : 초중급이상

http://www.linuxchannel.net/docs/inverse-subdomain.txt

이문서는 인버스 도메인 신청,위임 및 서브도메인 위임에
대해서 개략적인 설명을 그 내용으로 하고 있습니다.

----------------------------------------------------------
1. 인버스 도메인
2. 인버스 도메인은 어떤 경우에 사용되나?
3. 인버스 도메인 신청은?
4. 서브 도메인 생성 및 인버스 도메인 위임
  4-1. 하나의 C클래스(192.168.11.0)를 통째로 위임할 경우
  4-2. 하나의 C클래스(192.168.10.0)중 일부분을 위임할 경우
5. 후기
----------------------------------------------------------


1. 인버스 도메인(inverse domain)

역도메인이라고도 합니다. 이는 IP주소를 역으로 나열해서 뒤에
옥텟(octet)단위의 'in-addr.arpa' 이라는 특수 도메인이 붙은
도메인을 말하며, 역변환(IP주소->FQDN 리졸빙) zone에서
PTR(PoinTeR) 레코드를 사용해서 FQDN을 지정합니다.

* FQDN(Fully Qualified Domain Name)
* 옥텟(octet)단위 :
  IP주소를 8비트씩 묶어 dot(.)으로 구분하여 표현

IP주소가 192.168.10.3 이라면
.
arap.
in-addr.arpa.
192.in-addr.arpa.
168.192.in-addr.arpa.
10.168.192.in-addr.arpa.
3.10.168.192.in-addr.arpa.

3.10.168.192.in-addr.arpa. 도메인은 상위의 10.168.192.in-addr.arpa.
도메인에서 위임받은 서브도메인입니다.
또한
특별하게 도메인을 쪼개어 위임하지 않는 이상, 위와 같은
블럭단위 -옥텟(octet)단위- 인버스 도메인을 사용합니다.

일반적으로 지역 node에서 이 인버스 도메인을 관리하는데
A,B,C클래스 단위로 관리 및 위임합니다.


2. 인버스 도메인은 어떤 경우에 사용되나?

역변환이 이루어질때 사용됩니다.
예를들어, 원격의 다른 네트워크로 FQDN이 아닌 IP 주로 POP3 와
같은 서버에 접속할때 IP주소를 FQDN으로 역변환합니다.
(POP3 서버에서 이 기능을 Off할 수 있음)
간혹 원격의 POP3에 IP주소로 접속할때 상당히 접속이 느려진
경험을 했을 겁니다.
이런 경우는 LocalDNS에서 역변환하는 과정중 네임스페이스가 깨져
역변환을 제대로 못한 경우입니다.
상대방 node에서나 네임서버 zone에서 위임받은 인버스 도메인을
설정해줘야합니다.

하지만,
굳지 인버스 도메인을 위임받지 않더라도, 같은 LocalDNS을 사용하고
이 LocalDNS 가 설정한(위임받지 않은) IP주소로 접속하면 그만입니다.
다만 다른 외부 네트워크에 IP주소로 접속할때 상대방 node나
zone에서 인버스 도메인을 (위임받아) 설정하지 않으면 곤란하죠...


3. 인버스 도메인 신청은?

인버스 도메인을 신청할때 해당 ISP로 전화해서 문의하면 지역 node로
연결해 줄겁니다.(경기 남부지역일 경우 대부분 동수원)
이때 사업장(해당 기관)에서 C클래스 단위가 아닌 C클래스의 일부분을
사용할 경우는 C클래스나 일부분 통째를 위임해주지 않습니다.
어것 때문에 작년 가을쯤에 강력하게 항의(?)했는데 당담자 분이
쩔쩔매더군요...

'왜 안됩니까? 25,26,27 비트 정도로 서브도메인을 생성해 주면 되지
않습니까?'
'.....'
'그럼 안된다면 어떤 규정이나 원칙이 있나요?'
'.....'
'그럼 제가 포기하죠.....1,2차 네임서버만 설정해 주세요...'
'네...'

현시점에서 상당히 많은 작은 규모의 사업장에서는 C클래스 단위가 아닌
255.255.255.128, 255.255.255.192, 255.255.255.224 와 같은
넷매스크를 많이 사용합니다.
위와 같은 넷매스크를 사용하고 있는 사업장에서는 호스트가 생성될
때마다 인버스 도메인을 설정해 달라고 괴롭게 해야하는 판국입니다
....T.T

$ nslookup aaa.bbb.ccc.ddd 168.126.63.1
...
** server can't find ddd.ccc.bbb.aaa.in-addr.arpa.: NXDOMAIN
$

위와 같이 localDNS가 아닌 **받드시** 다른 네임서버(168.126.63.1)에
질의해서 역변환이 되지 않는다면 신청하는 것이 좋습니다(필요하다면).
(KLDP는 인버스 도메인이 없군요)

dig를 사용한다면

$ dig @168.126.63.1 -x 202.30.50.90
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 19622
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;90.50.30.202.in-addr.arpa.     IN      PTR

;; ANSWER SECTION:
90.50.30.202.in-addr.arpa. 3600 IN      PTR     www.nic.or.kr.

;; AUTHORITY SECTION:
50.30.202.in-addr.arpa. 3600    IN      NS      ns1.nic.or.kr.
50.30.202.in-addr.arpa. 3600    IN      NS      ns2.nic.or.kr.

;; ADDITIONAL SECTION:
ns1.nic.or.kr.          3600    IN      A       202.30.50.51
ns2.nic.or.kr.          3600    IN      A       218.145.52.186

;; Query time: 35 msec
;; SERVER: 168.126.63.1#53(168.126.63.1)
;; WHEN: Wed Apr 24 12:13:11 2002
;; MSG SIZE  rcvd: 138
$

또는

$ dig @168.126.63.1 ddd.ccc.bbb.aaa.in-addr.arpa PTR

host 를 사용한다면

$ host -t PTR aaa.bbb.ccc.ddd 168.126.63.1


4. 서브 도메인 생성 및 인버스 도메인 위임

서브도메인을 생성 및 위임할때 퍼블릭도메인은 비교적 간단하나
인버스 도메인 생성및 위임은 상당히 까다롭습니다.
(특히 클래스 단위로 위임하지 않는다면)


4-1. 하나의 C클래스(192.168.11.0)를 통째로 위임할 경우

위임받은(또는 할당받은) IP주소가 C클래스 단위로 2개 이상일
경우에 해당됨(비교적 쉬움).

----------------------------------------------------------
; 퍼블릭 서브 도메인 생성 및 위임.
; kernel.linux.ac.kr 이라는 서브 도메인을 생성하고,
; 서브 도메인의 1차 네임서버는 ns.kernel.linux.ac.kr
; 2차 네임서버는 ns2.kernel.linux.ac.kr로 위임함.
;
$ORIGN linux.ac.kr.
;...
kernel IN NS ns.kernel
       IN NS ns2.kernel
;...
ns.kernel  IN A 192.168.11.3
ns2.kernel IN A 192.168.11.4
;...
----------------------------------------------------------

----------------------------------------------------------
; 인버스 도메인 위임.
; 192.168.11.0/24 네트워크 모두를
; 1차 네임서버는 ns.kernel.linux.ac.kr
; 2차 네임서버는 ns2.kernel.linux.ac.kr로 위임함.
;
$ORIGN 11.168.192.in-addr.arpa.
;...
@ IN NS ns.kernel.linux.ac.kr.
  IN NS ns2.kernel.linux.ac.kr.
;...
----------------------------------------------------------

서브도메인의 named.conf 파일

zone 'kernel.linux.ac.kr' IN {
type master;
file 'zone-kernel.linux.ac.kr';
...
};
zone '11.168.192.in-addr.arpa' IN {
type master;
file 'zone-11.168.192';
...
};


4-2. 하나의 C클래스(192.168.11.0)중 일부분을 위임할 경우

예: 네트워크 192.168.11.192/26
192.168.11.193 ~ 192.168.11.254까지의 62개 위임.

----------------------------------------------------------
; 퍼블릭 서브 도메인 생성 및 위임.
; kernel.linux.ac.kr 이라는 서브 도메인을 생성하고,
; 서브 도메인의 1차 네임서버는 ns.kernel.linux.ac.kr
; 2차 네임서버는 ns2.kernel.linux.ac.kr로 위임함.
;
$ORIGN linux.ac.kr.
;...
kernel IN NS ns.kernel
       IN NS ns2.kernel
;...
ns.kernel  IN A 192.168.11.193
ns2.kernel IN A 192.168.11.194
;...
----------------------------------------------------------

인버스 도메인 생성 및 위임은 상당히 까다로운데 두가지 정도로
설정할 수 있습니다.

[방법1] NS 레코드를 사용할 경우(권장하지 않음)
(단순하면서 상당히 반복 지루하고 지저분함)

----------------------------------------------------------
; 인버스 서브 도메인 자체 위임.
; 192.168.11.192/26 네트워크 모두를
; 1차 네임서버는 ns.kernel.linux.ac.kr
; 2차 네임서버는 ns2.kernel.linux.ac.kr로 위임함.
;
$ORIGN 11.168.192.in-addr.arpa.
;...
193 IN NS ns.kernel.linux.ac.kr.
    IN NS ns2.kernel.linux.ac.kr.
;
194 IN NS ns.kernel.linux.ac.kr.
    IN NS ns2.kernel.linux.ac.kr.
;
195 IN NS ns.kernel.linux.ac.kr.
    IN NS ns2.kernel.linux.ac.kr.
;...
254 IN NS ns.kernel.linux.ac.kr.
    IN NS ns2.kernel.linux.ac.kr.
;
; 위의 내용을 간단하게 $GENERATE 지시자를 사용하여
; 2줄로 요약할 수 있음(bind 8.2.3이후,bind 9.x)
;
$GENERATE 193-254 $ IN NS ns.kernel.linux.ac.kr.
$GENERATE 193-254 $ IN NS ns2.kernel.linux.ac.kr.
----------------------------------------------------------

서브도메인의 named.conf 파일

zone 'kernel.linux.ac.kr' IN {
type master;
file 'zone-kernel.linux.ac.kr';
...
};
zone '193.11.168.192.in-addr.arpa' IN {
type master;
file 'zone-193.11.168.192';
...
};
zone '194.11.168.192.in-addr.arpa' IN {
type master;
file 'zone-194.11.168.192';
...
};
...
zone '254.11.168.192.in-addr.arpa' IN {
type master;
file 'zone-254.11.168.192';
...
};

서브도메인의 zone-193.11.168.192 파일
----------------------------------------------------------
$ORIGN 193.11.168.192.in-addr.arpa.
@ IN SOA ns.kernel.linux.ac.kr. root.kernel.linux.ac.kr. ()
  IN NS ns.kernel.linux.ac.kr.
  IN NS ns2.kernel.linux.ac.kr.
  IN PTR ns.kernel.linux.ac.kr.
----------------------------------------------------------

[방법2] CNAME 레코드를 사용할 경우
(RFC 2317)

----------------------------------------------------------
; 인버스 서브 도메인 위임(CNAME으로 블럭 생성).
; 192.168.11.192/26 네트워크 모두를
; 1차 네임서버는 ns.kernel.linux.ac.kr
; 2차 네임서버는 ns2.kernel.linux.ac.kr로 위임함.
;
$ORIGN 11.168.192.in-addr.arpa.
;...
kernel IN NS ns.kernel.linux.ac.kr.
       IN NS ns2.kernel.linux.ac.kr.

193    IN CNAME 193.kernel
194    IN CNAME 194.kernel
195    IN CNAME 195.kernel
;...
254    IN CNAME 254.kernel
;
; 위의 내용을 간단하게 $GENERATE 지시자를 사용하여
; 한줄로 요약할 수 있음(bind 8.2.3이후,bind 9.x)
;
$GENERATE 193-254 $ IN CNAME $.kernel
----------------------------------------------------------

서브도메인의 named.conf 파일

zone 'kernel.linux.ac.kr' IN {
type master;
file 'zone-kernel.linux.ac.kr';
...
};
zone 'kernel.11.168.192.in-addr.arpa' IN {
type master;
file 'zone-kernel.11.168.192';
...
};

서브도메인의 zone-kernel.11.168.192 파일
----------------------------------------------------------
$ORIGN kernel.11.168.192.in-addr.arpa.
@ IN SOA ns.kernel.linux.ac.kr. root.kernel.linux.ac.kr. ()
  IN NS ns.kernel.linux.ac.kr.
  IN NS ns2.kernel.linux.ac.kr.
;...
193 IN PTR ns.kernel.linux.ac.kr.
193 IN PTR ns2.kernel.linux.ac.kr.
;...
195 IN PTR mail.kernel.linux.ac.kr.
;...
198 IN PTR www.kernel.linux.ac.kr.
;...
----------------------------------------------------------


5. 후기

생략

홈페이지 jQuery 라이브러리에서 CVE-2019-11358 취약점 패치 여부 확인 방법

현재 홈페이지에서 사용 중인 jQuery 라이브러리가 CVE-2019-11358 취약점 패치를 적용했는지 확인하는 방법은 다음과 같습니다. 1. jQuery 버전 확인 홈페이지 소스 코드를 확인하여 jQuery 라이브러리 버전을 직접 확인합니다. 웹 ...