gluon-core: make sure dns traffic leaves the correct interface when there is ipv6 wan uplink

This commit is contained in:
Christof Schulze 2018-05-16 16:59:47 +02:00 committed by Andreas Ziegler
parent 0f9ab5e306
commit b3d7011130

View File

@ -16,6 +16,13 @@ uci:delete('dhcp', dnsmasq, 'cachesize')
uci:delete('firewall', 'client_dns') uci:delete('firewall', 'client_dns')
if dns.servers then if dns.servers then
localipv6 = uci:get("network", "loopback", "ip6addr")
-- below is an ugly hack that makes sure the dns upstream traffic is leaving the correct network interface.
appended = {}
for i,s in ipairs(dns.servers) do
table.insert(appended, s .. "@" .. string.sub(localipv6,0, string.find(localipv6,"/")-1 ) )
end
uci:set('dhcp', dnsmasq, 'server', appended )
-- allow inbound traffic for dns from client zone -- allow inbound traffic for dns from client zone
uci:section('firewall', 'rule', 'client_dns', { uci:section('firewall', 'rule', 'client_dns', {
src = 'local_client', src = 'local_client',