티스토리 뷰

전날에는 프로세스, 데몬. kill 명령어, ps 명령어와 옵션들에 대하여 공부를 하고, 마지막 시간에

 

DNS 서버에 관한 공부를 했다.

 

호스트가 캐싱 네임 서버를 통해서 root 네임 서버 -> com 네임 서버를 거쳐 nate.com네임 서버에서 www라는 호스트네임의

 

ip주소를 받아와서 캐싱 네임 서버의 캐시DB 에 저장 후 ip주소를 요청한 호스트에게 전송해 준다.

 

그림판으로 위에 글로 설명한 부분을 그려보았다.

 

named.conf 파일은 네임 서버 데몬의 설정 파일인 것으로 설정 파일이 추가될 때 어디 저장될 것인가, 나의 NIC 중 어떤 

 

NIC에 들어오는 DNS 질의를 허락할 것인가, 그 NIC에 어떤 호스트가 나에게 질의를 할 수 있는가, 내가 가진 캐시에 대한

 

응답을 받을 수 있는 호스트는 누구인가 등 많은 설정을 할 수 있는 파일이다.

 


nmcli : cli 환경에서 네트워크 매니저 프로그램을 설정하는 명령어



nmcli connection show [interface 명] : 랜카드 설정을 보여줘(디폴트값)


nmcli connection mod [interface 명] : 네트워크 설정 변경
- nmcli connection mod ens160 ipv4.addresses [ip주소1],[ip주소2],.... 
 ㄴ 다중 설정 가능



nmcli connection up [interface 명] : 해당 인터페이스 활성화(변경 후 새로고침)
nmcli connection down [interface 명] : 인터페이스 비활성화

 

반드시 포트를 열고 ping을 전송해 봐야 한다.

 

nmcli con up ens160을 쳐주지 않으면 새로고침이 되지 않는다.

 

 

zon "도메인" IN {
type { master/slave/hint };
file "";

 

type master;  이 서버를 내가 운영
type slave;  노예 서버
type hint; 내가 구성하지 않고 어딘가에 있을 서버를 찾는 것

/etc/named.conf파일은 초반에 설명했듯 여러 가지 설정이 존재한다.

하지만 우리 실습에 필요한 내용만 사용한다면

이 정도로 양을 줄일 수 있다.

named-checkconf를 쳐보면 프롬프트에 별다른 것이 안 나오면 잘한 것
ㄴ 문법만 검사해 주므로 ip주소가 잘못 적혔다면 정정해 주지 않는다.

DNS 서버의 데몬명은 named이다.
standalone 방식으로 실행되며 데몬명은
named.service 이다.

질의에는 두 가지가 있는데
반복적질의 : 한 호스트가 같은 캐싱 네임 서버에 반복적으로 질의하는 것
재귀적질의 : 캐싱 네임 서버가 root, com, nate.com 서버에 질의하는 것처럼 목적이 계속 달라지는 질의 방식

named를 실행하고, 방화벽을 열어주면 list 인터페이스로 접근한 allow에 허가된 호스트들은 dns 주소를 받아 갈 수 있다.

 


홑따옴표를 사용하면 명령어 사용 시 일관성 있게 사용 가능하다.

 

자동화를 하기 위해서는 다른 상황에서도 같은 명령어로 원하는 값을 얻어내는 명령을 해야 한다.


allow-query-cache 에 해당 네트워크를 전부 허용하는 주소를 적어 해당 네트워크 안에서 모든 호스트가 나에게 dns 질의를 할 수 
있도록 설정

any를 주소란에 넣으면 된다.




처음으로 돌린 뒤

 

오늘의 실습

1. bind 설치된 것 확인 (됨)
rpm -qc bind

2. ip 복수 설정
nmcli con mod ens160 ipv4.addresses 192.168.1.201/23,192.168.1.203/23,192.168.1.204/23
nmcli con mod ens160 +ipv4.addresses 192.168.1.205/23

3.새로고침
nmcli con up ens160

4. /etc/named.conf 파일 any, any로 변경

5. named 시스템 실행
systemctl start named.server



firewall-cmd --add-port=53/udp
firewall-cmd --add-port=53/tcp

 

방화벽을 일시적으로 여는 것이 아닌 계속 열어두고 싶다면 --permanent 명령어를 사용해 주면 된다.



6. dns 요청 1,3,4,5로 보내보기


/var/name/named.ca

/var/named/swj.co.mega.zone


options {
listen-on port 53     { 서버_청취_IP; }
listen-on-v6 port 53 { 서버_청취_IP; }
recursion yes;
allow-query
allow-query-cache {허용할 clinet ip}
}

zone " . " IN {
         type hint;
         file "named.ca"
};


네임 서버 구축 시 수신주소를 127.0.0.1과 192.168.1.209에서만 허용하고
질의 가능 범위를 192.168.0.0/23에서만 질의를 허용하게 해라.

 

positive ttl 있는 내용에 대한 ttl (윗 ttl
negative ttl 없는 내용에 대한 ttl

$ORIGIN swj.so.mega.
$TTL 86400 24H 1D 1W <=원하는 기간
swj.so.mega. IN SOA ns1.swj.so.mega. root.swj.so.mega. (
2025021100 ; Serial Number 여긴 주석임
3H ; Refresh
15M ; Retry
1W ; Expire
1D ) ; Minimum TTL
틀은 벗어나면 안 된다.


$ORIGIN swj.so.mega.
$TTL 86400 24H 1D 1W <=원하는 기간
swj.so.mega. IN SOA ns1.swj.so.mega. root.swj.so.mega. ( 2025021100 3H 15M 1W 1D);

 


ftp는 동적으로 포트 번호를 사용하는 프로세스이다. 

 

4계층 방화벽에서는 막기 위해서는 주로 사용되는 50000~51000을 열어놓아서 ftp를 사용할 수도 있지만, 

 

상시 개방의 의미이므로 보안상은 좋지 않다.

 

이렇게 동적으로 작동하는 프로세스들은 7계층 상에서 동작하는 방화벽으로 사용하는 것이 좋다.

 


/var/named/swj.so.mega.zone(임의) 파일의 형식은 이런 식으로 구성돼야 한다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함