다시 시작한 후 dnsmasq 서비스가 실행 중이지만 원격 요청에 응답하지 않습니다(다른 시스템에서 "dig @10.0.0.1 stackexchange.com"을 사용해 보십시오). 로그가 좋아 보이는 것 같아요.
Aug 11 17:41:04 srvname systemd[1]: Starting dnsmasq - A lightweight DHCP and caching DNS server...
Aug 11 17:41:04 srvname dnsmasq[488]: dnsmasq: syntax check OK.
Aug 11 17:41:04 srvname dnsmasq[530]: started, version 2.76 cachesize 150
Aug 11 17:41:04 srvname dnsmasq[530]: compile time options: IPv6 GNU-getopt DBus i18n IDN DHCP DHCPv6 no-Lua TFTP conntrack ips
Aug 11 17:41:04 srvname dnsmasq[530]: DNS service limited to local subnets
Aug 11 17:41:04 srvname dnsmasq[530]: using nameserver 208.67.222.222#53
Aug 11 17:41:04 srvname dnsmasq[530]: using nameserver 208.67.220.220#53
Aug 11 17:41:04 srvname dnsmasq[530]: read /etc/hosts - 5 addresses
Aug 11 17:41:04 srvname systemd[1]: Started dnsmasq - A lightweight DHCP and caching DNS server.
Aug 11 17:41:21 srvname dnsmasq[530]: Ignoring query from non-local network
마지막 줄이 어디서 왔는지는 모르겠지만, 아무것도 하기 전에 재부팅한 직후에 그 줄이 있었습니다.
dnsmasq 서비스를 다시 시작하면 마지막 줄을 제외하고 동일한 로그 항목이 표시되고 네트워크의 모든 컴퓨터가 해당 항목에 액세스할 수 있습니다. 모든 것이 정상입니다.
dnsmasq 구성:
domain-needed
bogus-priv
no-resolv
server=208.67.220.220
server=208.67.222.222
address=/homeserver.mydomain.com/10.0.0.99
마지막 줄은 내 로컬 네트워크의 컴퓨터가 도메인 이름을 사용하여 서버 자체를 찾을 수 있도록 허용하는 것입니다. 내 인터넷 라우터는 homeserver.mydomain.com에 대한 요청을 로컬 네트워크에서 10.0.0.99로 자체적으로 전달하지 않습니다(이 기능은 일부 라우터에는 있고 일부(저 같은 라우터)에는 없습니다).
이 구성 외에도 목록에서 맬웨어 서버도 필터링합니다.
관련 iptables 구성(iptables-pertant 파일):
-A INPUT -p udp -m udp --dport 53 -j ACCEPT
-A OUTPUT -p udp -m udp --sport 53 -j ACCEPT
지금까지 두 가지 가능한 솔루션을 찾았지만 이를 구현하는 방법을 모르겠습니다.
- 이전 질문에서누군가 IPv6를 비활성화하면 비슷한 문제를 해결하는 데 도움이 되었다고 언급했습니다. 그러나 어떻게 해야 할지 모르겠습니다.
- 친구는 서비스가 시작되는 순서에 문제가 있을 수 있으므로 dnsmasq를 마지막으로 시작하도록 끝으로 이동하라고 제안했습니다. 그런데 어떻게 수정해야 할지 모르겠습니다. 내가 시도한 것은 /etc/network/interfaces에 "post-up /usr/sbin/service dnsmasq restart"(네트워크가 시작된 후 강제로 다시 시작하려고 시도함) 줄을 넣는 것입니다. 그러나 이것도 도움이 되지 않습니다.
운영 체제: Debian GNU/Linux 9(stretch)
커널: Linux 4.9.0-8-amd64 #1 SMP Debian 4.9.110-3+deb9u4 (2018-08-21) x86_64 GNU/Linux
하드웨어: Asus VivoMini Intel N3000
답변1
interface=eth0
mosvy가 제안한 대로 dnsmasq.conf에 추가하면 문제가 해결되었습니다.