template.conf 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246
  1. {
  2. -- A new node's name will be autogenerated from
  3. -- it's primary MAC address and this prefix.
  4. -- e.g. freifunk-0123456789ab
  5. hostname_prefix = 'freifunk',
  6. -- name of this site
  7. -- site_name = 'Freifunk Hochstift - ${site}',
  8. site_name = '%SN',
  9. -- short name of this site
  10. -- site_code = 'ffho_${un-code}'
  11. site_code = '%SC',
  12. -- 32 bytes of random data, encoded in hexadecimal, used to seed other
  13. -- random values specific to the mesh domain. It must be the same for all
  14. -- nodes of one mesh, but should be different for firmwares that are not
  15. -- supposed to mesh with each other.
  16. -- TODO: Must be set individual by any domain
  17. domain_seed = '%DS',
  18. -- v4 and v6 prefixes in which nodes+clients might get an IP
  19. prefix4 = '%V4',
  20. prefix6 = '2a03:2260:2342:%V6::/64',
  21. -- timezone
  22. timezone = 'CET-1CEST,M3.5.0,M10.5.0/3', -- Europe/Berlin
  23. -- network-internal ntp service
  24. ntp_servers = {'ntp.srv.in.ffho.net'},
  25. -- OpenWRT Package Repository (IPv6 capable)
  26. opkg = {
  27. openwrt = 'http://firmware.srv.in.ffho.net/openwrt/packages-%v/%A',
  28. extra = {
  29. gluon = 'http://firmware.srv.in.ffho.net/%GR/modules/%S',
  30. },
  31. },
  32. -- regulatory domain of your wifi
  33. regdom = 'DE',
  34. mesh = {
  35. -- for now, we don't use vxlan on the mesh
  36. vxlan = false,
  37. batman_adv = {
  38. routing_algo = 'BATMAN_IV',
  39. },
  40. },
  41. -- wifi settings (2.4 GHz and 5 GHz)
  42. -- ap.ssid = 'hochstift.freifunk.net/${kürzel}',
  43. -- mesh.id = 'ffho-mesh-${group-name}',
  44. wifi24 = {
  45. channel = 1,
  46. ap = {
  47. ssid = '%SS',
  48. },
  49. mesh = {
  50. id = 'ffho-mesh-%GN',
  51. mcast_rate = 12000,
  52. },
  53. },
  54. wifi5 = {
  55. channel = 44,
  56. ap = {
  57. ssid = '%SS',
  58. },
  59. mesh = {
  60. id = 'ffho-mesh-%GN',
  61. mcast_rate = 12000,
  62. },
  63. },
  64. -- IP address of each router
  65. -- At this IP a client can always connect to its
  66. -- currently connected node. Both v4 and v6 addr.
  67. -- must lie in the above prefix4 and prefix6.
  68. next_node = {
  69. ip4 = '%N4',
  70. ip6 = '2a03:2260:2342:%V6::1',
  71. name = { 'node.ffho.net' },
  72. -- mac address, must be unique in the client network
  73. -- (usually, you don't need to change this)
  74. mac = 'f2:ff:ff:%ID:ff:ff',
  75. },
  76. mesh_vpn = {
  77. -- the maximum transfer unit
  78. mtu = 1406,
  79. -- fastd (vpn) settings
  80. fastd = {
  81. -- cipher(s) to use
  82. methods = {'salsa2012+umac'},
  83. groups = {
  84. backbone = {
  85. -- specifies how many servers are contacted
  86. -- by a client simultanously
  87. limit = 1,
  88. -- list all available vpn servers
  89. peers = {
  90. gw01 = {
  91. -- public fastd key of the vpn server
  92. key = '97bc56ae561f67cfe15364134868c3553b5f1eab06f7bd9c5b93fbf280a52b51',
  93. -- remotes is an array of ways on how to reach the VPN server
  94. -- Use public addresses here, these addresses are used when the mesh might not be connected yet.
  95. -- format: '[|ipv4|ipv6] "hostname-or-ip-address" port 10000'
  96. remotes = {
  97. '"gw01.ffho.net" port 100%ID',
  98. 'ipv6 "2001:638:502:1884::ff15" port 100%ID',
  99. 'ipv4 "192.26.175.183" port 100%ID',
  100. },
  101. },
  102. gw02 = {
  103. key = 'e8fa9bf402fd33dd1ba804a97f2e46c704423ff49e9c55312845a7bfb93121ad',
  104. remotes = {
  105. '"gw02.ffho.net" port 100%ID',
  106. 'ipv6 "2a01:4f8:190:6500::18:1" port 100%ID',
  107. 'ipv4 "78.46.242.24" port 100%ID',
  108. },
  109. },
  110. gw03 = {
  111. key = '629b2742922f068ef49558283aea4b75c1427d8cdd3fcd2dbd7c00880547d3b3',
  112. remotes = {
  113. '"gw03.ffho.net" port 100%ID',
  114. 'ipv6 "2a00:13c8:1000:2::165" port 100%ID',
  115. 'ipv4 "185.46.137.165" port 100%ID',
  116. },
  117. },
  118. gw04 = {
  119. key = 'cf3855e5fa04e4c04a294cb6e8902f91c7ff7ef82bf031cc842a2b79b936677c',
  120. remotes = {
  121. '"gw04.ffho.net" port 100%ID',
  122. 'ipv6 "2a02:450:1::22" port 100%ID',
  123. 'ipv4 "80.70.181.63" port 100%ID',
  124. },
  125. },
  126. gw05 = {
  127. key = 'd0d32a2f536a0fc1f0c848e6da15bd96851d5ff4fdf9239c830bab033ddcec1a',
  128. remotes = {
  129. '"gw05.ffho.net" port 100%ID',
  130. 'ipv6 "2001:638:502:1884::ff15" port 100%ID',
  131. 'ipv4 "192.26.175.183" port 100%ID',
  132. },
  133. },
  134. gw06 = {
  135. key = '88b570c4cc811259b7c4106943098c9bee1126d692ddacedd23cd48efc28b0bf',
  136. remotes = {
  137. '"gw06.ffho.net" port 100%ID',
  138. 'ipv6 "2a02:cbf4:102::22" port 100%ID',
  139. 'ipv4 "213.131.234.22" port 100%ID',
  140. },
  141. },
  142. },
  143. },
  144. },
  145. },
  146. -- default traffic shaping (bandwidth limit) settings
  147. bandwidth_limit = {
  148. enabled = false,
  149. egress = 500,
  150. ingress = 4000,
  151. },
  152. },
  153. -- configure the autoupdater
  154. autoupdater = {
  155. -- default branch for a firmware without enabled autoupdater
  156. branch = 'stable',
  157. -- available branches for the autoupdater
  158. branches = {
  159. stable = {
  160. -- visible name of this branch (why not use the internal identifier here, too)
  161. name = 'stable',
  162. -- where to get the manifest file (without the trailing /manifest)
  163. -- It's wise to use an internal address here,
  164. -- but specifying a publicly available update site does not hurt.
  165. mirrors = {'http://firmware.srv.in.ffho.net/stable/sysupgrade', 'http://[2a03:2260:2342:f251::6]/stable/sysupgrade', 'http://firmware.ffho.net/stable/sysupgrade'},
  166. -- Number of valid manifest signatures necessary to accept the manifest as "good".
  167. good_signatures = 3,
  168. -- list of public keys which are considered "good" for manifest signatures
  169. pubkeys = {
  170. 'ba2e6ff4de41ade9959702195d4c26c764e7aab85c627363681c29dbc4a8a2c5', -- oscar-
  171. 'fb9d6beba63dcb6175d0248c1e743b5fe4359474eb264d27f389d7a962e24477', -- northalpha
  172. 'f70f9ddeb307fff8fca31a76f4fbd0ac676dab8ad143625f0a4160d434d72876', -- Barbarossa
  173. '39ef16b1853e54249dae2d06948329a93e3e13f354aaab792552aacd1d0b45ba', -- phimeas
  174. },
  175. },
  176. testing = {
  177. name = 'testing',
  178. mirrors = {'http://firmware.srv.in.ffho.net/testing/sysupgrade', 'http://[2a03:2260:2342:f251::6]/testing/sysupgrade', 'http://firmware.ffho.net/testing/sysupgrade'},
  179. good_signatures = 2,
  180. pubkeys = {
  181. 'ba2e6ff4de41ade9959702195d4c26c764e7aab85c627363681c29dbc4a8a2c5', -- oscar-
  182. 'fb9d6beba63dcb6175d0248c1e743b5fe4359474eb264d27f389d7a962e24477', -- northalpha
  183. 'f70f9ddeb307fff8fca31a76f4fbd0ac676dab8ad143625f0a4160d434d72876', -- Barbarossa
  184. '39ef16b1853e54249dae2d06948329a93e3e13f354aaab792552aacd1d0b45ba', -- phimeas
  185. },
  186. },
  187. experimental = {
  188. name = 'experimental',
  189. mirrors = {'http://firmware.srv.in.ffho.net/experimental/sysupgrade', 'http://[2a03:2260:2342:f251::6]/experimental/sysupgrade', 'http://firmware.ffho.net/experimental/sysupgrade'},
  190. good_signatures = 1,
  191. pubkeys = {
  192. 'ba2e6ff4de41ade9959702195d4c26c764e7aab85c627363681c29dbc4a8a2c5', -- oscar-
  193. 'fb9d6beba63dcb6175d0248c1e743b5fe4359474eb264d27f389d7a962e24477', -- northalpha
  194. 'f70f9ddeb307fff8fca31a76f4fbd0ac676dab8ad143625f0a4160d434d72876', -- Barbarossa
  195. '39ef16b1853e54249dae2d06948329a93e3e13f354aaab792552aacd1d0b45ba', -- phimeas
  196. },
  197. },
  198. },
  199. },
  200. config_mode = {
  201. -- Show/hide the altitude field
  202. geo_location = {
  203. show_altitude = false,
  204. osm = {
  205. center = {
  206. lat = 51.695543946,
  207. lon = 8.958663940,
  208. },
  209. zoom = 11,
  210. },
  211. },
  212. -- define if the contact field is obligatory (optional)
  213. owner = {
  214. obligatory = false,
  215. },
  216. },
  217. -- configure DNS forwarding
  218. dns = {
  219. servers = { '2a03:2260:2342:f251::53' },
  220. },
  221. }