2024_0214_DNS 서버

이기태·2024년 2월 14일

리눅스

목록 보기
14/27

DNS: Domain name System, 도메인 이름을 IP주소로 변환.

DHCP: Dynamic Host Configuration Protocol, 네트워크 장치들에게 IP 주소 및 기타 네트워크 구성 정보를 자동으로 할당해주는 프로토콜
DDNS: Dynamic DNS, 유동적인 IP주소를 사용하는 컴퓨터의 경우 DNS정보를 유지해주는 방법.

DHCP와 DNS를 연동해서 사용.

ARPANET: Advanced Research Projects Agency Network, 1960년대 후반과 1970년대 초반에 미국 국방부의 고등 연구 계획국(ARPA, 현 DARPA)가 주도하여 개발된 최초의 컴퓨터 네트워크 => 군사목적 초기 네트워크

1. DNS 소개

2. DNS Server 설정 절차

1. 패키지 설치

# yum -y install bind bind-utils

2. 서버 설정

/etc/named.conf, /etc/named.rfc1912.zones, /var/named/*

3. 서비스 기동

# systemctl enable --now named

4.방화벽 등록

# firewall-cmd --premanent --add-service=dns

5. SELinux(?)

3. DNS Server 설정 + 실습

p.12~14 밑 파일들 확인 과정.

  • 패키지: bind, bind-utils
  • 데몬 & 포트 & 프로토콜: named, 53(TCP/UDP)
  • 주 술정 파일: /etc/named.{conf,rfc1912.zone}
  • 하위 설정 파일: /var/named/*
  • 서비스: named.service

[Ex] /etc/hosts 파일을 사용한 이전 도메인 관리 방식 실습 p.15~
[Ex] DNS 기본 설정 점검 (p.12~14)
[Ex] (main) DNS 서버 구축 - root(.)/.com DNS 서버 구축
[Ex] DNS 클라이언트 명령어

  • nslookup CMD: nsloopup "www.google.com"
    -> # nslookup
    -> > ns1.example.com
    -> > 192.168.10.20
  • dig CMD
  • host CMD
  • main DNS 서버 지정
    DNS 변경(/etc/resolv.conf): 168.126.63.1 -> 192.168.10.10
    # nmtui에서 DNS서버 192.168.10.10으로 변경

[Ex] DNS 서버 구축 - (server1) example.com 도메인 서버 구축
[ /var/named/example.zone ]

$TTL 4
@ IN SOA ns1.example.com. root.example.com. (
10 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
example.com. IN NS ns1.example.com.
ns1.example.com. IN A 192.168.10.20

[Ex] DNS 서버 구축 - (server2) test.com 도메인 서버 구축
[구축]


[등록] .
[Ex] 도메인 등록 (등록은 .zone, rev는 해도되고 안해도되고(DNS서버는 해줘야함.))

  • DNS 등록(NS: Name Server)
    @ IN NS ns1
    example.com. IN NS ns1
    example.com. IN NS ns1.example.com.
    ns1 IN A 192.168.10.20

  • MAIL 등록(MX: Mail eXchange)
    example.com. IN MX 10 mail
    mail IN A 192.168.10.20

  • WEB 등록(A: Address)
    www IN A 192.168.10.20

  • FTP 등록
    ftp IN A 192.168.10.20

  • CAFE 등록(A, CNAME: Canonical Name)
    cafe IN CNAME ns1
    cafe IN A 192.168.10.20

  • SSH 등록(PTR: Pointer Address)
    20 IN PTR ssh
    20 IN PTR ssh.example.com.

Ex DNS와 웹서버 연동 원리


[Ex] DNS 웹 부하 분산(DNS Load Balancing)
[Ex] 도메인 위임(Domain Delegation)
웹호스팅 업체에서 일반적으로 사용.

[Ex] Master DNS Server / Slave DNS Server 구축 (p.41~43)

[Ex] 존(ZONE) 파일 업데이트 실습 (p.44~46)

시리얼번호 체크 잘 하기.

[Ex] rndc CMD 실습 (p.47~51)

[Ex(X), 설명만] allow-update 지시자/nsupdate CMD(용어: Dynamic DNS) (p.52~54)

  • DNS 기능: 이름 <-> IP

  • DDNS 기능: 이름 <-> 동적 IP
    (ㄱ) 공유기 설정
    (ㄴ) DHCP <-> DNS 연동

  • 존 데이터 변경방법
    vi /var/named/example.zone에서 변경
    또는
    nsupdate
    > update delete centos.example.com. 4 A
    > update add centos.example.com. 4 A 192.168.10.20

  • DDNS 설정
    # nsupdate
    > update delete centos.example.com. 4 A
    > update add centos.example.com. 4 A 192.168.10.20

  • nsupdate로 아무나 설정하면 안되기 때문에 Master DNS Server에서 특정 IP에 허용하도록 설정.

[Ex(X), 설명만] allow-tranfer 설정 (p.55~)
보안 설정.


[*] 깃 허브 파일 올리기
저장소 만들기
토큰 만들기
https://github.com/leekt0321/02_LinuxServerAdmin.git


[linux][add/commit/push]
yum -y install git-core

echo "# 02_LinuxServerAdmin" >> README.md
git init
git add README.md

# git config --global user.email " EMAIL"
# git config --global user.name " NAME"
# git config --list (cat ~/.gitconfig)

git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/leekt0321/02_LinuxServerAdmin.git
git push -u origin main


4. DNS 보안

  1. 공개키 암호화: 각 도메인의 DNS는 공개키와 개인키 쌍을 가지고 있다. 공개키는 DNS 데이터에 서명하는데 사용되고 개인키는 서명을 확인하는데 사용.
  2. 디지털 서명: DNSSEC는 DNS 레코드에 디지털 서명을 추가해 데이터 무결성을 보장한다. 이 서명은 해당 레코드의 소유자가 데이터를 제공했음을 증명하는 역할. => 위조나 변조를 방지.
  3. DNSSEC 체인: DNSSEC는 DNS데이터의 인증을 위해 체인 형태의 구조를 사용한다. 체인은 DNSSEC에서 사용하는 서명과 공개키를 거슬러 올라가며 루트 DNS 서버의 공개키까지 검증한다.


  • 모니터링
    dnsgraph

** 다시 봐야겠네..

0개의 댓글