보안세상

리눅스 네임서버 구축 본문

공부

리눅스 네임서버 구축

똔민 2015. 1. 11. 16:27
반응형

[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
Comments