정리하는 공간
리눅스) [포워딩 네임서버, DNS VIEW] 본문
DNS 서버 종류
권한 있는 네임서버
도메인의 정보를 가지고 있는 서버로 존파일의 정보를 수정할 수 있는 네임서버
자기가 관리하는 존 정보 이외의 다른 도메인의 요청은 응답하지 못한다.
리쿼시브 네임서버
자기가 관리하지 않는 도메인 요청정보가 들어와도 대행해서 해당 도메인 서버를 찾아서 응답해준다.
(루트-1차-2차 의과정을 거쳐 응답)
/etc/named.conf 파일에서 recursion yes를 하면 리쿼시브네임서버로 가동 중인 것이다.
tip
권한 있는 네임서버에서 recursion 기능을 켜 놓으면
존 파일 정보를 수정할 수도 있고, 관리하지 않는 도메인 요청에도 해당 도메인 서버를 찾아 응답해준다.
캐싱 온리 네임서버
따로 관리하는 존 정보는 없고, 캐싱 메모리에 저장되어 있는 정보만 찾아서 응답해주는 서버
named.rfc1912 파일에서 존 정보들을 다 지우면 캐싱 네임서버가 되는 것이다.
캐시 메모리에 담긴 정보들 중 1차-2차-3차 과정을 거쳐 찾아줌
지금 우리가 설정한 마스터 리눅스는 권한 있는, 리쿼시브 도메인 서버인 것이다.
포워딩 네임서버
캐싱 메모리의 크기가 작기 때문에 사용하는 것이 포워딩 네임서버다.
클라이언트가 도메인 요청을 하면 Forwader에 지정된 서버로 전달 되어 해당 포워딩 서버가 대신 정보를 찾아 줌
원래 캐시 도메인은 정보가 없으면 권한 있는 도메인에 요청을하고, 다시 클라이언트에게 전달하는데
굳이 권한 있는 도메인에 요청하지 않고, 바로 포워딩 서버에 요청을 하는 것이다.
그래서 대게 포워딩 네임 서버는 8.8.8.8(구글)로 DNS를 설정한다.(수천만의 정보들이 담겨있기 때문)
이렇게 되면 정보가 이미 많기 때문에 1,2,3차의 과정을 거쳐 찾지 않아도 된다.
그래서 속도가 빨라진다.
포워딩 네임 서버 설정
/etc/named.conf 파일에 들어가 수정해준다.
forwarders { }
forward only
지시자를 추가해준다. 8.8.8.8 과 8.8.4.4 일반적으로 2가지를 입력해주는데 모두 구글이다.
forward only
클라이언트 -> 캐싱 DNS -> 포워딩 DNS 과정에서 포워딩 네임서버에도 정보가 없으면 권한있는 도메인 서버에서 1,2,3,차의 과정을 거쳐 도메인 정보를 찾는 것을 무시해라.
forward first
클라이언트 -> 캐싱 DNS -> 포워딩 DNS 과정에서 포워딩 네임서버에도 정보가 없으면 권한있는 도메인 서버에서 1,2,3,차의 과정을 거쳐 도메인 정보를 찾겠다.
이러면 설정은 끝났다.
마스터 서버에서 위와 같이 입력해주면 www.linux.com 정보를 찾는 것이 시간이 조금 걸렸다.
이건 포워딩 네임 서버에 요청을 했기 때문에 시간이 조금 걸린 것.
다시 한 번 더 쳐보면
캐싱 메모리에서 정보를 가져와 시간이 많이 단축 되었다.
DNS VIEW
내부망과 외부망 사용자를 위해 분리해서 정보를 나눠 사용한다.
다른 사람들에게 보여주고 싶지 않은 웹이 있다면 내부로 설정해 정보를 보지 못하게 할 수 있다.
external, internal 설정을 주어서 관리하다.
주의 사항
/etc/named.rfc1912.zones 파일에서 수정을 하게 되는데 VIEW를 사용할 땐 모든 존이 뷰 안, 즉 뷰 아래에 있어야 한다.
실습
/etc/named.frc1912.zones 에 들어가 설정해준다.
사진을 보면 view는 모든 존 정보를 포함하고 있고, };가 하나 더 붙는 이유는 view의 설정을 닫아주는 것이다.
external 에서 매칭 클라이언트는 누구나 볼 수 있도록 any를 해준다, 그럼 external 뷰에 포함된 존들을 누구나 볼 수 있다.
internal 에서 매칭 클라이언트는 internal로 해두자 (ACL에서 internal 설정한 ip 대역대) 그럼 internal 뷰에 포함된 존들은 해당 아이피 대역대만 볼 수 있다.
interenal 의 파일은 chul.zone.internal로 새로 수정한다.
(외부 사용자는 원래 외부니까 따로 파일을 안 만들어도 되는 듯 싶다)
/var/named/chul.zone.internal 파일을 만들어서 존 파일을 수정한다.
내부에 project, printer, lab이 있다고 가정,
/var/named/chul.zone.internal 파일의 소유 그룹을 named 로 바꿔주고
systemctl restart named 데몬 재가동.
설정은 끝났다.
이제 슬레이브에서
host -al chul.com 명령어를 입력하면,
이런식으로 나온다.
또한
win_c1 에서
nslookup
>www.chul.com 입력시 조회가 되고
>lab.chul.com 입력시 조회가 되지 않는다.
lab은 내부로 설정해놨기 때문에
이때 존파일에 넣어주었던 아이피가 다르기 때문에 ip가 10.1.1.2일 때 볼 수 있다.
'리눅스 기초' 카테고리의 다른 글
리눅스) ssh 보안 설정 (feat: PAM) (0) | 2022.05.12 |
---|---|
리눅스) DDNS(동적 업데이트 [allow-update, update-policy] (0) | 2022.05.12 |
리눅스) DNS [라운드로빈 기법, DNS의 마스터-슬레이브서버구축, ACL] (0) | 2022.05.12 |
리눅스) DNS [실습] (0) | 2022.05.12 |
리눅스) DNS (0) | 2022.05.12 |