Did the change break existing code ? What I did understand about the dnsmasq options --resolv-file (UCI dhcp:dnsmasq.resolvfile) and --no-resolv (UCI dhcp:dnsmasq.noresolv) is:
- the --no-resolv option governs whether dnsmasq ignores the nameservers listed in the resolvfile. - the resolvfile dnsmasq reads by default is the file /etc/resolv.conf unless set otherwise with --resolv-file (LEDE soft links that file to /tmp/dnsmasq which by default soft links again to /tmp/resolv.conf.auto which is written by netifd). - the contents of the resolvfile is normally populated with the DNS servers of the upstream link. - nameservers to be used by dnsmasq can (also) be configured with the --server option (UCI:dhcp dnsmasq.server); several may of these option may be passed. With LEDE/OpenWrt different instance of dnsmasq can run each with separate UCI options. When running multiple instances and one of those must **not** use the upstream nameservers, than set dhcp:dnsmasq[i].noresolv to '1' and if needed specify one or more name servers with the UCI dhcp:dnsmasq[i].server list option. One could write different resolvfiles manually and specify different UCI dhcp:dnsmasq.resolvfile options for each instance, but that is not what those files are meant for. The resolvfile is for use by the resolver routines of the C library which are used by processes running on the host [1]. By reading the resolvfile dnsmasq gets to know the nameservers of the upstream link; most times those are the nameservers dnsmasq will use, but not necessarily. Conclusion: in order to get dnsmasq **not** to share nameservers with other instances, set noresolv to '1' and specify one or more nameservers to use with the server list option. Hopefully I did understand your problem well, bye, Paul [1] man 5 resolv.conf > Op 12 jun. 2017, om 18:09 heeft e9hack <e9h...@gmail.com> het volgende > geschreven: > > Hi, > > IMHO, usage of the resolve file is completely wrong. If option 'resolvfile' > is not given for a configuration, dnsmasq > must run without a parameter resolv-file='..' and uses /etc/resolv.conf which > is a symbolic link to /tmp/resolv.conf. In > this case, the init script writes to /tmp/resolv.conf. If option 'resolvfile' > is given, dnsmasq must run with a > parameter resolv-file='..'. The init script writes to the given resolve file. > This is important, if two instances of > dnsmasq are running with different configurations and which cannot share any > data, e.g. 1th dnsmasq for the normal lan, > 2th dnsmasq for a tor proxy. > > Regards, > Hartmut _______________________________________________ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev