두 개의 DD-WRT AP를 사용하여 두 개의 서브넷이 함께 연결되어 있습니다. 원격 AP는 클라이언트 라우팅 모드이므로 IP가 192.168.2.1/24 및 192.168.0.5/24인 별도의 서브넷이 있습니다. 로컬 AP가 AP 모드에 있습니다. DD-WRT DHCP 설정이 원격 AP에 대해 전달 모드에 있습니다.
IP 192.168.0.2/24의 첫 번째 서브넷 내에 DNSMASQ가 설정되어 있으며 두 번째 서브넷의 DHCP 서버이기도 합니다. 이것이 작동하고 원격 클라이언트가 올바른 라우터를 얻습니다. DNSMasq 시스템은 두 번째 서브넷에 있는 PC에 ping을 보낼 수 있으며 그 반대도 마찬가지입니다. 첫 번째 서브넷에 있는 PC에서 두 번째 서브넷에 있는 PC로 RDP를 수행할 수도 있습니다. 따라서 첫 번째에서 두 번째 서브넷까지의 통신 대부분은 다음과 같습니다. 일하고 있는
내 문제는 DNSMasq가 두 번째 서브넷에 DNS 응답을 보내지 않고 첫 번째 서브넷에서는 작동한다는 것입니다. 누구든지 이유를 제안할 수 있나요?
한 가지 주목할 점은 두 번째 네트워크의 경로가 게이트웨이 장치(192.168.0.1)에 있었지만 이로 인해 많은 패킷이 삭제된 것을 발견했습니다. 따라서 첫 번째 서브넷 장치 각각에는 두 번째 서브넷에 추가된 로컬 고정 경로가 있습니다. 그것.
route add 192.168.2.0 mask 255.255.255.0 192.168.0.5
현재 문제로 인해 아직 DHCP 할당 경로를 테스트하지 않았습니다.
DNSMASQ 구성
# Configuration file for dnsmasq.
domain-needed
bogus-priv
addn-hosts=/etc/dnsmasq.hosts
# so don't use it if you use eg Kerberos, SIP, XMMP or Google-talk. This option only affects forwarding, SRV records originating for dnsmasq (via srv-host= lines) are not
# suppressed by it.
filterwin2k
dhcp-range=set:house,192.168.0.1,192.168.0.254,infinite
dhcp-range=set:backyard,192.168.2.1,192.168.2.254,infinite
# Change this line if you want dns to get its upstream servers from somewhere other that /etc/resolv.conf
resolv-file=/var/run/dnsmasq/resolv.conf
# server=61.9.134.49
# server=61.9.133.193 setup the default gateway
dhcp-option=tag:house,option:router,192.168.0.1
dhcp-option=tag:backyard,option:router,192.168.2.1
# option 42?
dhcp-option=option:ntp-server,192.168.0.2
expand-hosts
domain=wilson.lan
dhcp-range=192.168.0.100,192.168.0.150,12h
dhcp-range=192.168.2.100,192.168.2.150,255.255.255.0,12h
# DO NOT Set The route to that network Done on Gateway
#dhcp-option=121,192.168.2.0/24,192.168.0.5
#Send microsoft-specific option to tell windows to release the DHCP lease when it shuts down. Note the "i" flag,
# to tell dnsmasq to send the value as a four-byte integer - that's what microsoft wants. See
# http://technet2.microsoft.com/WindowsServer/en/library/a70f1bb7-d2d4-49f0-96d6-4b7414ecfaae1033.mspx?mfr=true
dhcp-option=vendor:MSFT,2,1i
# Set the DHCP server to authoritative mode. In this mode it will barge in and take over the lease for any client
# which broadcasts on the network, whether it has a record
# of the lease or not. This avoids long timeouts when a machine wakes up on a new network.
# DO NOT enable this if there's the slightest chance that you might end up
# accidentally configuring a DHCP server for your campus/company accidentally.
# The ISC server uses the same option, and this URL provides more information:
# http://www.isc.org/files/auth.html
dhcp-authoritative
# Log lots of extra information about DHCP transactions.
log-dhcp
답변1
좋아, 매뉴얼을 더 잘 읽은 후에는 로컬 서브넷에만 응답하는 기본값(--local-service)을 재정의하기 위해 뭔가를 추가해야 합니다. 예를 들어 부정이 없는 기본 옵션을 시도해 보았습니다.
listen-address=192.168.0.2
그러나 해결.conf에는 다음 줄이 있습니다.
nameserver 127.0.0.1
내 변경으로 인해 DNSMASQ가 자체 쿼리에 응답하는 것이 중지되었습니다. 이상하게도 DNS 서버는 다른 모든 컴퓨터가 DNS 서버로 성공적으로 사용하는 동안 더 이상 DNS 이름을 확인할 수 없습니다. 대신 다음 줄을 추가하여 이 문제를 해결했습니다.
listen-address=192.168.0.2,127.0.0.1
저는solvconf가 하고 있던 일을 수정하는 간단한 방법을 찾을 수 없었습니다.