보안세상
리눅스 네임서버 구축 본문
|
[NAMESERVER 구축하기]
네임서버?
윈도우에서 말하는 DNS 서버. 리눅스에서는 네임서버라고 부른다.
오늘은 네임서버를 구축해 보겠습니다.
네임서버를 구축하기 전에 해줘야 할 사전작업이 있습니다.
1. 패키지 설치
패키지를 설치하기 전에 반드시, 해당 패키지가 설치되어 있는지 확인합니다.
rpm -qa | grep bind
세 개의 파일이 걸려 나왔습니다.
우리가 깔아야 할 패키지는 다섯개입니다.
패키지가 설치되어 있지 않다고 가정하고, 작업에 필요한 패키지를 모두 깔아보겠습니다.
yum install -y bind-utils bind-libs bind-chroot caching-nameserver
yum은 인스톨 마법사입니다. 옵션 -y는 중간에 설치과정을 묻는 질문에 모두 yes라고 대답한다는 뜻입니다.
패키지가 설치되었습니다.
제대로 설치됐는지 확인합니다.
rpm -qa | grep bind
설치된 파일 다섯개가 보입니다.
지금부터 네임서버 설정을 해보겠습니다.
네임서버 설정을 할 파일이 있는지 ls 명령어로 확인합니다.
ls /etc/named.caching-namerserver.conf
이름이 푸른색으로 뜨네요.
ll로 자세한 정보를 보니 링크 파일이라고 되어 있습니다.
심볼릭 링크는 '바로가기' 파일입니다. 즉, 해당 파일을 실행하면 -> "원본파일"을 실행한다는 뜻입니다.
작업을 하기 위해 디렉토리를 이동합니다.
cd /var/named
ls로 내용물을 보니 chroot가 보입니다.
chroot는 루트 보안을 위한 디렉토리입니다. 외부에서 루트로 침입할 경우, chroot가 이를 막아줍니다.
한번 chroot로 이동해 보겠습니다.
세 개의 디렉토리가 보입니다.
etc 디렉토리로 이동합니다.
디렉토리를 이동해서 PWD로 해당 위치를 확인해보니, /var/named/chroot/etc라고 되어 있습니다.
외부에서 침입할 경우 최상위 경로는 /etc로 보입니다. 즉, chroot 앞에 있는 경로는 chroot로 보호되고 있는 것입니다.
이제 정말로 네임서버를 설정해 보겠습니다.
작업 디렉토리로 이동합니다.
cd /var/named/chroot/etc
ls로 내용물을 확인합니다.
네임서버 기본 설정 파일을 열어 보겠습니다.
vi named.caching-nameserver.conf
설정 내용이 보입니다.
여기에서 주의해서 봐야 할 항목들이 있습니다.
listen-on port 53 { 127.0.0.1; };
네임서버의 포트는 53번입니다. { } 안에 있는 것은 접속을 허용하는 사용자입니다.
127.0.0.1은 로컬호스트, 즉 '나'를 가리키는 말입니다. 내가 나한테 접속을 할 필요는 없겠지요?
127.0.0.1을 any로 수정합니다. 누구든지 접속 가능하다는 뜻입니다.
본문에 있는 localhost 부분을 모두 any로 바꿔준 후 저장합니다.
이제 zone 파일을 수정해보겠습니다.
vi named.rfc1912.zones
설정 내용이 보입니다.
보면 "localdomain"과 "localhost"라고 되어있는 두 개의 존이 있습니다.
첫번째 존은 정방향, 두 번째 존은 역방향 설정입니다.
정방향 설정만 해도 충분합니다.
zone "localdomain" IN { "도메인"
type
master; master/slave/hint 마스터. 즉 정보를 주는 역할
file "도메인이름.zone"; 정방향
서비스 파일이름. /var/named에 저장
allow-update { none; }; 업데이트 안함으로 설정. 정보
업데이트는 슬레이브가 하는 것
};
여기에서 "localdomain"과 "도메인이름.zone"을 자신이 쓸 도메인으로 바꿔줍니다.
수정한 후 저장 및 종료
위에 입력한 "palebluedot.zone"을 만들어야 네임서버가 작동을 합니다.
지금부터 만들어보겠습니다.
일단 localhost.zone을 엽니다.
vi localhost.zone
여기에서 연결할 서버들을 추가해줍니다.
그전에, IN A 옆에 있는 IP 주소를 자신이 설정할 DNS 주소로 바꿉니다.
저는 FTP와 WWW를 하나씩 추가해보겠습니다.
해당 프로토콜과 IP주소를 써줍니다.
띄어쓸 때 스페이스바가 아니라 탭키를 쓰는 게 좋습니다.
이 상태에서 다른 이름으로 저장합니다.
>:wq 도메인이름.zone
이렇게 하면 다른 이름으로 파일이 저장됩니다.
저장이 되지 않는다면 wq명령 뒤에 !를 붙여주면 됩니다. !는 강제종료입니다.
*Tip!
NAMESERVER에서 @은
금지어
@=localhost(127.0.0.1)
이메일 쓸 때는 @ 대신 점을
찍는다.
방금 생성한 zone 파일의 그룹 소유권을 바꿔줍니다.
>chown .named 도메인이름.zone
앞에 점(.)은 소유자를 뜻합니다. 점을 찍는다는 건 소유자를 바꾸지 않는단 뜻입니다.
설정을 마쳤으면, 데몬을 재실행합니다. 데몬을 재실행해야 변경된 설정이 적용됩니다.
service named restart
데몬이
재부팅되었습니다.
네임서버가 제대로 작동하는지 확인합니다.
>host 도메인주소
설정한 FTP, HTTP 주소가 제대로 뜨면 성공한 겁니다.
여기까지 네임서버 설정이었습니다.
네임서버 역방향 설정은 기본적으로 정방향 설정과 같습니다.
그 중에서 두 개의 파일만 건드려주면 됩니다.
vi /var/named/chroot/etc/named.rfc1912.conf
정방향 zone 설정 밑에 'in-addr.arpa'가 들어가는 zone에 역방향 설정을 해줍니다.
역방향에서는 file을 도메인네임.zone이 아니라 '도메인네임.rev'로 설정해줍니다.
그 다음에는 위에서 말한 rev 파일을 만들어줍니다.
rev 파일의 디폴트는 named.local 입니다. 따라서 named.local을 도메인네임.rev로 복사해서 수정해주면 됩니다.
cd /var/named/chroot/var/named
cp named.local 도메인네임.rev
vi 도메인네임.rev
역방향 rev 파일입니다.
서버를 추가해줄 때, 맨 앞에 아이피주소의 끝자리를 써줍니다. PTR은 Point to reverse, 즉 역방향 레코드입니다. 뒤에는 자신이 만든 도메인주소를 입력하고 저장하면 완료!
'공부' 카테고리의 다른 글
OSPF의 개요및 장점 세팅까지 (0) | 2015.06.20 |
---|---|
패킷트레이서를 이용해서 dscp 실습 (0) | 2015.06.20 |
구글 검색 Tip (0) | 2015.01.10 |
Syn flooding 공격과 syn cookie 방어로직 (0) | 2015.01.09 |
IPTABLES 명령어 (0) | 2015.01.09 |