Create TOC

2018년 5월 10일

pi-hole + DNSCrypt

DNSCrypt 설치 및 설청

아래와 같이 DNSCrypt를 설치한다.

$ wget https://github.com/jedisct1/dnscrypt-proxy/releases/download/2.0.11/dnscrypt-proxy-linux_arm-2.0.11.tar.gz
$ tar xvfz dnscrypt-proxy-linux_arm-2.0.11.tar.gz
$ mv linux-arm dnscrypt-proxy
$ sudo mv dnscrypt-proxy /opt

아래와 같이 예제 설정 파일을 복사한다.

$ cd /opt/dnscrypt-proxy
$ sudo cp example-dnscrypt-proxy.toml dnscrypt-proxy.toml

/opt/dnscrypt-proxy/dnscrypt-proxy.toml에서 원하는 설정을 변경하면 된다.

server_names = ['cloudflare', 'arvind-io', 'google']
listen_addresses = ['127.0.0.1:55', '[::1]:55']
require_dnssec = true

설정이 끝나면 아래 명령으로 서비스를 등록한다.

$ sudo /opt/dnscrypt-proxy/dnscrypt-proxy -service install

아래 명령으로 실행한다.

$ sudo systemctl start dnscrypt-proxy.service

pi-hole 설정

4.0 이상

4.0 부터는 DNS 서버를 dnsmasq를 사용하지 않기 때문에 pihole 설정을 직접 수정해야 한다. /etc/pihole/setupVars.conf파일에서 PIHOLE_DNS_1값을 수정한다.

PIHOLE_DNS_1=127.0.0.1#55

DNS 서버를 다시 시작한다.

$ sudo pihole restartdns

4.0 이전

/etc/dnsmasq.d/01-pihole.conf 파일에서 server=로 시작하는 줄을 아래와 같이 #을 붙여서 주석 처리 한다.

#server=1.1.1.1
#server=1.0.0.1

아래와 같은 내용으로 /etc/dnsmasq.d/02-dnscrypt.conf 파일을 만든다.

server=127.0.0.1#55

/etc/pihole/setupVars.conf 파일에서 PIHOLE_DNS로 시작하는 줄을 모두 주석 처리 한다.

그 후 dnsmasq를 재시작한다.

$ sudo systemctl restart dnsmasq.service

테스트

설정이 완료되면 DNSSEC Resolver Test 사이트에 접속해서 확인해본다.