Dnsmasq는 포트 53에서 작동하지 않지만 포트 53에서는 작동하지 않습니다.

Dnsmasq는 포트 53에서 작동하지 않지만 포트 53에서는 작동하지 않습니다.

그래서 저는 raspbian을 사용하여 raspberry pi 2에서 apache2 서버와 hostapd를 실행하고 있습니다. dnsmasq.conf localhost=127.0.0.1로 dnsmasq를 실행하려고 하면(다른 설정 외에는 지금은 중요하지 않다고 생각합니다) 다음과 같이 표시됩니다.

dnsmasq: failed to create listening socket for port 53: Address already in use [fail].

하지만 난 시도해봤어

lsof -i -P -n | grep '53' 

그리고 내가 얻은 것은 dnsmasq.

네트워크를 실행하면 다음과 같은 결과 netstat -ap46가 나옵니다.

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address   Foreign Address State  PID/Program name    
tcp        0      0 localhost:mysql 0.0.0.0:*       LISTEN 559/mysqld          
tcp        0      0 0.0.0.0:domain  0.0.0.0:*       LISTEN 438/dnsmasq         
tcp        0      0 0.0.0.0:ssh     0.0.0.0:*       LISTEN 445/sshd            
tcp6       0      0 [::]:http       [::]:*          LISTEN 627/apache2         
tcp6       0      0 [::]:domain     [::]:*          LISTEN 438/dnsmasq         
tcp6       0      0 [::]:ssh        [::]:*          LISTEN 445/sshd            
udp        0      0 0.0.0.0:mdns    0.0.0.0:*              327/avahi-daemon: r 
udp        0      0 0.0.0.0:domain  0.0.0.0:*              438/dnsmasq         
udp        0      0 0.0.0.0:bootpc  0.0.0.0:*              370/dhcpcd          
udp        0      0 0.0.0.0:59990   0.0.0.0:*              327/avahi-daemon: r 
udp6       0      0 [::]:mdns       [::]:*                 327/avahi-daemon: r 
udp6       0      0 [::]:55646      [::]:*                 327/avahi-daemon: r 
udp6       0      0 [::]:domain     [::]:*                 438/dnsmasq         
raw6       0      0 [::]:ipv6-icmp  [::]:*             7   370/dhcpcd   

네트워크 관리자가 설치되어 있지 않습니다. dnsmasq가 자체적으로 간섭합니까? 어떻게 해결할 수 있나요?

답변1

"로컬 주소"에서 포트 53의 이름은 :domain이며 모든 프로토콜에 대해 "438/dnsmasq" 프로세스에서 사용하는 포트로 나열됩니다. 를 사용하면 netstat -ap46n이름 대신 숫자가 표시됩니다.

프로그램 이름은 dnsmasq이며 이는 실제로 이미 실행 중임을 의미합니다. 있는 경우 htop해당 프로세스 ID(이 경우 438)로 검색할 수 있습니다. 프로세스를 시작하는 데 사용되는 명령이 표시됩니다. 또는 cat /proc/438/cmdline이 정보를 표시하는 데 사용됩니다.

따라서 dnsmasq가 이미 실행 중인 상태에서 구성 파일을 확인해야 하며, 사용할 구성 파일에 대한 힌트는 /proc/438/cmdline의 명령에서 찾을 수 있습니다. 내 시스템의 dnsmasq 맨페이지에는 많은 파일이 나열되어 있지만 디렉터리 /etc/dnsmasq.d및 기본 구성 파일은 나열되어 있지 않습니다 /etc/default/dnsmasq. 후자의 파일을 확인하는 것이 좋은 시작점이 될 수 있습니다. 예를 들어 sudo nano /etc/default/dnsmasqCLI를 사용하여 이를 수행합니다.

이 일을 계속하기에 충분하기를 바랍니다.

관련 정보