- 리눅스 DNS2024년 05월 23일 21시 00분 43초에 업로드 된 글입니다.작성자: 202401to07
✅리눅스 DNS✅
해당 수업 필기 : https://202401to07.tistory.com/97
IP >>>WEB>>> O
도메인 >>>WEB>>> X
도메인 >>>DNS>>>WEB O
--------------------------NET ID------------------------------------------
**요즘에는 글로벌로 com,net... 등등 국가도메인 없이 쓰임**
#rootdmain . (루트도메인 Root Domain 정보: http://root-servers.org)
1.최상위 도메인
2.모든 도메인 시작
3.도메인임을 증명
4.보통 web에서는 생략되나 DNS에서는 필수 기재
#top-level kr 국가 (jp:일본 , au:호주 , cn:중국 , US:미국....)
#second-level co com 회사 ( 영리목적기관 )
org 조직 ( 비영리목적기관 )
mil 군사 ( 군사기관)
gov 정부 ( 정부기관)
net 통신 ( 통신기관)
edu 교육 ( 교육기관)
mgr 관리 ( 관리기관)
#third-level sevas 회사명 ( ISP, 도메인업체에게 등록된 도메인)
--------------------------HOST ID--(마음대로 바꿔도 되는 부분)----------------------------------------
#subdomain www www 웹서버 사용자가 임의로
mail 메일서버 바꿀수있는 도메인
ftp 파일서버
db DB서버
==================================================================================
도메인해석순서
로컬도메인 => 1차도메인 => 2차도메인
/etc/hosts 1DNS서버 2DNS서버/etc/hosts --> 스푸핑으로 응용
================================================================================미니 192.168.10.10 vm8 / bind설치
록키 192.168.10.20 vm8
bind : LINUX/UNIX용 DNS전용 패키지 / 데몬 named / (DNS = bind )
ZONE : 정매칭 A :도메인을 IP에 매칭 www A 192.168.10.10
REV_ZONE: 역매칭 PTR :IP를 도메인에 매칭 10 PTR http://www.sevas.com.named.conf : 전역설정 (전체 적용)
named.rfc1912.zones : 지역설정 (각자 적용)
[ DNS 서버 설정 ]
yum install bind* -y
vi /etc/named.conf ( named 서버 전역환경)
options {
# listen-on port 53 { 127.0.0.1; };
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 { localhost; };
allow-query { any; }; <<<<<<<< 외부에서 nslookup사용가능
recursion yes; <<<<<<<<<<<<<< 전달자 가능
# dnssec-enable yes;
# dnssec-validation yes;
dnssec-enable no; <<<<<<<<<<<<<< dnssec 암호화 여부
dnssec-validation no; <<<<<<<<<<<<<< dnssec 암호화 키값
zone "." IN {type hint; <<<< type이 hint면 주로 root도메인
file "named.ca"; <<<< rootdomain 정보 저장파일
};
vi /etc/named.rfc1912.zones
43 zone "sevas10.com" IN { <<<<<<<< 정방향
44 type master;
45 file "sevas10.zone";
46 allow-update { none; };
47 };
48
49 zone "10.168.192.in-addr.arpa" IN { <<<<<< 역방향
50 type master;
51 file "sevas10.rev";
52 allow-update { none; };
53 };
cp named.empty sevas10.zone : zone 파일 생성
vi sevas.zone
*도메인 마지막에 . 붙이기
cp sevas.zone sevas.rev : 역방향 설정
vi sevas.rev
$TTL 3H <<<캐쉬시간
@ IN SOA ns.sevas10.com. root.sevas10.com. (
0 ; serial # [업데이트 날짜]
1D ; refresh #[ 재갱신 기간]
1H ; retry #[ 재시도 기간]
1W ; expire #[ 만료 기간]
3H ) ; minimum #[ 캐쉬 시간]
chown .named sevas10.* : 실행전 권한 바꾸기
chmod 660 sevas10.* : 실행전 권한 바꾸기 / (세컨에서 업데이트 할경우)
named-checkconf /etc/named.conf : 파일검사 (설정파일확인)
named-checkzone sevas10.com sevas.zone : 존파일검사 ( named-checkzone [도메인] [설정파일]
named-checkconf /etc/named.conf
named-checkzone sevas10.com /var/named <<<----zone 파일검사(dir)
named-checkzone sevas10.com sevas10.zone <<<----zone 파일검사
named-checkzone 192.168.10 sevas10.rev <<<----rev 파일검사
vi /etc/sysconfig/network-scripts/ifcfg-ens33
DEVICE=ens33
IPADDR=192.168.10.10
NETMASK=255.255.255.0
GATEWAY=192.168.10.2
ONBOOT=yes
DNS1=192.168.10.10 : 최종 랜카드 설정
service network restart
service named restart
cat /etc/resolv.conf <<<<<<<<<<<<<<*** DNS 참조 확인 ****
nslookup http://www.sevas.com 확인
====================================================================
로컬 컴퓨터와 DNS 연동
1. ncpa.cpl 에서 이더넷 및 vmnet 8 DNS 변경
2. cmd 에서 nslookup 확인
3. ping [도메인] 을 확인해서 IP가 제대로 가는지 확인
[안될경우 ipconfig /flushdns 를 쳐서 기다리거나
1번 내용을 다시 진행함 ]
mini (vmnet1 ) 10.10.10.10
http://www.sevas10.com10.10.10.10
ftp.sevas10.com 30.30.30.30
db.sevas10.com 20.20.20.20
client (vmnet2) 20.20.20.20ftp.korea10.com 10.10.10.10
=======================================================================
DNS SLVAE 설정
1. bind 설치 ( yum install bind* -y )
2. 전역 설정vi /etc/named.conf
options {
# listen-on port 53 { 127.0.0.1; };
listen-on port 53 { any; }; <<<< 외부에서 DNS서버 연결 허용
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";
# allow-query { localhost; };
allow-query { any; }; <<<<<<<< 외부에서 nslookup사용가능
allow-transfer { 20.20.20.20; }; <<<<<<<< 마스터에 넣어also-notify { 20.20.20.20; } ; <<<<<<<< 마스터에 넣어
recursion yes;
# dnssec-enable yes;
# dnssec-validation yes;
dnssec-validation no; <<<<<<<<<<<<<< dnssec 암호화 키값dnssec-enable no; <<<<<<<<<<<<<< dnssec 암호화 여부
3. 지역 설정 (마스터)vi /etc/named.rfc1912.zones
zone "korea10.com" IN {
type master;
file "korea10.zone";allow-update { none; };
allow-transfer { 20.20.20.20; }; <<<<<<<<<<<<<< 전역/ 지역
also-notify { 20.20.20.20; }; <<<<<<<<<<<<<< 전역/ 지역
};
4. 방화벽설정firewall-cmd --permanent --add-port 53/udp
firewall-cmd --permanent --add-port 53/tcp
firewall-cmd --reloadfirewall-cmd --list-all (확인)
서버(송)는 tcp , udp 둘다
클라이언트(수신)는 udp만 넣어야돼
5. 데몬 실행
service named restart
6. DNS 주소 이제 변경vi /etc/sysconfig/network-scripts/ifcfg-ens3
vi /etc/resolv.conf
service named restart
7. 지역설정 (슬레이브 slave)
vi /etc/named.rfc1912.zones
zone "sevas10.com" IN {
type slave;
file "slaves/sevas10.zone";
masters { 20.20.20.20; };
};8. 확인
nslookup http://www.sevas10.com
nslookup http://www.korea10.com
/var/named/slaves 에 보면 zone파일이 전송된것을 알수 있음
========================================================
정리포인트
0. DNSprimary server => 주영역 실제 DNS서버 내용 설정
secondry server => primary서버의 복사본
forward server => 다른 DNS에게 전달하기 위한서버 (설정X)
1. dns server type :
hint : root_domain
master : primary dns (주영역)
slave : secondry dns (보조영역)
2. /etc/name.conf 와 /etc/named.rfc1912.zones의 차이점
named.conf <<<<모든 도메인 및 DNS에 적용
named.rfc1912 <<<<지정한 도메인에 대해서만 적용
IXFR 방식 zone 파일비교 후 업데이트
AXFR(기본값) zone 파일전송
전달자 : 내가모르는 주소 다른서버에게 요청
조건부전달자: 특정한 주소에 대해서만 다른서버에게 요청
forward only : 무조건 전달 ---> 이거 많이 사용
forward first : 제일먼저 전달한뒤 없음 본인내용
forwarders { nameserverIP; nameserverIP;... };장점 : 내가 없는 도메인을 넘길수있다
*** 사설 IP로는 확인 어려움 공인IP로 확인해야됨 ***
### 전달자는 recursion yes; 가 활성화 되어있어야됨 ###recusion yes; = 포워딩
==========================================================20.20.20.20 DNS
http://www.sevas20.com20.20.20.20
vi /etc/named.conf
forward only;
forwarders { 20.20.20.20; };recursion yes;
========================================================================================
*** DNS 수업포인트 ***
zone 영역 정방향 nslookup http://www.sevas10.com A => 도메인이 기준
rev 영역 역방향 nslookup 192.168.10.10 PTR => IP가 기준 (보통 사용X)
DNSserver type
hint : root 도메인 서버
master : primary ( 주서버 ) slave시 allow-transfer
slave : secondry ( 보조(복사본)서버 ) masters { master IP; };
cache : forword (전달자)
TIP 빠른 업데이트를 원할경우
also-notify { slave IP; }; 를 주면 바로 변경됨
forward only; : 내주소에 없으면 다른 DNS로 가
forward first; : 다른 DNS주소 먼저 가고 없으면 내 주소 와
IXFR : 송신
AXFR : 수신
=============================================================
DNS 증폭공격이란? (DNS Reflector Attack)
DNS 쿼리를 요청할때 희생자의 IP로 스푸핑을 하여서 여러 DNS서버에 요청
요청을 받은 서버들은 희생자에게 쿼리내용을 보내게됨
희생자의 컴퓨터 DOS공격이 걸림
*보안방법*
1.recusion no; 로 하여 재귀적인 질문 차단 =
2.query type 을 지정하여 지정한 내용만 포워딩할수있게끔 쿼리문받음
3.allow-query를 허용된 네트워크만 설정하여 질의필터링'보안' 카테고리의 다른 글
2024.05.27.월.보안 day37 (1) 2024.05.27 2024.05.24.금.보안 day36 (0) 2024.05.24 윈도우 DNS (0) 2024.05.23 2024.05.21.목.보안 day35 (0) 2024.05.23 2024.05.20.수.보안 day34 (0) 2024.05.22 다음글이 없습니다.이전글이 없습니다.댓글