본문 바로가기

linux

DNS 개념, DNS 로컬 서버 연결

DNS(Domain Name System)

  • IP 네트워크에서 사용하는 시스템이다.
  • 영문/한글 주소를 입력하면 IP 네트워크에서 찾아갈 수 있는 IP로 변환해 주는 것이다.
  • DNS를 운영하는 서버를 네임 서버라고 한다.
  • 예를 들어 www.naver.com으로 접속을 하면 dns를 통해 네이버 홈페이지를 직접 호스팅 하는 컴퓨터의 실제 IP 주소인 223.130.200.104로 변환되어 들어가지는 것이다.

루트 네임 서버(Root Name Server)

  • 인터넷 DNS의 루트 존이다.
  • 도메인 이름 공간의 최고점에 있는 정보를 가지고 있다.
  • 탑 레벨 도메인 부분의 이름 해석을 담당한다.
  • 인터넷의 핵심을 담당하는 중요한 서버이다.
  • 현재 13개의 루트 네임 서버가 존재한다.
구축 전 방화벽에서 tcp, udp 53포트를 열어야 한다.
kt cloud의 경우 master 서버에서 tcp, udp, 53포트를 추가해야 한다.

 

/var/named의 그룹 권한을 named로 바꿔야 한다.
 
테스트 환경
  • 클라우드 플랫폼: KT Cloud
  • OS: CentOS 7.6 버전

DNS 서버 구축

1. 아래의 명령어를 통해 DNS를 설치한다.
# yum -y install bind

 

2. DNS 세팅을 위해 /etc/named.conf 파일을 아래와 같이 설정한다.

# vi /etc/named.conf

options { 
        listen-on port 53 { any; }; 
        listen-on-v6 port 53 { ::1; }; 
        directory       "/var/named"; 
        dump-file       "/var/named/data/cache_dump.db"; 
        statistics-file "/var/named/data/named_stats.txt"; 
        memstatistics-file "/var/named/data/named_mem_stats.txt"; 
        recursing-file  "/var/named/data/named.recursing"; 
        secroots-file   "/var/named/data/named.secroots"; 
        allow-query     { any; };
// listen-on port 53 any; : 53 포트로 오는 모든 요청을 듣겠다
// allow-query any; : 어떠한 곳에서 요청하는 쿼리든 허용한다.
 

3. /etc/named.rfc1912.zones 파일 맨 아래로 가서 다음과 같이 설정한다.

# vi /etc/named.rfc1912.zones
..

zone "stw.com" IN { 
        type master; 
        file "stw.com.zone"; 
        allow-update { [클라이언트 내부 아이피]; };  
        allow-transfer { [클라이언트 내부 아이피]; };
};

 

4. zone파일을 쉽게 세팅하기 위해 /var/named 디렉터리에 named.localhost 파일을 복사한다.

# cd /var/named
# cp named.localhost stw.com.zone

 

5. 그 이후 복사한 파일의 설정을 아래와 같이 변경한다.

$TTL 1D 
@       IN SOA  @ stw.com.zone. ( 
                                        0       ; serial 
                                        1D      ; refresh 
                                        1H      ; retry 
                                        1W      ; expire 
                                        3H )    ; minimum 
        IN      NS      www.stw.com. 
        IN      A       [외부 IP] 
www     IN      A       [외부 IP] 
~

 

6. /var/named 폴더의 권한을 변경해준다.

# chmod -R 755 /var/named

 

7. dns 서비스를 시작한다.

# systemctl start named
# systemctl status named    // 오류가 발생할 경우 오류 확인용

 

8. 네임서버 ip를 지정 후 nslookup을 통해 네임서버와 연결이 되는지 확인한다.

# vi /etc/resolv.conf
..
; generated by /usr/sbin/dhclient-script 
nameserver [외부 아이피] 
~ 

# nslookup [도메인]

 

9. 윈도우 키를 누른 다음 이더넷을 검색 하고, 이더넷 설정을 누른다.

 

10. 어댑터 옵션을 선택한다.

11. 이더넷을 선택한다.

 

12. 속성을 누른다.

13. 인터넷 프로토콜 버전 4(TCP/IPv4)를 선택한다.

14. 다음 DNS서버 주소 사용을 선택 후 기본 설정 DNS 서버에 외부 IP 주소를 적는다.

15. 도메인을 입력하고 내가 만든 index 파일이 뜨면 성공이다.

 

'linux' 카테고리의 다른 글

[Linux] 자주쓰는 명령어 정리  (0) 2025.07.23
리눅스 MySQL 설치 및 이중화 설정  (0) 2022.02.04
리눅스 명령어 50개  (0) 2021.12.31
centos7 파티션 설정  (0) 2021.05.25
centos 7 minimal 부팅 usb 만들기  (0) 2021.05.11