330-gluon-mesh-batman-adv-core-local-node 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #!/usr/bin/lua
  2. -- This script must be ordered after 310-gluon-client-bridge-local-node, as
  3. -- it overrides parts of network.local_node
  4. local site = require 'gluon.site_config'
  5. local sysconfig = require 'gluon.sysconfig'
  6. local sysctl = require 'gluon.sysctl'
  7. local uci = require('simple-uci').cursor()
  8. uci:section('network', 'interface', 'local_node', {
  9. proto = 'dhcpv6',
  10. reqprefix = 'no',
  11. peerdns = not (site.dns and site.dns.servers),
  12. sourcefilter = false,
  13. keep_ra_dnslifetime = true,
  14. })
  15. uci:delete('network', 'local_node_route6')
  16. uci:section('network', 'route6', 'local_node_route6', {
  17. interface = 'local-node',
  18. target = site.prefix6,
  19. gateway = '::',
  20. })
  21. uci:save('network')
  22. uci:delete('firewall', 'local_node')
  23. uci:section('firewall', 'zone', 'local_node', {
  24. name = 'local_node',
  25. network = {'local_node'},
  26. input = 'ACCEPT',
  27. output = 'ACCEPT',
  28. forward = 'REJECT',
  29. })
  30. uci:section('firewall', 'rule', 'local_node_dns', {
  31. name = 'local_node_dns',
  32. src = 'local_node',
  33. dest_port = '53',
  34. target = 'REJECT',
  35. })
  36. uci:save('firewall')
  37. sysctl.set('net.ipv6.conf.local_node.forwarding', 0)