Freifunk Lübeck

Privates Netz Einrichten

Privates Netz einrichten

Diese Anleitung wird zur Zeit überarbeitet und funktioniert noch nicht!

Was macht diese Anleitung? Was sind die angestrebten Setups?

  • Szenario A1: Geroutetes Subnetz auf den LAN-Ports.
  • Szenario A2: Wie A1. Zusätzlich privates WLAN gebridged.
  • Szenario B: Wie A, jedoch mit IPv4 Uplink über den WAN-Port.

TODO

  • Subnetzreservierung dokumentieren
  • default route über WAN
  • MTU Probleme (ip-proto-1 fragments) debuggen

Vorbereitung im Wiki

[[Netzwerk:IP Subnetze]]

  • IPv6 Subnetz reservieren (ein /64)
  • IPv4 Subnetz reservieren (ein /27 mit 30 IPs)

Benötigte Pakete

Für ein privates Netz werden zusätzliche Pakete benötigt:

  • bird6
  • kmod-nat46
  • odhcpd

Diese können mittels opkg update gefolgt von opkg install bird6 kmod-nat46 odhcpd installiert werden.

Außerdem muss die Datei siit.sh von https://gist.github.com/tcatm/3230254ae5da1a9f60d3 nach /lib/netifd/proto/siit.sh kopiert und ausführbar gemacht werden.

Konfiguration

Zur Konfiguration einmal folgendes in die Shell einfügen und die Zeilen mit <-- anpassen! entsprechend abändern.

uci set firewall.client.forward=ACCEPT
uci add_list firewall.client.network=lan
uci add_list firewall.client.network=nat64

uci set network.nat64=interface
uci set network.nat64.ip6addr=fe80::1
uci set network.nat64.ip6prefix=2001:67c:2d50:1::/96
uci set network.nat64.proto=siit

uci set network.wan_default=route
uci set network.wan_default.interface=nat64
uci set network.wan_default.netmask=0.0.0.0
uci set network.wan_default.target=0.0.0.0

uci set network.client.ifname=bat0

uci set network.lan=interface
uci set network.lan.ip6assign=64
uci set network.lan.proto=static
uci set network.lan.type=bridge
uci set network.lan.ifname=$(cat /lib/gluon/core/sysconfig/lan_ifname)
uci set network.lan.igmp_snooping=0

uci set network.lan.ip6prefix=2001:67c:2d50:0xxx::/64  <-- anpassen!
uci set network.lan.ipaddr=10.130.yy.1                 <-- anpassen!
uci set network.lan.netmask=255.255.255.224            <-- ggf. anpassen

uci commit

/etc/bird6.conf

Die vorhandene Datei muss durch diese Eintragungen ersetzt werden.

router id 1.1.1.1;

protocol static {
  route 2001:67c:2d50:0xxx::/64 reject;                       <-- anpassen!
  route 2001:67c:2d50:0001::10.130.yy.0/123 via "siit-nat64"; <-- anpassen!
  # /123 = /96 + /27
}

protocol kernel {
  scan time 20;
  import none;
  export all;
}

protocol device {
  scan time 10;
}

protocol rip {
  import where rip_metric < 16;
  export all;
  interface "br-client";
}

Initscripte aktivieren

/etc/init.d/bird6 enable
/etc/init.d/odhcpd enable

Optional: WLAN hinzufügen

uci set wireless.private_radio0=wifi-iface
uci set wireless.private_radio0.device=radio0
uci set wireless.private_radio0.network=lan
uci set wireless.private_radio0.mode=ap
uci set wireless.private_radio0.encryption=psk2
uci set wireless.private_radio0.ssid=Privates Netz <-- anpassen!
uci set wireless.private_radio0.key=test1234       <-- anpassen!
uci commit

Bei Geräten mit zwei WLAN-Bändern (2,4Ghz und 5Ghz) müssen die gleichen Befehle nochmal mit radio1 statt radio0 wiederholt werden.

Port Forwarding (optional)

Wenn auf dem nun im privaten Netz hängenden Computer ein Dienst läuft, der aus dem Internet erreichbar sein soll, so muss eine entsprechende Portweiterleitung sowohl im DSL-Router als auch im Freifunk-Knoten konfiguriert werden. Die Anleitung zur Konfiguration des Freifunk-Knotens kann hier gefunden werden: http://wiki.openwrt.org/doc/howto/port.forwarding

Es müssen hierzu lediglich die Option “dest_ip” und “target” (freifunk) angepasst werden.