Wollte von einem alten Debian-NAS mit MIPS-CPU auf eine etwas modernere Plattform (RaspberryPi 3) wechseln, scheitere aber (vermutlich) gerade am Routing…
Auf dem NAS läuft ein Debian Bullseye, das eigentlich schon nicht mehr vom NAS unterstützt wird - die Vorgängerversion ist eigentlich die letzte voll unterstützte, der neuere Kernel passt nicht mehr in den dafür vorgesehenen Speicherbereich. Deswegen läuft Bullseye mit einem Kernel von Buster (oldstable). Das ganze mehr schlecht als recht. Es läuft, aber sehr träge, der USB-WLAN-Chipsatz (ein ALFA GE-RT3070 mit (laut lsusb) Ralink RT2870/RT3070) treibt die CPU-Last ("kworker") extrem nach oben. Wenn die ganze Familie im Netz surft, wird's ungemütlich.
Deswegen: Raspberry Pi 3! Da läuft 'n aktuelles Debian.Hab mir so'n fertiges Image von freedombox.org heruntergeladen. Ursprünglich ging's um einen Radicale-Server im Heimnetzwerk. Aber da das schon mal läuft, und WLAN - wie gesagt - besser laufen könnte…
Also dachte ich: Halt einfach die alte Konfiguration vom NAS auf die freedombox hieven und fertig. Leider nein. (Der Internet-Router ist übrigens eine Fritz!Box 7412 (ohne WLAN). An dem liegen meine Probleme vermutlich nicht.)
Zur Einrichtung eines hostapd gibt's auf der freedombox leider keine Routine, sonst hätte ich die alte Konfiguration verworfen. Jetzt hab ich also erst mal die hostapd.conf vom einen aufs andere System:
Code: Alles auswählen
driver=nl80211
######################### basic hostapd configuration ##########################
#
interface=wlx00c0ca58b4af
country_code=DE
ieee80211d=0
ieee80211h=0
channel=5
hw_mode=g
ieee80211n=1
wmm_enabled=1
ht_capab=
logger_syslog=-1
logger_syslog_level=2
logger_stdout=-1
logger_stdout_level=4
dump_file=/tmp/hostapd.dump
auth_algs=1
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0
ssid=confusion
ignore_broadcast_ssid=0
######################### wpa hostapd configuration ############################
#
wpa=2
wpa_passphrase=[passwort]
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP
beacon_int=500
dtim_period=2
Code: Alles auswählen
interface=wlx00c0ca58b4af
no-dhcp-interface=enxb827eb9063db
dhcp-range=interface:wlan0,192.168.1.20,192.168.1.255,infinite
[dhcp-host=…]
Jetzt muss noch die WLAN-Schnittstelle statisch hochgefahren werden. Machen wir oldschool über die /etc/network/interfaces. Ach, nee, nicht ganz! Dort hab' ich den Eintrag
Code: Alles auswählen
source /etc/network/interfaces.d/*
Code: Alles auswählen
# WLAN mit fester Adresse für hostapd
auto wlx00c0ca58b4af
iface wlx00c0ca58b4af inet static
address 192.168.1.1
netmask 255.255.255.0
broadcast 192.168.1.255
# Firewall zurücksetzen, Tabellen leeren
# up /sbin/iptables -F
# up /sbin/iptables -X
# up /sbin/iptables -t nat -F
# Kabelnetzwerk maskieren, Port-Forwarding sowie Nat aktivieren
up iptables -A FORWARD -o enxb827eb9063db -i wlx00c0ca58b4af -s 192.168.0.0/24 -m conntrack --ctstate NEW -j ACCEPT
up iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
up iptables -t nat -A POSTROUTING -o enxb827eb9063db -j MASQUERADE
up sysctl -w net.ipv4.ip_forward=1
# hostapd und dnsmasq (neu) starten
up service hostapd restart
up service dnsmasq restart
Bei einem ersten Reboot der freedombox ging erst einmal gar nix. Dann sind mir die Firewallregeln im "Cockpit" aufgefallen. Habe also mal eine DMZ auf der WLAN-Schnittstelle eingerichtet und DNS und DHCP als Dienst erlaubt.
WLAN-Geräte können sich jetzt über die freedombox eine Adresse abholen! Das ist schon mal gut! Es gibt also eine Verbindung! Aber ins Internet komme ich nicht.
Hab' mal wild herumgepingt! Ich kann Namen sowohl innerhalb als auch außerhalb meines LANs auflösen lassen und die entsprechenden Adressen anpingen. Ich verstehe nur nicht, warum ich dann mittels Browser keine Seite aufrufen kann, bzw. mein Android-Telefon fest stellt, dass ich mit meinem AP keine Internet-Verbindung habe.
Außerdem behauptet "Cockpit" (bzw. systemctl) auf der freedombox nach jedem Reboot, dass die Einrichtung der Netzwerkschnittstellen fehlgeschlagen sei. Gemeint ist mein WLAN-Device, denn Ethernet funktioniert nach wie vor tadellos. Wenn ich die Befehle im Abschnitt "Kabelnetzwerk maskieren, Port-Forwarding sowie Nat aktivieren" einzeln im Terminal durchgehe, bekomme ich allerdings _keine_ Fehlermeldung.
Bin ja nicht ganz up-to-date… Wahrscheinlich macht man das heute anders, wenn man einen WLAN-AP einrichten will, möglicherweise mit Network-Manager oder networkd? Irgendwie beißt sich da vermutlich auf der freedombox was…?
[Edit: Typo]