내 Debian 10 시스템에 도커화된 Dnsmasq 네트워크 전체 DNS 서버 솔루션을 갖고 싶습니다.
질문:
sudo lsof -i -P -n | grep LIST
dnsmasq ... TCP 192.168.122.1:53 (LISTEN)
로컬 DNS 서비스를 수신하는 dnsmasq 인스턴스가 이미 있습니다. 하지만 저는 docker 인스턴스를 사용하고 싶습니다. (docker에는 웹 인터페이스가 있으므로 dnsmasq에서 빌드를 사용하라고 요청하지 마세요.)
docker-instance dnsmasq 웹 인터페이스에서 다음을 얻습니다.
dnsmasq: failed to create listening socket for port 53: Address in use
당연히 dnsmasq를 비활성화해야 합니다. 나는 이 스레드를 던졌습니다:
https://mmoapi.com/post/how-to-disable-dnsmasq-port-53-listening-on-ubuntu-18-04
- 환경
"DNSStublistener=no"
- 작동하지만 재부팅 후에도 동일한 문제가 발생합니다.
분명히 내가 이해하지 못하는 다른 것이 있습니다. 이 질문은 이 주제와 관련이 있습니다.
Ubuntu 20.04에서 dnsmasq와의 충돌을 피하기 위해 포트 53에서 systemd-resolved를 올바르게 비활성화하는 방법은 무엇입니까?
- 동일한 문제이지만 실제로 스트레스 없는 솔루션은 없으므로 Network Manager 솔루션 시대 이후에 이에 대한 새로운 스레드를 갖는 것이 가치가 있다고 생각했습니다.
그렇다면 새로운 문제가 발생하지 않고 어떻게 비활성화할 수 있습니까?
편집 : 발견된 솔루션하나의 인터페이스에서만 수신하도록 dnsmasq를 제한하는 방법은 무엇입니까?
설명하다
- 여러 DNS 서버를 사용하도록 구성에 추가
-bind interface
(맨 페이지의 내용에도 불구하고)
하지만
/etc/dnsmasq.conf
문제가 있습니다. BC에 파일이 없나요 ?
답변1
나는 나 자신을 도왔습니다.
- 프로세스를 찾았고 다음 명령을 사용하여 conf 파일의 대상을 찾았습니다.클래식 시스템 관리자: Linux 명령줄에서 프로세스를 종료하는 방법지도 시간:
ps aux | grep dnsmasq
- 파일을 편집하고(예:
nano /var/lib/libvirt/dnsmasq/default.conf
) 바인딩을 바인딩 인터페이스로 동적으로 변경했습니다.
다시 시작하고 도움이 되는지 확인하세요.
default.conf
파일이 자동으로 생성되기 때문에 사용해야하는 것이 아닙니다.virsh net-edit default
기본 설정을 편집합니다. libvirt v5.6 이전에는 사용자 정의 옵션 전달이 허용되지 않았기 때문에 또 다른 문제가 발생합니다. 하지만 그 후에는 특별한 XML 문구를 사용합니다.
<dnsmasq:options> <dnsmasq:option value="foo=bar"/> <dnsmasq:option value="cname=*.foo.example.com,master.example.com"/> </dnsmasq:options>
해결책은 다음에서 찾았습니다.libvrt를 사용하는 사용자 정의 dnsmasq(또는 사용자 정의 옵션)?;노력했지만 성공하지 못했습니다.
나는 다음을 사용하여 XML 파일의 기본 네트워크에 대해 DNS를 비활성화했습니다.
<dns> <dns enable="no"/> </dns>
매뉴얼 페이지의 지침을 따르십시오(tmp XML로 작성하고 모든 것이 정상일 때 새로운 표준으로 처리하므로 안전합니다).
해당 포트에 대해 DNS가 비활성화되어 있고 두 번째 dnsmasq 서버가 실행 중입니다.
답변2
pihole을 설정하고 dnsmasq에 참여하는 libvirt에 큰 장애가 있다는 점을 제외하면 동일한 문제가 있습니다. NASNewbie2k18의 답변에 대한 두 가지 부록:
<dns> <dns enable="no"/> </dns>
default.conf 파일에 추가하면virsh net-edit default
변경 사항이 저장 후 파일에서 제거되므로 도움이 되지 않습니다. 대신에 추가해야 하므로<dns enable='no'/>
추가 태그가 없습니다<dns>
. 재부팅 후 바인딩이 해제됩니다.- 두 번째 바인딩은
10.0.3.1:53
에 의해 열리고 완료됩니다lxc-net
. 파일에서 로 변경USE_LXC_BRIDGE
하고 를 사용하여 lxc-net 서비스를 다시 시작한 후 마지막 바인딩이 해제되었고 마침내 pihole을 시작할 수 있었습니다.false
/etc/default/lxc-net
systemctl restart