820-dns-config 888 B

123456789101112131415161718192021222324252627282930313233343536
  1. #!/usr/bin/lua
  2. local site = require 'gluon.site_config'
  3. local uci = require('simple-uci').cursor()
  4. dnsmasq=uci:get_first("dhcp", "dnsmasq")
  5. uci:set('dhcp', dnsmasq, 'localise_queries', true)
  6. uci:set('dhcp', dnsmasq, 'localservice', false)
  7. if site.dns and site.dns.servers then
  8. uci:set('dhcp', dnsmasq, 'server', site.dns.servers)
  9. else
  10. uci:delete('dhcp', dnsmasq, 'server')
  11. end
  12. uci:delete('dhcp', dnsmasq, 'cachesize')
  13. if site.next_node and site.next_node.name and site.next_node.ip4 then
  14. uci:section('dhcp','domain','nextnode4',{
  15. name=site.next_node.name,
  16. ip=site.next_node.ip4,
  17. })
  18. else
  19. uci:delete('dhcp', 'domain', 'nextnode4')
  20. end
  21. if site.next_node and site.next_node.name and site.next_node.ip6 then
  22. uci:section('dhcp','domain','nextnode6',{
  23. name=site.next_node.name,
  24. ip=site.next_node.ip6,
  25. })
  26. else
  27. uci:delete('dhcp', 'domain', 'nextnode6')
  28. end
  29. uci:save('dhcp')