로컬 컴퓨터에서 dnsmasq에 연결할 수 없습니다. 포트는 열려 있지만 연결이 거부되었습니다.

로컬 컴퓨터에서 dnsmasq에 연결할 수 없습니다. 포트는 열려 있지만 연결이 거부되었습니다.

저는 Scientific Linux 6.3을 실행 중이고 시스템을 dnsmasq-2.48-13.el6.x86_64로 업데이트했습니다. 기기의 로컬 IP는 192.168.1.100입니다. 업데이트될 때까지 작동하는 로컬 캐시 DNS 설정이 있습니다.

/etc/dnsmasq.conf 구성:

strict-order
listen-address=192.168.1.100
bind-interfaces
cache-size=5000

dnsmasq가 실행 중이고 dnsmasq를 시작하고 중지할 때 포트가 열리고 닫히는 것을 확인했습니다.

$ netstat -nl # shows that the port was opened
Proto Recv-Q Send-Q Local Address           Foreign Address        State
tcp        0      0 192.168.1.100:53        0.0.0.0:*              LISTEN
udp        0      0 192.168.1.100:53        0.0.0.0:*

그러나 해결 시도는 실패했습니다.

$ nslookup google.com 192.168.1.100
;; connection timed out; trying next origin
;; connection timed out; no servers could be reached

텔넷을 시도해도 실패함

$ telnet 192.168.1.100 53
Trying 192.168.1.100...
telnet: connect to address 192.168.1.100: Connection refused

/var/log/messages에 dnsmasq와 관련된 내용이 없습니다. iptables를 중지해도 도움이 되지 않습니다. 여기서 어디로 가야할지 모르겠습니다.

답변1

dnsmasq.conf추가 정보를 바탕으로 내 Slackware 시스템 에 다음 줄을 추가해야 합니다 /etc/.

listen-address=127.0.0.1

이것은 listen-address다른 한 줄에 추가됩니다. 여러 개의 "수신 주소"를 구성할 수 있습니다. 내 생각에는 "bind-interfaces" 행도 주석 처리해야 하지만 이는 단지 추측일 뿐입니다.

resolv-file매개변수 값이 무엇인지도 확인해야 합니다 . 파일이 존재하며 해당 내용이 의미가 있습니까? 아마도 다음과 같은 것을 원하지 않을 것입니다.

resolv-file=/etc/resolv.conf

이렇게 하면 모든 호출이 를 gethostbyname()사용하여 건너뛰 dnsmasq거나 dnsmasq에 따라 자체를 사용하여 이름 확인을 시도하게 되기 때문입니다 /etc/resolv.conf.

dnsmasq변경 후에는 재부팅하는 것을 잊지 마세요.

관련 정보