본문 바로가기

Linux/기타

네임서버 세팅하기

======================================================================== DNS-LAB3> 아래 도메인명에 해당하는 간단한 네임서버 세팅하기!! 리눅스 IP : 192.168.56.150 도메인명 : myserver.com 호스트명 : www.myserver.com -- 작업 순서 -- 1. 설정파일에 도메인 영역 추가 2. forward zone 파일 생성 ==> 도메인을 ip주소로 매칭 시켜준다. 3. 심볼릭 링크생성 4. 네임서버 설정 확인 5. 네임서버 재시작 6. 확인 -- 작업 순서 -- - 전체설정 - 호스트 방화벽에서 DNS 53번 룰을 설정 # DNS-WEB# iptables -I INPUT -p udp --dport 53 -j ACCEPT # DNS-WEB# iptables -nvL DNS-WEB# iptables -F DNS-WEB# ifconfig eth1:1 192.168.56.150 1. 설정파일에 도메인 영역 추가 - 보안상 chroot 기능 때문에 /etc 에 심볼릭링크를 해놨다. - 실제 파일 : /var/named/chroot/etc/named.rfc1912.zones - 링크 파일 : /etc/named.rfc1912.zones - 파일의 끝에 myserver.com 에 대한 도메인 정보를 추가한다. DNS-WEB# vi /etc/named.rfc1912.zones -- /etc/named.rfc1912.zones -- : : zone "myserver.com" IN { type master; file "myserver.com.zone"; allow-update { none; }; }; -- /etc/named.rfc1912.zones -- 2. forward zone 파일 생성 <-- host 가 담겨있는 DB 파일이다. - 실제파일 : /var/named/chroot/var/named/myserver.com.zone DNS-WEB# cd /var/named/chroot/var/named DNS-WEB# vi myserver.com.zone -- myserver.com_zone -- $TTL 60 @ IN SOA @ root ( 42 ; serial (d. adams) 3H ; refresh                15M ; retry                  1W ; expiry                1D ) ; minimum ==> 위의 TTL 값을 사용할 경우 이 부분은 사용하지 않는다. IN NS @ IN A 192.168.56.150 www IN A 192.168.56.150 -- myserver.com_zone -- Serial ==> 파일이 수정되었을 때 시리얼번호를 증가시켜 2차 네임서버에 있는 zone파일의 시리얼번호와 과 비교하여 수정된 것을 판단하여 다시 읽어온다. ex) 2015061101 년,월,일,번호와 같이 의미있는 숫자로 수정

Refresh ==> Primary측의 Zone 데이터베이스 수정여부를 Secondary가 검사하는 주기. Retry
==> Secondary측에서, Primary와 연결이 안될 경우, 재 시도 시간 주기이다.
(ex, 재시도 하려할 때 Primary가 재부팅 중일 경우)

Expire
==> Secondary가 Expire로 지정된 시간동안 Primary에 연결하지 못할 경우, 오래된 백업카피의 자료가 더 이상 유효하지 않다고 보고, 해당 도메인에 대한 답변을 하지 않는다. 이 값을 너무 낮게 책정하는 것은 좋지 않다. 보통 1W - 2W(1209600)로 설정한다.

Minimum
==> 타 네임서버가 본 Zone에 기술된 자료를 갖고 갔을 경우, 그 자료에 대한 유효기간(캐쉬에 살아있는 시간)을 설정한다. TTL(Time To Live)값이 명시되지 않은 레코드는 본 값을 기본으로 갖게 된다. 특정 레코드가 변경되었을 때, 이것이 인터넷에 전파되어 업데이트되는 주기는 전적으로 이 Minimum 값에 의존한다. 일반적으로 SOA에서는 1D(86400)를 설정하여 전체 레코드에 적용하고, 잦은 변경이 예상되는 레코드만 명시적으로 1H - 3H 정도로 낮추는 방법을 사용한다. 0은 캐싱을 하지 말라는 의미이다.(IDC를 이전한다던지 하는 경우 TTL값을 0으로 설정하여 바로 적용시켜줘야 한다)  
==> DDos 공격이 들어오는 경우 TTL 값을 작게 설정하였다면 캐쉬가 살아있는 시간이 작게 설정되어있기 때문에 ip를 우회시킬 수 있다.

DNS-WEB# chgrp named myserver.com.zone 3. 심볼릭 링크생성 - ln -s `pwd`/<tab> 키를 이용해서 경로를 완성하면 편리하다. DNS-WEB# ln -s /var/named/chroot/var/named/myserver.com.zone /var/named ==> chroot 보안 설정상 링크생성하는게 좋음 4. 네임서버 설정 확인 - named-checkconf 는 아무 메세지가 나오지 않아야 정상이다. - named-checkzone 은 OK 나와야 정상적으로 설정된 것이다. DNS-WEB# named-checkconf /etc/named.rfc1912.zones DNS-WEB# named-checkzone myserver.com myserver.com.zone zone myserver.com/IN: loaded serial 42 OK 5. 네임서버 재시작 DNS-WEB# /etc/init.d/named restart or rndc reload named restart : 네임서버를 종료했다가 다시 시작                                                      rndc reload : 설정파일을 다시 읽어오는 것 6. 확인 - linux 에서 확인 - dig, nslookup, host ==> 도메인에 대한 ip 주소를 받아오는 명령어들 - 아래 두 개는 하지말 것!!! - DNS-WEB# dig myserver.com - DNS-WEB# dig myserver.com +short DNS-WEB# dig @localhost myserver.com DNS-WEB# dig @localhost myserver.com +short DNS-WEB# nslookup myserver.com localhost DNS-WEB# nslookup www.myserver.com localhost WEB# nslookup myserver.com 192.168.56.150 WEB# nslookup www.myserver.com 192.168.56.150 - windows 에서 확인 시작-> cmd -> c:\> nslookup myserver.com 192.168.56.150 !!! 팁 : 네임서버가 세팅이 잘안되면 아래를 확인 !!! !!! 1. 로그를 확인 <--- **** /var/log/messages !!! 2. 설정 확인 /var/named/chroot/etc/named.rfc1912.zones /var/named/chroot/etc/named.caching-nameserver.conf !!! 3. 권한 확인 /var/named/chroot/var/named/zonefile* named 가 읽기권한 O /var/named/chroot/var/named/* -> /var/name/* 링크생성 !!! 3. 심볼릭 링크가 제대로 걸려있는지 확인 !!! 4. 데몬이 떠있는지 확인 netstat -natu <-- 53 포트 (udp 확인) !!! 5. 방화벽에 53번 포트가 막혀있는지 확인 **** 과제 실습 : 웹서버 + DNS 연동 **** 웹서버 : 가상호스트 3개 네임서버 : 도메인 3개 http://myserver.com Welcome to myserver.com. http://myserver2.com Welcome to myserver2.com. http://myserver3.com Welcome to myserver3.com. ========================================================================



'Linux > 기타' 카테고리의 다른 글

vpopmail + cdb 설치  (0) 2015.06.15
ucspi-tcp 설치하기  (0) 2015.06.12
연습 2  (0) 2015.05.29
db 활용  (0) 2015.05.28
어셈블리[if]  (0) 2015.05.26