template.conf 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251
  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. lede = 'http://firmware.srv.in.ffho.net/lede/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. supported_rates = {6000, 9000, 12000, 18000, 24000, 36000, 48000, 54000},
  47. basic_rate = {6000, 9000, 18000, 36000, 54000},
  48. ap = {
  49. ssid = '%SS',
  50. },
  51. mesh = {
  52. id = 'ffho-mesh-%GN',
  53. mcast_rate = 12000,
  54. },
  55. },
  56. wifi5 = {
  57. channel = 44,
  58. ap = {
  59. ssid = '%SS',
  60. },
  61. mesh = {
  62. id = 'ffho-mesh-%GN',
  63. mcast_rate = 12000,
  64. },
  65. },
  66. -- IP address of each router
  67. -- At this IP a client can always connect to its
  68. -- currently connected node. Both v4 and v6 addr.
  69. -- must lie in the above prefix4 and prefix6.
  70. next_node = {
  71. ip4 = '%N4',
  72. ip6 = '2a03:2260:2342:%V6::1',
  73. name = { 'node.ffho.net' },
  74. -- mac address, must be unique in the client network
  75. -- (usually, you don't need to change this)
  76. mac = 'f2:ff:ff:%ID:ff:ff',
  77. },
  78. mesh_vpn = {
  79. -- the maximum transfer unit
  80. mtu = 1406,
  81. -- fastd (vpn) settings
  82. fastd = {
  83. -- cipher(s) to use
  84. methods = {'salsa2012+umac'},
  85. groups = {
  86. backbone = {
  87. -- specifies how many servers are contacted
  88. -- by a client simultanously
  89. limit = 1,
  90. -- list all available vpn servers
  91. peers = {
  92. gw01 = {
  93. -- public fastd key of the vpn server
  94. key = '97bc56ae561f67cfe15364134868c3553b5f1eab06f7bd9c5b93fbf280a52b51',
  95. -- remotes is an array of ways on how to reach the VPN server
  96. -- Use public addresses here, these addresses are used when the mesh might not be connected yet.
  97. -- format: '[|ipv4|ipv6] "hostname-or-ip-address" port 10000'
  98. remotes = {
  99. '"gw01.ffho.net" port 100%ID',
  100. 'ipv6 "2001:830:c:9::12" port 100%ID',
  101. 'ipv4 "80.242.130.70" port 100%ID',
  102. },
  103. },
  104. gw02 = {
  105. key = 'e8fa9bf402fd33dd1ba804a97f2e46c704423ff49e9c55312845a7bfb93121ad',
  106. remotes = {
  107. '"gw02.ffho.net" port 100%ID',
  108. 'ipv6 "2a01:4f8:190:6500::18:1" port 100%ID',
  109. 'ipv4 "78.46.242.24" port 100%ID',
  110. },
  111. },
  112. gw03 = {
  113. key = '629b2742922f068ef49558283aea4b75c1427d8cdd3fcd2dbd7c00880547d3b3',
  114. remotes = {
  115. '"gw03.ffho.net" port 100%ID',
  116. 'ipv6 "2a00:13c8:1000:2::165" port 100%ID',
  117. 'ipv4 "185.46.137.165" port 100%ID',
  118. },
  119. },
  120. gw04 = {
  121. key = 'cf3855e5fa04e4c04a294cb6e8902f91c7ff7ef82bf031cc842a2b79b936677c',
  122. remotes = {
  123. '"gw04.ffho.net" port 100%ID',
  124. 'ipv6 "2a02:450:1::22" port 100%ID',
  125. 'ipv4 "80.70.181.63" port 100%ID',
  126. },
  127. },
  128. gw05 = {
  129. key = 'd0d32a2f536a0fc1f0c848e6da15bd96851d5ff4fdf9239c830bab033ddcec1a',
  130. remotes = {
  131. '"gw05.ffho.net" port 100%ID',
  132. 'ipv6 "2001:638:502:1884::ff15" port 100%ID',
  133. 'ipv4 "192.26.175.183" port 100%ID',
  134. },
  135. },
  136. gw06 = {
  137. key = '88b570c4cc811259b7c4106943098c9bee1126d692ddacedd23cd48efc28b0bf',
  138. remotes = {
  139. '"gw06.ffho.net" port 100%ID',
  140. 'ipv6 "2a02:cbf4:102::22" port 100%ID',
  141. 'ipv4 "213.131.234.22" port 100%ID',
  142. },
  143. },
  144. },
  145. },
  146. },
  147. },
  148. -- default traffic shaping (bandwidth limit) settings
  149. bandwidth_limit = {
  150. enabled = false,
  151. egress = 500,
  152. ingress = 4000,
  153. },
  154. },
  155. -- configure the autoupdater
  156. autoupdater = {
  157. -- default branch for a firmware without enabled autoupdater
  158. branch = 'stable',
  159. -- available branches for the autoupdater
  160. branches = {
  161. stable = {
  162. -- visible name of this branch (why not use the internal identifier here, too)
  163. name = 'stable',
  164. -- where to get the manifest file (without the trailing /manifest)
  165. -- It's wise to use an internal address here,
  166. -- but specifying a publicly available update site does not hurt.
  167. mirrors = {'http://firmware.srv.in.ffho.net/stable/sysupgrade', 'http://[2a03:2260:2342:f251::6]/stable/sysupgrade', 'http://firmware.ffho.net/stable/sysupgrade'},
  168. -- Number of valid manifest signatures necessary to accept the manifest as "good".
  169. good_signatures = 3,
  170. -- list of public keys which are considered "good" for manifest signatures
  171. pubkeys = {
  172. 'ba2e6ff4de41ade9959702195d4c26c764e7aab85c627363681c29dbc4a8a2c5', -- oscar-
  173. 'fb9d6beba63dcb6175d0248c1e743b5fe4359474eb264d27f389d7a962e24477', -- northalpha
  174. 'f70f9ddeb307fff8fca31a76f4fbd0ac676dab8ad143625f0a4160d434d72876', -- Barbarossa
  175. '88d25b1abafe262cd3653ed573b9917eee48a62ceb30e405c051b0ea320c382f', -- KnicklichtJedi
  176. '39ef16b1853e54249dae2d06948329a93e3e13f354aaab792552aacd1d0b45ba', -- phimeas
  177. },
  178. },
  179. testing = {
  180. name = 'testing',
  181. mirrors = {'http://firmware.srv.in.ffho.net/testing/sysupgrade', 'http://[2a03:2260:2342:f251::6]/testing/sysupgrade', 'http://firmware.ffho.net/testing/sysupgrade'},
  182. good_signatures = 2,
  183. pubkeys = {
  184. 'ba2e6ff4de41ade9959702195d4c26c764e7aab85c627363681c29dbc4a8a2c5', -- oscar-
  185. 'fb9d6beba63dcb6175d0248c1e743b5fe4359474eb264d27f389d7a962e24477', -- northalpha
  186. 'f70f9ddeb307fff8fca31a76f4fbd0ac676dab8ad143625f0a4160d434d72876', -- Barbarossa
  187. '88d25b1abafe262cd3653ed573b9917eee48a62ceb30e405c051b0ea320c382f', -- KnicklichtJedi
  188. '39ef16b1853e54249dae2d06948329a93e3e13f354aaab792552aacd1d0b45ba', -- phimeas
  189. },
  190. },
  191. experimental = {
  192. name = 'experimental',
  193. mirrors = {'http://firmware.srv.in.ffho.net/experimental/sysupgrade', 'http://[2a03:2260:2342:f251::6]/experimental/sysupgrade', 'http://firmware.ffho.net/experimental/sysupgrade'},
  194. good_signatures = 1,
  195. pubkeys = {
  196. 'ba2e6ff4de41ade9959702195d4c26c764e7aab85c627363681c29dbc4a8a2c5', -- oscar-
  197. 'fb9d6beba63dcb6175d0248c1e743b5fe4359474eb264d27f389d7a962e24477', -- northalpha
  198. 'f70f9ddeb307fff8fca31a76f4fbd0ac676dab8ad143625f0a4160d434d72876', -- Barbarossa
  199. '88d25b1abafe262cd3653ed573b9917eee48a62ceb30e405c051b0ea320c382f', -- KnicklichtJedi
  200. '39ef16b1853e54249dae2d06948329a93e3e13f354aaab792552aacd1d0b45ba', -- phimeas
  201. },
  202. },
  203. },
  204. },
  205. config_mode = {
  206. -- Show/hide the altitude field
  207. geo_location = {
  208. show_altitude = false,
  209. osm = {
  210. center = {
  211. lat = 51.695543946,
  212. lon = 8.958663940,
  213. },
  214. zoom = 11,
  215. },
  216. },
  217. -- define if the contact field is obligatory (optional)
  218. owner = {
  219. obligatory = false,
  220. },
  221. },
  222. -- configure DNS forwarding
  223. dns = {
  224. servers = { '2a03:2260:2342:f251::53' },
  225. },
  226. }