Ubuntu Server 24.04에서 Pi-hole 업스트림 DNS를 암호화합니다.

이 예시에서 Linh는 Ubuntu Server 24.04에 Pi-hole을 실행 중이며 Pi-hole이 업스트림으로 보내는 DNS 요청을 암호화하려고 합니다. dnscrypt-proxy먼저, Pi-hole을 설치하고 127.0.0.1:5053, DNS over HTTPS(DoH) 리졸버를 선택하고, 로컬 프록시를 테스트한 다음, Pi-hole이 해당 프록시를 가리키도록 설정합니다. 이 안내는 Pi-hole이 이미 설치되어 작동 중이라고 가정합니다. Linh는 가상의 예시일 뿐 실제 설치 또는 테스트 보고서가 아닙니다.

현재 DoH 방식을 선택하세요

Pi-hole은 상위 리졸버와 DoH(Domain-Oriented Host) 통신을 직접 수행하지 않고, 일반적으로 DNS 요청을 IP 주소와 포트로 전달합니다. 로컬 프록시가 이 두 프로토콜을 연결하는 역할을 합니다. Pi-hole은 표준 DNS 요청을 로컬 개인 리스너로 보내고, 프록시는 암호화된 요청을 선택된 리졸버로 보냅니다. 이 예시에서 Linh는 dnscrypt-proxy동일한 서버에서 프록시를 사용하며, 리스너를 루프백 인터페이스에 유지하므로 다른 기기는 해당 프록시에 직접 연결할 수 없습니다.

이전 버전을 사용하여 새 설치를 시작하지 마십시오 cloudflared proxy-dns. Pi-hole의 현재 Cloudflare 관련 페이지에 따르면 해당 기능은 Cloudflare에서 2025년 11월에 더 이상 사용되지 않으며, 이를 사용하는 새 설치는 권장되지 않습니다. Pi-hole의 dnscrypt-proxy 설치 지침은 유지 관리되는 대안을 제공합니다. Ubuntu Noble 패키지 목록에는 현재 해당 패키지가 포함되어 있으며 dnscrypt-proxy, 패키지 버전은 아키텍처에 따라 다르며 업데이트가 게시됨에 따라 변경될 수 있습니다.

우분투 서버 터미널 프롬프트에서 `sudo apt install dnscrypt-proxy` 명령어를 실행합니다.
Noble 패키지 저장소에서 dnscrypt-proxy를 설치하는 Ubuntu 터미널 명령어입니다.

1. 우분투 패키지를 설치합니다.

APT의 패키지 목록을 업데이트하고 Noble 저장소 패키지를 설치하세요.

sudo apt update
sudo apt install dnscrypt-proxy

해당 패키지는 Ubuntu의 Universe 구성 요소에 있습니다. APT가 패키지를 찾지 못하면 Universe가 활성화되어 있는지 확인하고 다시 실행하십시오 sudo apt update. 저장소 구성 문제를 해결하기 위해 임의의 타사 빌드를 다운로드하지 마십시오.

계속 진행하기 전에 Ubuntu에 Pi-hole 절차에서 사용하는 systemd 소켓 장치가 설치되었는지 확인하십시오.

systemctl list-unit-files dnscrypt-proxy.socket

Ubuntu Noble 패키지 파일 목록에는 해당 소켓이 포함되어 있으며 dnscrypt-proxy.socket, Pi-hole 설치 지침은 이 소켓을 사용하여 Pi-hole 자체의 53번 포트 서비스와 충돌하지 않고 로컬 DNS 수신자를 제공합니다.

Nano 에디터에서 systemd 소켓 오버라이드가 127.0.0.1의 5053번 포트에 바인딩된 것을 보여줍니다.
TCP 및 UDP 리스너를 모두 지우고 포트 5053의 localhost로 다시 바인딩하여 소켓을 재정의합니다.

2. 프록시를 로컬 호스트의 5053 포트에 바인딩합니다.

Pi-hole의 FTL DNS 서비스는 일반적으로 53번 포트를 사용합니다. dnscrypt-proxy에 다른 포트를 할당하고 서버 자체에만 바인딩하도록 합니다. systemd 오버라이드를 생성하세요.

sudo systemctl edit dnscrypt-proxy.socket

비어있는 덮어쓰기 파일에 다음 줄을 추가하고 저장한 다음 종료하십시오.

[Socket]
ListenStream=
ListenDatagram=
ListenStream=127.0.0.1:5053
ListenDatagram=127.0.0.1:5053

빈 주소를 할당하면 새 주소가 추가되기 전에 소켓 장치의 원래 포트 53 수신 대기열이 지워집니다. 수신 대기열을 유지하는 127.0.0.1것이 중요합니다. 동일 호스트 설정에서 수신 대기열을 변경하지 마십시오 0.0.0.0. 변경하면 모든 네트워크 인터페이스에서 프록시가 노출됩니다.

Nano 에디터에서 소켓 활성화 및 Cloudflare 보안 리졸버가 구성된 dnscrypt-proxy를 보여줍니다.
systemd 소켓 활성화를 사용하고 Cloudflare 보안 리졸버를 선택하는 dnscrypt-proxy TOML 설정입니다.

3. DoH 리졸버를 선택하세요

패키지 구성 파일을 엽니다.

sudo nano /etc/dnscrypt-proxy/dnscrypt-proxy.toml

패키지에 포함된 나머지 구성은 그대로 두고 다음 값을 설정하십시오.

listen_addresses = []
server_names = ['cloudflare-security']

빈 listen_addresses목록은 dnscrypt-proxy에게 systemd 소켓 활성화를 사용하도록 지시합니다. Cloudflare Security라는 이름의 리졸버는 Pi-hole의 dnscrypt-proxy 가이드에서 예시로 사용된 것으로, Pi-hole 자체 차단 목록 외에도 해당 리졸버의 맬웨어 필터링 기능을 적용합니다. 다른 제공업체를 선호하거나 추가 보안 필터링이 필요하지 않은 경우, 관리되는 공개 리졸버 목록에서 최신 DoH 리졸버를 선택하고 정확한 서버 이름을 사용하십시오. 사용 가능한 이름과 리졸버 정책은 변경될 수 있으므로, 오래된 게시물에서 이름을 복사하지 말고 최신 항목을 확인하십시오.

재정의 및 TOML 설정이 적용되도록 소켓과 서비스를 다시 시작하십시오.

sudo systemctl restart dnscrypt-proxy.socket
sudo systemctl restart dnscrypt-proxy.service

Pi-hole의 업스트림을 변경하기 전에 로컬 리스너를 테스트하십시오.

dig @127.0.0.1 -p 5053 example.com

DNS 응답과 종료 상태 코드 0은 로컬 프록시가 쿼리에 응답했음을 나타냅니다. 선택한 업스트림이 DoH를 사용하는지 확인하려면 최근 서비스 메시지를 검사하고 확인자가 :로 표시된지 확인하십시오 OK (DoH).

sudo journalctl -u dnscrypt-proxy.service -n 50 --no-pager
설치되어 있지 않으면 digUbuntu dnsutils패키지를 설치하십시오. 쿼리 시간이 초과되거나 로그에 DoH 리졸버가 표시되지 않으면 sudo systemctl status dnscrypt-proxy.socket dnscrypt-proxy.service계속 진행하기 전에 서비스 저널을 검사하십시오.

Ubuntu 터미널 프롬프트에 Pi-hole 명령어가 표시되는 화면입니다. 이 명령어는 127.0.0.1의 5053번 포트를 업스트림 DNS로 설정하는 데 사용됩니다.
Pi-hole CLI 명령어를 사용하여 로컬 암호화 DNS 프록시를 업스트림 리졸버로 설정합니다.

4. Pi-hole이 로컬 프록시를 가리키도록 설정합니다.

로컬 테스트가 정상적으로 완료된 후에만 Pi-hole의 업스트림 목록을 로컬 리스너로 교체하십시오.

sudo pihole-FTL --config dns.upstreams '["127.0.0.1#5053"]'
sudo systemctl restart pihole-FTL.service

이 값은 Pi-hole의 사용자 지정 업스트림 형식을 사용합니다. 127.0.0.1여기서 는 로컬 호스트이고 는 #5053비표준 DNS 포트를 지정합니다. Pi-hole 관리 인터페이스의 설정 > DNS > 사용자 지정 업스트림 DNS 서버127.0.0.1#5053 에서도 입력할 수 있습니다 . 미리 설정된 공용 업스트림을 선택 해제하고 저장하십시오. 그렇지 않으면 Pi-hole이 DoH를 사용하지 않고 일부 요청을 해당 서버로 직접 전송할 수 있습니다.

전체 경로를 확인하세요

Pi-hole 자체에 쿼리를 보내려면 LAN 주소를 사용하십시오 PIHOLE_IP.

dig @PIHOLE_IP example.com

조회 성공 여부를 확인하십시오. Pi-hole의 쿼리 로그에 클라이언트 요청이 표시되고, dnscrypt-proxy의 서비스 상태 또는 로그에 선택된 업스트림에 연결할 수 있는지 표시됩니다. 최종 경로는 클라이언트에서 LAN을 통해 Pi-hole로 이동한 다음, Pi-hole에서 로컬 호스트 프록시로 이동하고, 프록시에서 DoH 리졸버로 이동하는 경로가 되어야 합니다. 이 경로는 서버에서 리졸버로 가는 구간만 암호화합니다. 하지만 LAN에서 클라이언트와 Pi-hole 간의 일반 DNS 트래픽을 암호화하거나, 선택한 리졸버에서 오는 쿼리를 숨기거나, Pi-hole을 VPN처럼 사용하는 것은 아닙니다.

명령어 및 버전 정보는 Pi-hole dnscrypt-proxy 가이드 (2026년 2월 16일자), Cloudflared의 서비스 중단 공지 (2026년 2월 12일자), Ubuntu의 Noble dnscrypt-proxy 패키지 레코드 , 그리고 현재 공개된 DoH 및 DNSCrypt 리졸버 목록을 참조하십시오 . 서비스가 비활성화된 경우, 로컬 쿼리 테스트가 성공할 때까지 Pi-hole을 프록시로 전환하지 마십시오.

댓글 남기기

3상 전압, 전류, kW, kVA 및 역률 변환 방법

3상 전압, 전류, kW, kVA 및 역률 변환 방법

균형 잡힌 3상 공식을 배우고, 선간 전압, 전류, kW, kVA 및 역률을 단계별로 변환하는 방법을 예제와 함께 확인하고 점검 범위를 살펴보세요.

Ubuntu cgroups를 사용하여 명령의 CPU 및 메모리 사용량을 제한합니다.

Ubuntu cgroups를 사용하여 명령의 CPU 및 메모리 사용량을 제한합니다.

CPUQuota 및 MemoryMax를 사용하여 systemd 범위 내에서 워크로드를 실행한 다음 cgroup v2를 통해 제한 사항을 확인합니다.

Ubuntu Server 24.04에서 Pi-hole 업스트림 DNS를 암호화합니다.

Ubuntu Server 24.04에서 Pi-hole 업스트림 DNS를 암호화합니다.

Ubuntu 24.04에서 dnscrypt-proxy를 Pi-hole의 로컬 DoH 브리지로 설정하고, localhost 전용 리스너, 리졸버 선택, DNS 전환 전 검사 기능을 추가합니다.

Wayland 환경에서 Ubuntu 24.04 터치패드 제스처를 작동시키는 방법

Wayland 환경에서 Ubuntu 24.04 터치패드 제스처를 작동시키는 방법

앱이나 하드웨어 문제를 해결하기 전에 우분투의 터치패드 설정을 확인하고, 웨이랜드(Wayland)가 제대로 작동하는지 확인하고, GNOME에 내장된 스와이프 기능을 테스트해 보세요.

mdadm을 사용하여 Debian 12 RAID 1 미러 구축하기

mdadm을 사용하여 Debian 12 RAID 1 미러 구축하기

데비안 12에서 디스크 두 개를 사용하여 RAID 1 데이터 어레이를 생성 및 검증하고, 안전하게 포맷한 다음, 재부팅 후 자동으로 구성 및 마운트되도록 설정합니다.

매 부팅 시 새로운 키로 Debian 12 Swap을 암호화합니다.

매 부팅 시 새로운 키로 Debian 12 Swap을 암호화합니다.

기존 Debian 12 스왑 파티션에 대한 임의 키 암호화를 설정하고, 활성 dm-crypt 매핑을 확인하고, 최대 절전 모드의 장단점을 이해합니다.

우분투 24.04에서 SSH 사용자의 접근을 특정 디렉터리로 제한하는 방법 (SFTP Chroot 가이드)

우분투 24.04에서 SSH 사용자의 접근을 특정 디렉터리로 제한하는 방법 (SFTP Chroot 가이드)

Ubuntu 24.04 SSH 계정을 chroot 환경, 적절한 권한, 일치 규칙 및 안전한 테스트를 통해 지정된 SFTP 폴더로 제한하고 셸 액세스 권한은 부여하지 않습니다.

우분투의 APT 잠금을 안전하게 해제하고 업데이트를 완료하세요

우분투의 APT 잠금을 안전하게 해제하고 업데이트를 완료하세요

우분투의 dpkg 프런트엔드 잠금을 소유하는 프로세스를 찾아 패키지 작업이 완료될 때까지 기다리고, 잠금 파일을 삭제하지 않고 중단된 설치를 복구합니다.

우분투 데스크톱에서 Btrfs 스냅샷을 자동으로 설정하는 방법

우분투 데스크톱에서 Btrfs 스냅샷을 자동으로 설정하는 방법

Timeshift를 사용하여 Ubuntu Desktop에서 Btrfs 시스템 스냅샷을 예약 설정하고, Ubuntu 서브볼륨 레이아웃을 확인하고, 보존 기간을 선택하고, 스냅샷으로 보호할 수 없는 항목을 이해합니다.

종속성 손상 없이 Debian 12를 Testing으로 마이그레이션하는 방법

종속성 손상 없이 Debian 12를 Testing으로 마이그레이션하는 방법

보다 안전한 데비안 12에서 테스팅 버전으로의 마이그레이션을 계획하세요: 스테이블 버전을 거쳐 업그레이드하고, 백업하고, APT 소스를 정리하고, 종속성 변경 사항을 시뮬레이션하고, 변경 사항을 확인하세요.