DNS 서버 구축 (실습위주) - https://jdh5202.tistory.com/604
리눅스 버전 * CentOS Linux release 7.3.1611 (Core) *
< dns 설치 >
# yum -y install bind
named -V (버전 확인) - [ Bind 9.9.4-RedHat ]
< DNS 기본 설정 파일 수정 >
# vi /etc/named.conf
listen-on port 53 { any; }; -- ipv4 DNS포트 허용
allow-query { any; }; -- 질의요청 모두 허용
recursion no; -- 보안설정 - 일반적인 질의응답은 불가 , 서버의 zone 파일에 있는 내용만 응답
zone “youdomain.com” IN { -- " IN 앞에 도메인이름 입력."
type master;
file “
youdomain.com.zone”; -- 1차 네임서버(master)에 대한 설정은 youdomain.com.zone 파일에 포함
allow-update {none;};
};
type : master(1차 네임서버) , slave(2차 네임서버) , hint(루트도메인 지정)
DNS서버의 recursion query 서비스는 DDoS 공격에 악용될 수 있다.
따라서 서비스 대상을 특정 호스트로 제한시키거나 중지시킨다.
- Option 항목의 "allow-recursion" 지시어를 이용하여,
recursive query 서비스를 특정 호스트로 제한시킨다.
DNS 시스템에 recursion query 서비스를 허용할 IP 범위가 192.168.57.0/24 일 경우,
/etc/named.conf 에 아래와 같이 추가한다.
options {
acl trust { 192.168.57.0/24; };
allow-recursion { trust; };
};
< zone 파일 생성 >
# cd /var/named -- zone 파일 , 정방향 설정 파일들이 위치함 -
# cp named.empty youdomain.com.zone -- 비어있는 zone 파일 복사
< zone 파일 수정 >
# vi youdomain.com.zone
$TTL 3H
@ IN SOA @ root. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 192.168.0.111 <-- ipv4 도메인이 찾아갈 IP 주소
AAAA ::1 <-- ipv6 ""
MX 10 mail.Mdomain.com.
mail A 192.168.253.131 <-- 메일서버 IP
www A 192.168.253.129 <-- 웹서버 IP
zone 파일의 설명 - 출처 : http://webdir.tistory.com/163 [WEBDIR]
- ; (세미콜론) : 주석을 의미함
- $TTL : Time To Live의 약자로 domain.com의 호스트 이름을 질의해 갔을 때, 질의해 간 다른 네임서버가 해당 IP주소를 캐시에 저장하는 기간
(3H - 3시간, 1D - 1일, 10M - 10분, 8600 - 24시간, 600 - 10분)
- @ : /etc/named.conf 파일에 정의된 youdomain.com을 의미하며 , youdomain.com.으로 고쳐써도 됨
- IN : 클래스 이름으로 internet을 의미함
- SOA : Start Of Authority의 약자로 권한의 시작을 뜻함. 또한, 괄호 안의 숫자는 시간을 의미함.
serial(버전 정보 - 년월일시간 순서로 셋팅) ,refresh(상위 네임 서버에게 업데이트된 정보를 요청하는 간격) ,retry(상위 네임 서버에 문제 발생시 재접속 간격) ,expire(상위 네임 서버에 접속 못할 경우 이전의 정보를 파기하는 간격) ,minimum(이 시간 이후에 정보가 삭제됨)H는 Hour, D는 Day, W는 Week의 약자임
- NS : Name Server의 약자로 설정된 도메인의 네임 서버 역할을 하는 컴퓨터를 지정함
- MX : Mail Exchanger의 약자로 메일 서버 컴퓨터를 설정함
- IN MX 10 mail.Mdomain.com. : 10은 메일주소의 우선순위를 위한 숫자
- A : 호스트 이름의 IP주소를 지정함
- CNAME : 호스트 이름에 대한 별칭을 부여할 때 사용함
< DNS 설정 파일 & zone 파일 검사 >
# chgrp named youdomain.com.zone -- youdomain.com.zone의 그룹 권한을 named로 변경함
named-checkconf [ DNS 설정 파일 경로 ] -- DNS 설정 파일 검사
named-checkzone [도메인명] [존파일 경로] -- zone 파일 검사
# named-checkconf /etc/named.conf
# named-checkzone youdomain.com /var/named/youdomain.com
< DNS 실행 && 방화벽 포트 허용 >
# systemctl start named.service -- DNS 실행
# netstat -ln | grep 53 -- 53번(DNS) 포트가 열려있는지 확인
# firewall-cmd --permanent --zone=public --add-port=53/tcp
# firewall-cmd --permanent --zone=public --add-port=53/udp
# firewall-cmd --reload
< DNS 서버 테스트 >
> nslookup -- 호스트 네임의 IP를 알려주는 명령어
> www.youdmain.com
> mail.youdomain.com
- DNS와 관련된 기본 용어 -
NS server [Domaim Name System]
> 도메인 네임을 IP 주소로 , IP 주소를 도메인 주소로 바꾸어주는 역할을 한다.
FQDN [Fully Qualified Domain Name]
> 호스트 네임과 도메인을 합쳐서 부르는 용어로 , 도메인 풀네임이라고도 한다.
ex] FQDN이 jkb1112.jks.co.kr 이면
호스트네임은 jkb1112 , 도메인 네임은 jks.co.kr이다
'OS-서버 > 리눅스-유닉스' 카테고리의 다른 글
쉘 시작시 특정 명령 실행하기 (0) | 2017.07.25 |
---|---|
[리눅스] 가상호스트(VirtualHost) (0) | 2017.07.05 |
[리눅스] 아파치 웹서버 구축 - 포트포워딩 (0) | 2017.06.21 |
리눅스 명령어 모음 (1) | 2017.06.07 |
하드링크 & 심볼릭링크 (0) | 2017.05.31 |