본문 바로가기
서버인프라

PowerDNS Recursor & Dnsdist

by techwold ted 2022. 11. 23.

이 전에 Power DNS 설치에 관련되어 포스팅을 했습니다

https://babo-it.tistory.com/65

 

Power DNS 설치

이번에 Power DNS 설치에 대해 설명해 보려 합니다. 우선 Power DNS란? https://doc.powerdns.com/authoritative/index.html 잘 설명 되어 있습니다. 참고 하시기 바랍니다. 우선 pdns 는 db 기반으로 돌아 갑니다. 엔진

babo-it.tistory.com

설치는 위 부분 참고 하시면 되며

오늘은 power dns를 설치하고 나면 생기게 되는 몇가지 문제 점을 해결 해 보려 합니다.

  1. 외부에 DNS 쿼리 질의가 되지 않는다. (windows)
  2. 재귀호출 문제로 내부 쿼리가 되지 않는다. (mac)

위 두가지 문제를 처리해 보려 합니다. Power DNS에서는 2가지의 시나리오를 제공하고 있습니다.

 

시나리오 1: 개인 영역이 있는 리커서로서의 권한 있는 서버 

이 시나리오에서 Authoritative Server는 일련의 사용자 및 시스템에 대한 재귀로 사용됩니다. 데이터베이스에는 인터넷에서 제공되지 않는 여러 개인 도메인이 포함되어 있습니다.

이것은 마이그레이션이 Recursor가 Authoritative Server의 주소에서 수신 대기해야 함을 의미합니다. Authoritative Server는 로컬 루프백 인터페이스에서 수신해야 하며 Recursor는 개인 도메인에 대한 쿼리를 Authoritative Server로 전달해야 합니다.

 

시나리오 1

 

시나리오 2: 클라이언트 및 공용 도메인 서비스를 위한 리커서로서의 권한 있는 서버

이 시나리오에서 "마이그레이션"하는 가장 좋은 방법은 재귀 서비스를 Authoritative Server에서 완전히 분리하는 것입니다. 

이 주제에 대한 Dan Bernstein의 기사 를 참조하십시오 .

이것이 가능하지 않은 경우 이 마이그레이션 가이드는 업그레이드를 허용하면서 기존 설치의 기능을 유지합니다.

시나리오 2

우선 시나리오 2로 구성 하기로 하고

설치해야 할 부분은

Power DNS Recursor 와 dist를 설치 해 줘야 합니다. 설치 방법은 간단합니다.

https://repo.powerdns.com/

 

PowerDNS repositories

To use these repositories, the packages need to be "pinned" in APT. Instructions are below. Packages are available for the following Ubuntu releases: Ubuntu 22.04 "Jammy Jellyfish" The following repositories are available: PowerDNS Authoritative Server - m

repo.powerdns.com

우선 저는 20.04 focal 에 설치 했기 때문에

아래와 같이 apt source.list 파일을 넣어 줄 것 입니다.

/etc/apt/sources.list

deb [arch=amd64] http://repo.powerdns.com/ubuntu focal-rec-47 main

/etc/apt/preferences.d/pdns

Package: pdns-*
Pin: origin repo.powerdns.com
Pin-Priority: 600
curl https://repo.powerdns.com/FD380FBB-pub.asc | sudo apt-key add - &&
apt-get update &&
apt-get install pdns-recursor

/etc/powerdns 에 recursor.conf 파일 수정을 해줍니다.

고쳐줘야 할 부분은 아래와 같습니다.

여기서 조금더 테스트 해야할 부분은 forward-zones에 과련 된 것인데 모든 private dns에 대하 A, AAAAA 로 넣어줘야 하는지는 테스트가 필요할 거 같습니다.

forward-zones=private.example.com=127.0.0.1:5300
forward-zones+=another.example.com=127.0.0.1:5300
local-port=5301
local-address=127.0.0.1

dnsdist 설치 및 구성

/etc/apt/sources.list 추가

deb [arch=amd64] http://repo.powerdns.com/ubuntu focal-dnsdist-17 main
curl https://repo.powerdns.com/FD380FBB-pub.asc | sudo apt-key add - &&
apt-get update &&
apt-get install dnsdist

/etc/dnsdist/dnsdist.conf

setLocal('0.0.0.0:53')
addLocal('127.0.0.1:5302')
setACL({'0.0.0.0/0', '::/0'})

newServer({address='127.0.0.1:5300', pool='auth'}) -- Authoritative Server
newServer({address='127.0.0.1:5301', pool='recursor'}) -- Recursor Server

recursive_ips = newNMG()

recursive_ips:addMask('10.0.0.0/8') 

addAction(NetmaskGroupRule(recursive_ips), PoolAction('recursor'))
addAction(AllRule(), PoolAction('auth'))

 

옵션 부분들은 공부가 필요하다.

하기 부분 참고 하시길 바랍니다.

https://doc.powerdns.com/recursor/settings.html#forward-zones

 

PowerDNS Recursor Settings — PowerDNS Recursor documentation

Each setting can appear on the command line, prefixed by ‘–’, or in the configuration file. The command line overrides the configuration file. Note: Settings marked as ‘Boolean’ can either be set to an empty value, which means on, or to ‘no’

doc.powerdns.com

 

'서버인프라' 카테고리의 다른 글

git clone 오류  (0) 2022.11.29
Jenkins 설치  (0) 2022.11.28
LVM(Logical Volume Manager) 사용하기  (2) 2022.11.17
[Ncloud] [compute][Server] Professional OverView  (0) 2022.11.16
Rocket Chat 설치  (0) 2022.11.14

댓글