Ich gehe davon aus, dass Sie die erforderlichen Treiber erfolgreich installiert haben und der beaglebone in Ihrer Liste der Netzwerkschnittstellen angezeigt wird. Wenn dies der Fall ist, stellen Sie sicher, dass Sie die IP-Adresse und die Netzmaske richtig konfiguriert haben. Für die standardmäßige Beaglebone-Verbindung sieht das ungefähr so aus:
Vergewissern Sie sich danach, dass Sie eine Verbindung zum Beaglebone herstellen können:
mac$ ssh root@192.168.7.2 Debian GNU/Linux 7 BeagleBoard.org Debian Image 2015-11-12 Support/FAQ: http://elinux.org/Beagleboard:BeagleBoneBlack_Debian default username:password is [debian:temppwd] Last login: Thu Nov 12 19:06:13 2015 from mac.local root@beaglebone:~#
Jetzt können Sie die NAT einrichten, damit der Beaglebone Ihre Netzwerkverbindung freigeben kann. Suchen Sie dazu zunächst den Namen der Netzwerkschnittstelle, die mit Ihrer Beaglebone verbunden ist:
$ ifconfig | grep -C 3 192.168.7.1 en9: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1486 ether 04:a3:16:ad:6c:4d inet6 fe80::6a3:16ff:fead:6c4d%en9 prefixlen 64 scopeid 0x4 inet 192.168.7.1 netmask 0xfffffffc broadcast 192.168.7.3 nd6 options=1<PERFORMNUD> media: autoselect status: active
Aktivieren Sie dann die IP-Weiterleitung und legen Sie die entsprechende Firewall-Regel fest:
mac$ sudo sysctl net.inet.ip.forwarding=1 net.inet.ip.forwarding: 0 -> 1 mac$ echo "nat on en0 from en9:network to any -> (en0)" | sudo pfctl -f - -e pfctl: Use of -f option, could result in flushing of rules present in the main ruleset added by the system at startup. See /etc/pf.conf for further details. No ALTQ support in kernel ALTQ related functions disabled pf enabled
Natürlich müssen Sie den Schnittstellennamen, den Sie im vorherigen Schritt gefunden haben, durch en9 ersetzen. Wenn Sie die Firewall bereits aktiviert haben, müssen Sie diese manuell zur Firewall-Konfiguration hinzufügen.
Zuletzt müssen wir das Standard-Gateway einrichten:
mac$ ssh root@192.168.7.1 beaglebone# route add default gw 192.168.7.1 usb0 beaglebone# ping 8.8.8.8 PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 64 bytes from 8.8.8.8: icmp_req=1 ttl=54 time=16.6 ms 64 bytes from 8.8.8.8: icmp_req=2 ttl=54 time=20.5 ms
Wenn alles funktioniert hat, sollten Sie die Ping-Antworten sehen. Wenn Sie keine Verbindung mehr mit dem Beaglebone herstellen können, deaktivieren Sie die Firewall pfctl -d
und überprüfen Sie, ob die Regel korrekt ist. Wenn Sie eine Verbindung zum Beaglebone herstellen können, der Ping jedoch nicht erfolgreich ist, überprüfen Sie die Routing-Tabelle ( route
auf dem Beaglebone und die NAT-Tabelle auf dem Mac pfctl -s nat
) und stellen Sie sicher, dass Sie die ausgeführt haben sysctl
.