Listing 3
noauth nocrtscts xonxoff passive local maxfail 0 defaultroute persist nodetach 192.168.0.101:192.168.0.100
Listing 4
noauth nocrtscts xonxoff passive local maxfail 0 nodetach 192.168.0.100:192.168.0.101 persist proxyarp
Insbesondere sollten Sie sicherstellen, dass die IP-Adressen entweder aus einem eigenen Netz oder Ihrem LAN stammen und noch nicht vergeben sind. Außerdem müssen die Adressen in beiden Listings vertauscht sein.
Damit der PPP-Daemon automatisch startet, erzeugen Sie einen neuen Systemd-Dienst. Dazu kopieren Sie das Listing 5 nach /etc/systemd/system/pi2pi.service und starten den Service auf beiden Mini-Rechnern mittels der Befehle aus Listing 6.
Listing 5
[Unit] Description=Pi-to-Pi connection using PPP [Service] Type=idle ExecStart=/usr/sbin/pppd -d /dev/serial0 1000000 Restart=always [Install] WantedBy=multi-user.target
Listing 6
$ sudo systemctl daemon-reload $ sudo systemctl enable pi2pi.service $ sudo systemctl start pi2pi.service
An dieser Stelle sollte die Punkt-zu-Punkt-Verbindung stehen. Via SSH erreichen Sie den jeweils anderen RasPi über die erste Adresse in Listing 3 beziehungsweise Listing 4. Damit der Zero zudem Anschluss ans Internet erhält, stehen noch kleinere Ergänzungen an.
Zugang durchreichen
Möchten Sie erreichen, dass der zweite RasPi seinen Zugang zum Internet bei der Pi-zu-Pi-Verbindung an den Zero durchreicht, verwandeln Sie ihn in einen Router. Er leitet dann die Pakete aus dem PPP-Netz ins LAN, von wo aus sie wiederum ins WLAN gelangen.
Auf dem Router-Pi editieren Sie als Root die Datei /etc/sysctl.conf und entfernen das Kommentarzeichen vor der Zeile mit net.ipv4.ip_forward=1. Sie aktivieren die Änderung per Reboot oder einfacher mit dem Kommando aus der ersten Zeile von Listing 7.
Stammen die IP-Adressen der PPP-Verbindung aus dem LAN, genügt das bereits. Anderenfalls müssen Sie die Firewall-Regeln so anpassen, dass die IP-Pakete zwischen beiden Netzen fließen. Das erledigen die drei Iptables-Kommandos aus Listing 7. Falls Ihr Router-RasPi per WLAN am Netz hängt, ersetzen Sie hier eth0 durch wlan0.
Listing 7
$ sudo sysctl -p $ sudo iptables -A FORWARD -i eth0 -o ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT $ sudo iptables -A FORWARD -i ppp0 -o eth0 -j ACCEPT $ sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE $ sudo iptables-save > /etc/iptables.save
Die Iptables-Kommandos brauchen Sie nicht immer neu einzutippen: Sie speichern Sie mit dem Befehl aus der letzten Zeile von Listing 7. Anschließend fügen Sie in die Servicedatei /etc/systemd/system/pi2pi.service (Listing 5) noch die folgende Zeile ein:
ExecStartPost=/sbin/iptables-restore < /etc/iptables.save
Auf dem Pi Zero fehlt jetzt noch die Konfiguration des DNS-Servers – in aller Regel Ihr Router. Dessen Adresse tragen Sie auf dem Zero in die Datei /etc/resolvconf.conf ein. Hier gibt es eine auskommentierte Zeile mit #name_servers=127.0.0.1 – das Kommentarzeichen entfernen Sie, die IP-Adresse tauschen Sie aus.
Fazit
Wie Sie sehen, braucht ein Pi Zero sein Leben nicht einsam zu fristen. Per Ethernet, WLAN, UMTS, Bluetooth, USB und sogar einfachen Kabeln klappt der Anschluss. Wer mitgezählt hat, kommt auf sechs der sieben angekündigten Technologien. Als Letzte verbleibt Infrarot.





