You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

6 vuotta sitten
6 vuotta sitten
6 vuotta sitten
6 vuotta sitten
6 vuotta sitten
6 vuotta sitten
6 vuotta sitten
6 vuotta sitten
6 vuotta sitten
6 vuotta sitten
6 vuotta sitten
6 vuotta sitten
6 vuotta sitten
6 vuotta sitten
6 vuotta sitten
6 vuotta sitten
6 vuotta sitten
6 vuotta sitten
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. server:
  2. {% if not nameserver_ips is defined%}
  3. listen: 0.0.0.0@53
  4. listen: ::@53
  5. {% else %}
  6. {% for ip in nameserver_ips %}
  7. listen: {{ip|ipaddr('address')}}@53
  8. {% endfor %}
  9. {% endif %}
  10. user: knot:knot
  11. log:
  12. - target: syslog
  13. any: info
  14. template:
  15. - id: slave
  16. storage: /var/lib/knot/slave
  17. {% if nameserver_zonefile_directory is defined %}
  18. - id: managed
  19. storage: {{nameserver_zonefile_directory}}
  20. semantic-checks: on
  21. {% endif %}
  22. remote:
  23. {% if nameserver_zones is defined %}
  24. {% for zone in nameserver_zones %}
  25. {% if zone.type|default('managed') == 'slave' %}
  26. - id: {{zone.domain}}/master
  27. address: {{zone.master.ip}}
  28. {% if zone.master.via is defined%}
  29. via: {{zone.master.via}}
  30. {% endif %}
  31. {% endif %}
  32. {% if zone.slaves is defined %}
  33. {% for slave in zone.slaves %}
  34. - id: {{zone.domain}}/slave/{{slave.name}}
  35. address: {{slave.ip}}
  36. {% if slave.via is defined%}
  37. via: {{slave.via}}
  38. {% endif %}
  39. {% endfor %}
  40. {% endif %}
  41. {% endfor %}
  42. {% endif %}
  43. acl:
  44. {% if nameserver_zones is defined %}
  45. {% for zone in nameserver_zones %}
  46. {% if zone.type|default('managed') == 'slave' %}
  47. - id: {{zone.domain}}/master/allow_notify
  48. address: {{zone.master.ip}}
  49. action: notify
  50. {% endif %}
  51. {% if zone.slaves is defined %}
  52. {% for slave in zone.slaves %}
  53. - id: {{zone.domain}}/slave/{{slave.name}}/allow_transfer
  54. address: {{slave.ip}}
  55. action: transfer
  56. {% endfor %}
  57. {% endif %}
  58. {% endfor %}
  59. {% endif %}
  60. zone:
  61. {% if nameserver_zones is defined %}
  62. {% for zone in nameserver_zones %}
  63. {% if zone.type|default('managed') != 'slave' %}
  64. - domain: {{zone.domain}}
  65. template: managed
  66. file: {{zone.domain}}.zone
  67. {% elif zone.type|default('managed') == 'slave' %}
  68. - domain: {{zone.domain}}
  69. template: slave
  70. master: {{zone.domain}}/master
  71. file: {{zone.domain}}.zone
  72. acl: {{zone.domain}}/master/allow_notify
  73. {% endif %}
  74. {% if zone.slaves is defined %}
  75. {% for slave in zone.slaves %}
  76. notify: {{zone.domain}}/slave/{{slave.name}}
  77. acl: {{zone.domain}}/slave/{{slave.name}}/allow_transfer
  78. {% endfor %}
  79. {% endif %}
  80. {% endfor %}
  81. {% endif %}