사용자 정의 DNS 서버가 사용할 수 있도록 Ubuntu에서 포트 53을 해제합니다.

사용자 정의 DNS 서버가 사용할 수 있도록 Ubuntu에서 포트 53을 해제합니다.

사용자 정의 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]지정자 아래에 있으므로 더 자세히 살펴볼 수 있습니다).

도움이 되길 바랍니다.

관련 정보