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.