Raspberrypi.gateway
- Ziel ist es dass sich der Raspberry Pi mit einem WLAN verbindet, dieses ist in meinem Fall ein durch ein Handy aufgespannter HotSpot
- Er ist per LAN an das lokale Netz angebunden, und soll eigentlich eine fest IP-Adresse haben
- Er soll als Gateway dem Netz dienen
Problem 1
- LAN sollte eine statische Adresse erhalten, wenn ich aber in interfaces was formuliere geht wlan0 DHCP nicht mehr
Problem 2
- sind beide interfaces ungenannt wird immer wieder die standard-route des LAN gesetzt
- dann haben wir 2 standard-Route, die vom wlan0 ist aber die einzig richtige
Problem 3
- /etc/dhcp/dhcpcd.conf scheint wirkungslose zu sein
"routes" option beim DHCPD Server verhindern
- Wir betreiben wegen "Problem 1" beide Interfaces im DHCP Modus
- Verwirrung entsteht jedoch dass zusammen mit der IP Adresse für eth0 auch ein Gateway versendet und eigetragen wird
- da kabelgebunden hat es eine niedrigere Metrik und wird dem wlan0-gateway vorgezogen
- dies kann man auf seinem DHCPD Server verhindern, es ist jedoch eine undokumentierte Funktion
option routers false;
# /etc/dhcp/ # ... host pi3x02 { option host-name "pi3x02"; hardware ethernet b8:27:eb:bd:79:cc; fixed-address pi3x02; option routers false; } ... #
- dadurch ist pi3x02 ein normaler DHCP Client, er bekommt jedoch keine Standard-Route, gut in diesem Fall
aktuelles Router-Script
# # erst mal die Tabellen leeren # iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -t mangle -F iptables -t mangle -X # # # route del default gw 192.168.115.47 dhcpcd -S ip_adress=192.168.115.47/24 eth0 iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE # # Ausgabe zur Diagnose # iptables -t nat -L -v -n route -vn #
Fritz!Box
- Ziel ist es, die Fritz!Box, die am eth0 Interface hängt sichtbar zu machen
- Der Raspi ist über WLAN in unser Netz angebunden
echo "1" > /proc/sys/net/ipv4/ip_forward iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 443 -j DNAT --to-destination 192.168.178.1:443 iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 80 -j DNAT --to-destination 192.168.178.1:80 iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE