내 로컬 네트워크에 두 대의 단일 보드 컴퓨터(Pine64 및 nanoPI)가 있고 이를 다양한 목적으로 사용합니다.
제가 최근에 하고 싶었던 일은 로컬 네트워크에 장애 조치 DHCP와 DNS를 제공하는 것이었습니다. 장애 조치 DHCP를 구성했고 그 중 하나가 pihole docker 이미지를 중지/제거하기 전에 시작되었습니다. 지금 신고하세요 Can't bind to dhcp address: Address already in use
. docker가 중지되면 ISC-DHCP-SERVER가 정상적으로 시작됩니다. 이제 DHCP 서버가 실행 중일 때 docker가 보고 bind: address already in use
하고 시작되지 않습니다. 일반 DNS 서버가 설치된(docker 및 pihole 없이) 다른 컴퓨터는 정상적으로 작동합니다.
pihole(광고 차단)과 유사한 기능을 사용하여 다른 서버에 자체 DNS를 구성했습니다. 하지만 파이홀은 사용자 인터페이스가 좋기 때문에 해보고 싶습니다.
문제는 pihole에도 DHCP 서버가 포함되어 있다는 것입니다(https://discourse.pi-hole.net/t/how-do-i-use-pi-holes-built-in-dhcp-server-and-why-would-i-want-to/3026). pihole docker 이미지(DHCP 제외)와 DHCP 서버를 같은 컴퓨터에서 사용할 수 있나요? 어떻게 할 수 있나요?
DHCP, DHCP 정적 임대 및 장애 조치 구성을 통해 사용자 정의 경로를 게시하는 DHCP 서버에 일부 사용자 정의 구성이 있기 때문에 pihole의 DHCP를 사용하고 싶지 않습니다. pihole의 DHCP 서버에서 이 모든 것을 구성할 수 있을지도 모르겠고, 그렇게 하고 싶은지도 모르겠습니다.
답변1
pihole을 직접 설치하면 (https://docs.pi-hole.net/main/basic-install/) 도커 이미지 대신 머신에 구성된 고정 IP를 감지하고 DHCP를 방해하지 않습니다.
따라서 대답은 지원되는 운영 체제에 pihole을 직접 설치하는 것입니다.
답변2
Docker/컨테이너에서 DHCP 서버를 실행할 수 있습니다. 문제가 발생하는 이유는 도커 컨테이너가 라우터/네트워크가 실행되는 기본 서브넷/LAN과 크게 다른 자체 브리지 네트워크를 생성하기 때문입니다.
일반적으로 도커 컨테이너를 호스트 네트워크에 전달하거나 브리지해야 합니다.
https://gist.github.com/mikejoh/04978da4d52447ead7bdd045e878587d
--net 호스트 플래그를 사용하는 것이 좋습니다.
답변3
예. Docker에서 Pi-hole을 실행하면 네트워크를 연결하는 데 문제가 없습니다. 포트 53의 DNS 포트와 웹 인터페이스에 대해 선택한 포트를 파이홀 컨테이너에 매핑하려고 합니다.
컨테이너 내에서 DHCP 서버를 실행할 때 DHCP 요청을 Dockerized DHCP 서버로 전달하도록 DHCP 릴레이 서비스를 설정해야 합니다. 일부 라우터에는 이 서비스가 포함되어 있으므로 먼저 해당 라우터를 확인하십시오.
오픈 소스 DHCP 릴레이 서버도 있으므로 라우터에 릴레이 기능이 없으면 전달을 위해 설정해야 합니다.