Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Netzwerk
Einrichten. Festlegen der ersten IP schon direkt nach dem kopieren. Gleich WLAN festlegen, und die was der Watchdog kann und wie man die Grüne LED ansteuert. Ich bin von Netzmaffia begeistert.
Netzmafia-Netzwerk-Konfiguration Initiale IP, den Pi im Netz finden, Statische IP setzen, WLAN (wpa_supplicant), Routing und verschiedene Netzwerk-Konfigurationsmöglichkeiten (interfaces, dhcpcd, systemd, dns)<br> das hat mir ungemein geholfen, um in den verschiedenen Versionen das Netzwerk richtig zu konfigurieren - und vor allem, das ganze auch zu verstehen.
Was ich noch nie verstanden habe
Mit nmap kann man unter anderem feststellen, welches Betriebsystem die Rechner haben.
nmap -v -PR 192.168.178.0/24 # offene Ports finden sudo nmap -v -O 192.168.178.0/24 # Betriebssystem Erkennung (sudo muss sein)
Liste der iptables Einstellungen
iptables -L iptables -t nat -L iptables -S
Routing
echo 1 > /proc/sys/net/ipv4/ip_forward iptables -F; iptables -t nat -F; iptables -t mangle -F iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 123.12.23.43 iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
Alle Sachen löschen und alles erlauben (nur zum testen)
iptables -F iptables -t nat -F iptables -t mangle -F iptables -P FORWARD ACCEPT
ACHTUNG!
- Bridging geht nicht zwischen wlan's. Da geht nur Routing.
- dhcpcd und Interfaces beissen sich, In /etc/network/interfaces nur den default drin lassen!
- eduroam geht nicht mit dem aktuellen Treiber, der läuft auf Zeitablauf. man muss 'wext' nehmen.
Zero-Hotspot mit Weiterleitung an Smartphone/heimnetz
Funktionierende Einstellung, um am Raspberry Zero wlan0 mit Handy/Netzwer zu verbinden und den wlan1 als AccessPoint zu betreiben. Am meisten hat mir diese Seite geholfen.
TODO: Wenn die Stromsparfunktion des WLAN wieder kommt, noch mal hier schauen (iwconfig): https://raspberrypi.stackexchange.com/questions/96606/make-iw-wlan0-set-power-save-off-permanent
sudo systemctl enable dnsmasq sudo systemctl enable dhcpcd sudo systemctl start dnsmasq sudo systemctl start dhcpcd
/etc/network/interfaces source-directory /etc/network/interfaces.dauto lo iface lo inet loopback allow hotplug eth0 iface eth0 inet manualallow-hotplug wlan0 iface wlan0 inet manual wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
/etc/dhcpcd.conf #damit ich eine feste ip am wlan1 habe interface wlan1 static ip_address=192.168.10.1/24 nohook wpa_supplicant #damit baue ich eine Verbindung vom Zero zum Bluetooth-Tethering am Smartphone auf interface bnep0 static ip_address=192.168.44.106/24 #den wext-treiber nur für Zugriff auf eduroam interface wlan0 env ifwireless=1 env wpa_supplicant_driver=wext
Die Firewall Einstellungen müssen gespeichert und auch wieder geladen werden. Dazu dient der netfilter-persistent service.
sudo DEBIAN_FRONTEND=noninteractive apt install -y netfilter-persistent iptables-persistent sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE sudo iptables -A FORWARD -i wlan0 -o wlan1 -m state --state RELATED,ESTABLISHED -j ACCEPT sudo iptables -A FORWARD -i wlan1 -o wlan0 -j ACCEPT sudo netfilter-persistent save
Will man das ganze per Hand machen, dann in die Datei /etc/iptables/rules.v4 direkt eintragen. Sie sieht dann danach so aus:
# Generated by xtables-save v1.8.2 on Sat Aug 22 13:03:37 2020 *filter :INPUT ACCEPT [2795:306943] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [1510:176583] -A FORWARD -i wlan0 -o wlan1 -m state --state RELATED,ESTABLISHED -j ACCEPT -A FORWARD -i wlan1 -o wlan0 -j ACCEPT COMMIT # Completed on Sat Aug 22 13:03:37 2020 # Generated by xtables-save v1.8.2 on Sat Aug 22 13:03:37 2020 *nat :PREROUTING ACCEPT [0:0] :INPUT ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A POSTROUTING -o wlan0 -j MASQUERADE COMMIT # Completed on Sat Aug 22 13:03:37 2020 # Generated by xtables-save v1.8.2 on Sat Aug 22 13:03:37 2020 *mangle :PREROUTING ACCEPT [0:0] :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] COMMIT # Completed on Sat Aug 22 13:03:37 2020
Dann noch den dnsmasq
/etc/dnsmasq.conf interface=wlan1 no-dhcp-interface=eth0 dhcp-range=interface:wlan1,192.168.10.2,192.168.10.10,infinite domain=wlan address=/gw.wlan/192.168.10.1
/etc/wpa_supplicant/wpa_supplicant.conf country=DE ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="iMacToGo" psk="S*" key_mgmt=WPA-PSK priority=10 } network={ ssid="Redmi" psk="" priority=5 } network={ ssid="WLAN-940616" psk="" key_mgmt=WPA-PSK priority=10 } network={ ssid="eduroam" key_mgmt=WPA-EAP pairwise=CCMP group=CCMP TKIP eap=PEAP ca_cert="/home/pi/.cat_installer/ca.pem" identity="u7*****@eduroam.mwn.de" domain_suffix_match="radius.lrz.de" phase2="auth=MSCHAPV2" password="*********" anonymous_identity="anonymouscat@eduroam.mwn.de" }
/etc/hostapd.conf interface=wlan1 #driver=nl80211 # WLAN-Konfiguration ssid=FreeWiFi channel=1 hw_mode=g ieee80211n=1 ieee80211d=1 country_code=DE wmm_enabled=1 # WLAN-Verschlüsselung auth_algs=1 wpa=0 #wenn man kein offenes wlan will #wpa=2 #wpa_key_mgmt=WPA-PSK #rsn_pairwise=CCMP #wpa_passphrase=testtest
/etc/sysctl.conf net.ipv4.ip_forward=1