On Sat, Apr 22, 2023 at 10:19:02AM -0400, Tony Zhou wrote:
> 在 2023/4/21 上午 2:58, Uwe Schindler 写道:
> > Am 21.04.2023 um 03:18 schrieb Tony Zhou:
> > > Hi,
> > > 
> > > I am running dnsmasq 2.86 on openwrt, and have multiple vlans in my
> > > network. dnsmasq works great for dhcp purposes (for both dynamic and
> > > static leases) that I need for all interfaces/vlans. However, some
> > > of the vlans I do not need/want to have dnsmasq providing dns, but
> > > another dns server for content filtering purposes.
> > > 
> > > I'd prefer to keep both dns servers on the same host/router, but the
> > > way dnsmasq works, either binding to interfaces, or wildcard, binds
> > > to all port 53, so that the 2nd dns server can't bind.
> > > 
> > > It appears that when dnsmasq is set to bind to interfaces, it has to
> > > either offer both dns and dhcp, or skip dhcp by
> > > "--no-dhcp-interface" argument, but there is no counterpart
> > > "--no-dns-interface".
> > > 
> > > Setting port=0 disables dns service on all interfaces, which is not
> > > what I wanted as well.
> > > 
> > > I did found there were two discussions regarding this:
> > > 
> > > https://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/2011q4/005335.html
> > > 
> > > 
> > > https://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/2021q3/015429.html
> > > 
> > > 
> > > Running two instances of dnsmasq doesn't resolve this issue, since I
> > > still rely on dnsmasq's dhcp.
> > > 
> > 
> > as a workaround you can do something like this:
> > 
> > Let the alternative DNS server run on another port, like 1053. Then for
> > all vlan interfaces that should use the alternative server include a
> > PREROUTING iptables rule to redirect the post just on those interfaces
> > to port 1053. DNS will announce itsself on the DHCP, but as the packets
> > get redirected before they reach dnsmasq, the alternative server takes
> > over.
> > 
> > This will redirect port 53 on interfac|e "||vlanintf|" to port 1053 on
> > same interface for UDP and TCP (some DNS packets go via TCP, too). It
> > has rules for both IPv6 and IPv4:
> > 
> >   iptables  -A PREROUTING -t nat -i vlanintf -p udp --dport 53 -j REDIRECT 
> > --to-port 1053
> >   iptables  -A PREROUTING -t nat -i vlanintf -p tcp --dport 53 -j REDIRECT 
> > --to-port 1053
> >   ip6tables -A PREROUTING -t nat -i vlanintf -p udp --dport 53 -j REDIRECT 
> > --to-port 1053
> >   ip6tables -A PREROUTING -t nat -i vlanintf -p tcp --dport 53 -j REDIRECT 
> > --to-port 1053
> > 
> > Hope that helps,
> Thanks - that's actually what I am currently doing - using this to hijack
> DNS traffic on my other vlan (with nftables, though).

Consider to share the nftables version with us.


> Still, it would be ideal to have dnsmasq to allow not to listen to DNS on 
> certain interfaces.

??


Groeten
Geert Stappers
-- 
Silence is hard to parse

_______________________________________________
Dnsmasq-discuss mailing list
Dnsmasq-discuss@lists.thekelleys.org.uk
https://lists.thekelleys.org.uk/cgi-bin/mailman/listinfo/dnsmasq-discuss

Reply via email to