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