본문 바로가기
  • 지요미의 IT성장일기
Linux

도메인 네임 서버

by 지요미=P 2023. 12. 8.
728x90
도메인 네임 시스템(Domain Name System, DNS)은 호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 반대의 변환을 수행할 수 있도록 하기 위해 개발되었습니다. 특정 컴퓨터(또는 네트워크로 연결된 임의의 장치)의 주소를 찾기 위해, 사람이 이해하기 쉬운 도메인 이름을 숫자로 된 식별 번호(IP 주소)로 변환해 줍니다. 도메인 네임 시스템은 흔히 "전화번호부"에 비유됩니다. 인터넷 도메인 주소 체계로서 TCP/IP의 응용에서, http://www.example.com과 같은 주 컴퓨터의 도메인 이름을 192.168.1.0과 같은 IP 주소로 변환하고 라우팅 정보를 제공하는 분산형 데이터베이스 시스템입니다.

 

-> 80 포트가 열려있으면 충돌날 수 있으니 일단 httpd 포트를 죽여주었다.

 

 

 

 

 

 

 

 

 

 

yum -y install bind bind-chroot bind-utils

 

* 대표적인 레코드

SOA  : 다루는 도메인 버전과 업데이트 시간 간격 등의 정보를 저장하는 레코드

A    : 호스트 이름으로 IPv4 주소를 조회할 때 사용하는 레코드
       예: 호스트 ns.johnlee.shop의 IPv4 주소는 172.16.0.130

AAAA : 호스트 이름으로 IPv6 주소를 조회할 때 사용하는 레코드
       예: jprs.jp의 IPv6 주소는 2001:218:3001:7::80

PTR  : IP 주소로 호스트 이름을 조회할 때 사용하는 레코드
       예: 172.16.0.130의 호스트 이름은 ns.johnlee.shop

NS   : DNS 서버의 호스트 이름 혹은 IP 주소를 저장하는 레코드
       예: johnlee.shop의 DNS 서버는 ns.johnlee.shop

MX   : 메일 서버 호스트 이름 혹은 IP 주소를 저장하는 레코드
       예: johnlee.shop의 메일 서버는 mail.johnlee.shop

CNAME: 호스트 이름의 별칭을 저장하는 레코드
       예: http://www.johnlee.shop은 ns.johnlee.shop의 별칭(alias)     

 

 

vi /etc/named.conf
options {
        listen-on port 53 { 127.0.0.1; 10.25.0/24; 172.25.0/24; };
        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     { localhost; 10.25.0/24; 172.25.0/24; };
        forwarders { 8.8.8.8; 8.8.4.4; };

        recursion yes;

        dnssec-enable yes;
        dnssec-validation yes;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";

        managed-keys-directory "/var/named/dynamic";

        pid-file "/run/named/named.pid";
        session-keyfile "/run/named/session.key";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
view "internal" {
        zone "." IN {
                type hint;
                file "named.ca";
        };

        include "/etc/named.rfc1912.zones";
        include "/var/named/jyoonchu.shop.zones"; # 호스팅 영역 생성
};

 

 vi /var/named/jyoonchu.shop.zones

 

zone "jyoonchu.shop" IN {
        type master;
        file "jyoonchu.shop.db";
        allow-update { none; };
};

zone "0.25.10.in-addr.arpa" IN {
        type master;
        file "0.25.10.in-addr.arpa.db";
        allow-update { none; };
};

 

vi /var/named/jyoonchu.shop.db

$TTL    86400
@       IN      SOA     jyoonchu.shop.   root.jyoonchu.shop.(
                        2022041401 ; Serial
                        3h         ; Refresh
                        1h         ; Retry
                        1w         ; Expire
                        1h )       ; Minimum

        IN      NS      ns.jyoonchu.shop.
        IN      MX 10   ns.jyoonchu.shop.
ns      IN      A       10.25.0.101
web1    IN      A       10.25.0.100

 

 

 

vi /var/named/0.25.10.in-addr.arpa.db
$TTL	86400
@	IN	SOA	jyoonchu.shop.	root.jyoonchu.shop.(
			2022041401 ; Serial
			3h         ; Refresh
			1h         ; Retry
			1w         ; Expire
                        1h )       ; Minimum

	IN	NS	ns.jyoonchu.shop.
101	IN	PTR	ns.jyoonchu.shop.

 

# systemctl start named && systemctl enable named
# systemctl enable --now named

# firewall-cmd --permanent --add-service=dns
# firewall-cmd --reload

# systemctl restart NetworkManager

 

 

 

-> 포트번호 뭐가 열렸는지 확인!!

 

이제 53번 포트를 방화벽에서 열어주자.

 

 

-> 서비스정보로 뭐가 셋팅되었는지 확인할 수 있다.

 

 

-> 활동영역이 어딘지 확인하는 명령어이다.

 

 

 

자 이제 dns가 구축이 되었으니 dns의 ip를 확인해서 구성도에 넣어주고.

 

vi /etc/resolv.conf

 

-> 라우터에가서 네임서버에 web ip 정보 저장해주자.

 

핑이 간다.

 

ㅋㅋㅋ 나 넘 잘하는군

 

vi /etc/dhcp/dhcpd.conf
systemctl restart dhcpd

 

 

 

 

-> 짠!! 이렇게 생겼다.

 

난 잘하네 ㅎ

 

 

 

아무튼

라우터로 돌아와서

vi /etc/sysconfig/network-scripts/ifcfg-ens192
systemctl restart network
systemctl restart NetworkManager

 

 

 

??????

아 개빡침 안되는데 ㅡㅡ

 

됨.

vi /etc/sysconfig/network-scripts/ifcfg-ens192

 

 

 

 

 

 

 

728x90

'Linux' 카테고리의 다른 글

static으로 ip 고정시키기  (0) 2023.12.11
디비서버 생성하기  (0) 2023.12.11
1208 수업2  (0) 2023.12.08
12월8일 수업 공부 (ssh/포트포워드 기능 해봄)  (0) 2023.12.08
1207  (0) 2023.12.07