사용자 정의 DNS 서버를 구현하고 있는데 이를 사용하려고 하면 사용 중인 포트 53과 충돌합니다. Resolved.config 파일을 변경해도 도움이 되지 않습니다. 내 resolved.conf
파일은 다음과 같습니다.
[Resolve]
DNS=127.0.0.1
#FallbackDNS=
#Domains=
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
내 /etc/resolv.conf
파일은 다음과 같습니다.
nameserver 127.0.0.1
nameserver 192.168.1.1
search lan1
포트 53은 여전히 DNS를 확인하는 데 사용됩니다.
$ sudo lsof -i :53
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE
systemd-r 636 systemd-resolve 12u IPv4 22828
0t0 UDP 127.0.0.53:domain
systemd-r 636 systemd-resolve 13u IPv4 22829 0t0 TCP
127.0.0.53:domain (LISTEN)
사용자 정의 DNS 서버를 실행할 때 오류가 발생합니다.
File "/usr/lib/python3.8/socketserver.py", line 466, in
server_bind
self.socket.bind(self.server_address)
OSError: [Errno 98] Address already in use
어떤 제안이라도 주시면 매우 감사하겠습니다.
답변1
Ubuntu에서 systemd-resolved가 포트 53을 사용하지 못하도록 차단하는 방법
위 링크에서 훌륭한 튜토리얼을 보실 수 있습니다. 아래에서는 더 나은 가시성을 위해 튜토리얼의 내용을 기록하겠습니다.
루트로 편집/etc/systemd/resolved.conf원하는 텍스트 편집기를 사용하십시오.
이제 주석 처리를 제거해야 합니다(제거하다 #) 이것도메인 이름 확인 =그리고DNSStubListener=철사.
너 지금 바꾸고 싶어?도메인 이름 확인 =원하는 DNS 서버에 값을 입력하고 변경하세요.DNSStubListener=~에서예도착하다아니요
이제 변경 사항을 저장하고 편집기를 종료합니다.
다음으로심볼릭 링크~을 위한/run/systemd/resolve/resolv.conf그리고/etc/resolv.conf목적지로.
sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
당신은 알아 차릴 것입니다-에스, 링크를 만듭니다.상징적인바꾸다하드 링크그리고-에프기존 대상 파일을 삭제하는 것입니다.
이제 시스템을 재부팅하고 사용할 수 있습니다.포트 53
다음 명령을 실행하여 이를 확인할 수 있습니다.
sudo lsof -i :53
출력이 표시되지 않으면포트 53열려 있어야 합니다.
이 작업을 실행취소하려면 수정해야 합니다./etc/systemd/resolved.conf설정을 원래 모양으로 복원합니다.
다음에 추가#뒤에서 앞으로도메인 이름 확인 =선과 변화DNSStubListener=로 돌아가아니요.
그런 다음 다음을 입력하여 심볼릭 링크를 삭제할 수 있습니다.
sudo rm /etc/resolv.conf
그런 다음 다시 시작하십시오.
이것이 도움이 되기를 진심으로 바랍니다! 더 나은 시각적 자료를 보려면 링크를 확인하세요 하하.
답변2
sudo systemctl disable systemd-resolved
sudo systemctl stop systemd-resolved
답변3
다른 답변에 나와 있듯이 기본적으로 여기 튜토리얼을 따라갈 수 있습니다 https://www.linuxuprising.com/2020/07/ubuntu-how-to-free-up-port-53-used-by.html
. 자세한 내용을 반복하지는 않겠지만 그래도 문제가 해결되지 않으면 또 다른 수정이 필요할 수 있습니다.
systemd의 다른 부분에서 DNSStubListener를 꺼야 할 수도 있습니다.
파일을 편집해 보십시오 /etc/systemd/resolved.conf.d/noresolved.conf
. 파일이 있으면 DNSStubListener=yes
로 변경하십시오 DNSStubListener=no
.
이 컬렉션을 보유하는 다른 conf 파일이 있을 수 있습니다( [Resolve]
지정자 아래에 있으므로 더 자세히 살펴볼 수 있습니다).
도움이 되길 바랍니다.