Freifunk

Adressen

IPv4

Für Freifunk Marburg ist der Adressbereich 10.128.0.0/18 (10.128.0.1 - 10.128.63.254) in der InterCity-VPN Registry eingetragen worden.

SubnetUsageDHCP serverStatus
10.128.0.0/24Gatewaysstaticin operation
10.128.1.0/24free
10.128.2.0/23Infrastructure servicesstaticin operation
10.128.4.0/22Generic servicesstaticin operation
10.128.8.0/21free
10.128.16.0/21DHCPgw01in operation
10.128.24.0/21DHCPreserved
10.128.32.0/21DHCPreserved
10.128.40.0/21DHCPreserved
10.128.48.0/21DHCPreserved
10.128.56.0/21DHCPreserved

Gateways

IPHostnameUsageStatus
10.128.0.1gw01gw01 (DHCP 10.128.16.0/21)in operation

Infrastructure services

IPHostnameUsageStatus
10.128.2.1nextnodenext node on client networkin operation
10.128.3.1Spiegelslustturm-01PTMP Spiegelslussturmin operation
10.128.3.2hsmr-Spiegelslustturm-01PTMP Spiegelslussturmin operation
10.128.3.3MLS-Spiegelslustturm-01PTMP Spiegelslussturmreserved
10.128.3.4RUM-Spiegelslustturm-01PTMP Spiegelslussturmin operation
10.128.3.5sonne13-Spiegelslustturm-01PTMP Spiegelslussturmin operation
10.128.3.6test-Spiegelslustturm-01PTMP Spiegelslustturmin operation
10.128.3.7events-Spiegelslustturm-01PTMP Spiegelslustturmreserved
10.128.3.8THW-Spiegelslustturm-01PTMP Spiegelslustturmin operation
10.128.3.9pollux-Spiegelslustturm-01PTMP Spiegelslustturmin operation
10.128.3.10gleisx-Spiegelslustturm-01PTMP Spiegelslustturmin operation

Generic services

IPHostnameUsageStatus
10.128.4.78bobBuild serveroffline
10.128.4.23ancha^( '-' )^in operation

IPv6

Uns steht derzeit das Subnetz 2a06:4b00:1000::/56 zur Verfügung. Wir benutzen zu Beginn nur 2a06:4b00:1000::/64.

def calculate_ip6_from_ip4(ip4_addr):
    ip = [int(x) for x in ip4_addr.split('.')]
    if ip[2] == 0:
        return '2a06:4b00:1000::{:x}{:02x}:{:x}/64'.format(ip[0], ip[1], ip[3])
    return '2a06:4b00:1000::{:x}{:02x}:{:x}{:02x}/64'.format(ip[0], ip[1], ip[2], ip[3])

Kontrollimplementierung:

def calculate_ip6_from_ip4(ip4_addr):
    from ipaddress import ip_address
    first_ip6_addr = ip_address('2a06:4b00:1000::')
    first_ip4_addr = ip_address('10.128.0.0')
    return first_ip6_addr - int(first_ip4_addr) + int(ip_address(ip4_addr))

Multicast

Unicast-Prefix-based IPv6 Multicast Prefix: ff3e:40:2a06:4b00:1000::/96

Allocations

GroupUsageStatus
0x90012329Radio Unerhört Marburg 90,1 MHz Simulcastreserved

MAC (when not defined by vendor, i.e. for gateways)

def calculate_mac_from_ip4(ip4_addr):
    ip = [int(x) for x in ip4_addr.split('.')]
    return '00:01:01:{:02x}:{:02x}:{:02x}'.format(ip[1], ip[2], ip[3])