-- This is an example site configuration for Gluon v2017.1+ -- -- Take a look at the documentation located at -- http://gluon.readthedocs.org/ for details. -- -- This configuration will not work as it. You're required to make -- community specific changes to it! { -- Used for generated hostnames, e.g. freifunk-abcdef123456. (optional) -- hostname_prefix = 'freifunk-', -- Name of the community. site_name = 'Freifunk Alpha Centauri', -- Shorthand of the community. site_code = 'ffxx', -- Prefixes used within the mesh. -- prefix6 is required, prefix4 can be omitted if next_node.ip4 -- is not set. prefix4 = '10.xxx.0.0/20', prefix6 = 'fdxx:xxxx:xxxx::/64', -- Timezone of your community. -- See http://wiki.openwrt.org/doc/uci/system#time_zones timezone = 'CET-1CEST,M3.5.0,M10.5.0/3', -- List of NTP servers in your community. -- Must be reachable using IPv6! ntp_servers = {'1.ntp.services.ffxx'}, -- Wireless regulatory domain of your community. regdom = 'DE', -- Wireless configuration for 2.4 GHz interfaces. wifi24 = { -- Wireless channel. channel = 1, -- List of supported wifi rates (optional) -- Example removes 802.11b compatibility for better performance supported_rates = {6000, 9000, 12000, 18000, 24000, 36000, 48000, 54000}, -- List of basic wifi rates (optional, required if supported_rates is set) -- Example removes 802.11b compatibility for better performance basic_rate = {6000, 9000, 18000, 36000, 54000}, -- ESSID used for client network. ap = { ssid = 'alpha-centauri.freifunk.net', -- disabled = true, (optional) }, mesh = { -- Adjust these values! id = 'ffxx-mesh', mcast_rate = 12000, -- disabled = true, (optional) }, }, -- Wireless configuration for 5 GHz interfaces. -- This should be equal to the 2.4 GHz variant, except -- for channel. wifi5 = { channel = 44, ap = { ssid = 'alpha-centauri.freifunk.net', }, mesh = { id = 'ffxx-mesh', mcast_rate = 12000, }, }, -- The next node feature allows clients to always reach the node it is -- connected to using a known IP address. next_node = { -- anycast IPs of all nodes ip4 = '10.xxx.0.xxx', ip6 = 'fdxx:xxxx:xxxx::xxxx', -- anycast MAC of all nodes mac = 'xe:xx:xx:xx:xx:xx', }, -- Options specific to routing protocols (optional) -- mesh = { -- Options specific to the batman-adv routing protocol (optional) -- batman_adv = { -- Gateway selection class (optional) -- The default class 20 is based on the link quality (TQ) only, -- class 1 is calculated from both the TQ and the announced bandwidth -- gw_sel_class = 1, -- }, -- }, mesh_vpn = { -- enabled = true, mtu = 1280, fastd = { -- Refer to http://fastd.readthedocs.org/en/latest/ to better understand -- what these options do. -- List of crypto-methods to use. methods = {'salsa2012+umac'}, -- configurable = true, -- syslog_level = 'warn', groups = { backbone = { -- Limit number of connected peers to reduce bandwidth. limit = 1, -- List of peers. peers = { peer1 = { key = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', -- This is a list, so you might add multiple entries. remotes = {'ipv4 "xxx.somehost.invalid" port xxxxxx'}, }, peer2 = { key = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', -- You can also omit the ipv4 to allow both connection via ipv4 and ipv6 remotes = {'"xxx.somehost2.invalid" port xxxxx'}, }, }, -- Optional: nested peer groups -- groups = { -- backbone_sub = { -- ... -- }, -- ... -- }, }, -- Optional: additional peer groups, possibly with other limits -- backbone2 = { -- ... -- }, }, }, bandwidth_limit = { -- The bandwidth limit can be enabled by default here. enabled = false, -- Default upload limit (kbit/s). egress = 200, -- Default download limit (kbit/s). ingress = 3000, }, }, autoupdater = { -- Default branch. Don't forget to set GLUON_BRANCH when building! branch = 'stable', -- List of branches. You may define multiple branches. branches = { stable = { name = 'stable', -- List of mirrors to fetch images from. IPv6 required! mirrors = {'http://1.updates.services.ffhl/stable/sysupgrade'}, -- Number of good signatures required. -- Have multiple maintainers sign your build and only -- accept it when a sufficient number of them have -- signed it. good_signatures = 2, -- List of public keys of maintainers. pubkeys = { 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', -- Alice 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', -- Bob 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', -- Mary }, }, }, }, -- Node roles -- roles = { -- default = 'node', -- list = { -- 'node', -- 'test', -- 'backbone', -- 'service', -- }, -- }, -- Skip setup mode (config mode) on first boot -- setup_mode = { -- skip = true, -- }, -- config_mode = { -- Show/hide the altitude field -- geo_location = { -- show_altitude = false, -- }, -- define if the contact field is obligatory (optional) -- owner = { -- obligatory = true -- }, -- }, }