DNS 서비스 설치
#yum list bind
#yum -y install bind //DNS 서비스 설치
#systemctl start named //DNS 서비스 실행
#systemctl status named //DNS 서비스 동작 확인
#netstat -lntup |grep :53 //53번포트 열려 있는지 확인
DNS 서비스 설정
#netstat -lntu 을 해줬을 때 state 부분에 LISTEN 이라고 되어 있다.이 LISTEN 뜻은 프로그램이 실행을 해서 다른 사용자가 나한테 들어올 수 있도록 문을 열고 기다리는 상태를 뜻한다.
#netstat -lntup 을 해줬을 때 Local Adress 부분에 127.0.0.1 이거나 0.0.0.0 이다.
0.0.0.0 는 모든 ip를 의미한다. 즉 모든 컴퓨터가 포트를 통해 들어올 수 있다는 뜻이다.
하지만 127.0.0.1 은 루프백 ip로 나 자신만 접속할 수 있는 상태이다.
DNS 서비스는 컴퓨터가 인터넷을 할 때 www.khsec.edu 로 통신을 할 수 없으니 이거에 해당하는 ip를 알려주는 역할이다. 그러므로 다른사람도 접속해야 하기 때문에 바꿔줘야한다.
#vi /etc/named.conf
:set nu 로 vi 편집기 행 번호를 보이게 한다.
11행에 listen-on prot 53 { 127.0.0.1; }; 로 되어있는 것을 { any; }; 로 바꿔준다.
19행에 allow-query { localhost; }; //누군가가 www.khsec.edu 를 물어보는데 localhost 에게만 허가해줬다는 뜻
{ localhost; }; 부분을 { any; }; 로 바꿔준다.
31행 recursion yes; //보안상 중요한 옵션이다.
재귀쿼리라고 해서 "다른 dns 서버랑 통신을 맘대로 막 할거냐" 라고 물어보는 뜻이다.
보안상 recursion no; 로 바꿔준다.
도메인 주소 설정
52행에 zone "." IN { 이 있다.
여기서 . 은 루트 디렉토리 dns 서버를 의미한다.
dns 는 항상 . 부터 시작해서 내려온다.
만약 www.google.com. 이면 . com google www 순으로 내려온다.
원래 도메인 뒤에 . 이 있는데 생략해서 쓸 뿐이다.
실제로 접속이 된다.
사진출처 : 한국인터넷정보센터
57행부터 내용을 추가해준다.
57 zone "khsec.edu" IN {
58 type master;
59 file "khsec.edu.zone";
60 allow-update {none;};
61 };
wq 로 저장하고 종료한다.
#named-checkconf /etc/named.conf //틀린 오류 찾아줌
아무것도 안뜬다면 오류가 없다는 뜻이다.
#cd /var/named/
#ls
khsec.edu.zone 이름의 파일을 여기서 만들어줘야 한다.
여기에는 named.empty 라는 샘플 파일이 있다.
이 파일을 복사해서 적어주면 된다.
#cp named.empty khsec.edu.zone
#vi khsec.edu.zone
:set nu 로 vi 행번호를 출력해준다.
2행에서 SOA 는 관리 권한의 시작을 의미한다. 보통 이 DNS를 누가 관리하는지 관리자, 도메인 이름 형태로 쓴다.
rname.invalid. 을 지우고 root. 으로 써준다.
8행의 NS 는 네임 서버이다.
9행의 루프백 ip를 자기 서버 주소를 적어준다.
9행 밑에 MX 10 mail.khsec.edu. 를 추가시켜준다.
MX는 메일교환기라는 뜻이다. 만약 MX가 없다면 이메일을 보낼 수 없다.
13행부터 내용을 추가해준다.
13 www A 192.168.XXX.XXX
14 mail A 192.168.XXX.XXX
15 ftp A 192.168.XXX.XXX
16 webmail A 192.168.XXX.XXX
:wq 로 저장하고 나와준다.
#ls -al
만들어준 khsec.edu.zone 권한이 root root 이다.
dns는 프로그램 권한으로 동작을 해야하기 때문에 그룹 권환을 바꿔준다.
#chown :named khsec.edu.zone
#ls -al
root named로 바뀐것을 확인 해준다.
#named-checkzone khsec.edu khsec.edu.zone
오류를 확인해준다. OK 가 뜨면 정상이라는 뜻이다.
설정 파일을 바꿨기 때문에 서비스 재시작을 해줘야 한다.
#systemctl restart named
방화벽 정책 설정
#firewall-cmd --permanent --zone=public --add-port=53/tcp
#firewall-cmd --permanent --zone=public --add-port=53/udp
#firewall-cmd --reload
동작 테스트
Windows 에서 cmd 실행해준다.
nslookup 을 쳐준다.
server 본인dns서버ip
www.khsec.edu
ftp.khsec.edu
mail.khsec.edu
위에 내용을 입력하면 Adress에 zone 파일에 설정된 내용이 나온다.
'<Linux>' 카테고리의 다른 글
이메일 서버 구축 후 이메일 보내기 #5 (2) | 2020.07.24 |
---|---|
이메일 서버 구축 후 이메일 보내기 #4 (0) | 2020.07.23 |
이메일 서버 구축 후 이메일 보내기 #3 (0) | 2020.07.22 |
이메일 서버 구축 후 이메일 보내기 #1 (0) | 2020.07.20 |