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.