Also mal ne Zusammenfassung als Vorabversion fürs Wiki
Vorbedingungen: Im folgenden wird davon ausgegangen, dass wir einen http Dienst unter Port 80 auf einer eigenen IP anbieten wollen. Die IP die im Beispiel verwendet wir ist die 10.62.40.1. Der Server (Raspi) wird also unter
http://10.62.40.2 erreichbar sein. Der Router, an dem der Raspi über einen gelben LAN Port verbunden ist, hat im Beispiel die IP 10.62.40.63. Diese IP's müßt ihr vorher wissen und vor allem im Wiki registriert haben. Die LAN Schnittstelle des Routers arbeitet im Adressbereich 192.168.1.x und damit fangen wir an:
1. Raspi auf eine feste IP einstellen. Der DHCP auf dem LAN vergibt default Adressen von 192.168.1.100 - 192.168.1.250. Die IP des Raspi sollte also au0erhalb des Bereiches liegen. Ich gehe im weiteren Verlauf davon aus, das dem Raspberry die 192.168.1.50 fest zugeordnet wird wie folgt:
Code: Alles auswählen
iface eth0 inet static
address 192.168.1.50
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 192.168.1.1 8.8.8.8
Anmerkung: auf meinem Raspi funktionierte die Namensauflösung nicht. Ich habe daher das paket
resolvconf nachinstalliert und die Nameserver hart verdrahtet
2.
IP bekanntmachen. Auf dem Router bearbeiten wir nun die Datei
/etc/config/network mit dem Editor vi. Wir suchen uns das Interface
wireless0. Dieses wollen wir verändern. Im Original sieht das so aus:
Code: Alles auswählen
config interface 'wireless0'
option dns '8.8.8.8 212.204.49.83 141.1.1.1'
option netmask '255.255.255.255'
option proto 'static'
option ipaddr '10.62.40.63'
Wir möchten diesem Interface eine zweite IP zuweisen, nämlich die, unter der der Service später erreichbar sein soll. Wir müssen dem Interface mitteilen, das es statt mit einer IP Adress mit einer Liste von IP Adressen arbeiten soll. Das sieht dann so aus. Oben die IP des Routers und unten die IP unseres neuen Dienstes
Code: Alles auswählen
config interface 'wireless0'
option dns '8.8.8.8 212.204.49.83 141.1.1.1'
option netmask '255.255.255.255'
option proto 'static'
list ipaddr '10.62.40.63'
list ipaddr '10.62.40.2/24'
Nach dem Abspeichern ist dann der Exkurs auf die Konsolen auch schon beendet und der Rest der Arbeit findet im Webinterface des Routers statt.
3.
Firewall Regeln. Im Webinterface gehen wir unter
Netzwerk -> Firewall -> Benutzerdefinierte Regeln. Dort Tragen wir die Routing Regeln vom Router zum Raspi und zurück ein. (Hinweg = NAT, Rückweg = SNAT)
Code: Alles auswählen
iptables -t nat -I PREROUTING -d 10.62.40.2 -j DNAT --to-destination 192.168.1.50
iptables -t nat -I POSTROUTING -s 192.168.1.50 -j SNAT --to 10.62.40.2
Damit werden die Pakete, die auf 10.62.40.2 reinkommen auf 192.168.1.50 weitergeleitet und rückwärts genauso. Nach dem Speichern der Regeln wird ein Neustart des Routers fällig, den ihr jetzt durchführt. Nach dem Neustart sollte ein "Ping 10.62.40.2" vom Raspi beantwortet werden und der Raspi ebenfalls auf Allen Ports aus dem Freifunknetz erreichbar sein.
4.
HNA Ankündigung
5.
Dienst Ankündigung