Я предполагаю, что вы успешно установили необходимые драйверы, и beaglebone появится в вашем списке сетевых интерфейсов. После этого убедитесь, что вы правильно настроили IP-адрес и маску сети. Для соединения beaglebone по умолчанию это выглядит примерно так:
Как только это будет сделано, убедитесь, что вы можете подключиться к beaglebone:
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:~#
Теперь вы готовы настроить nat, чтобы позволить beaglebone совместно использовать ваше сетевое соединение. Для этого сначала найдите имя сетевого интерфейса, связанного с вашим beaglebone:
$ 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
Затем активируйте переадресацию ip и установите соответствующее правило брандмауэра:
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
Естественно, вам нужно заменить en9 на имя интерфейса, найденное на предыдущем шаге. Кроме того, если у вас уже включен брандмауэр, вы можете вручную добавить его в конфигурацию брандмауэра.
Наконец, нам нужно настроить шлюз по умолчанию:
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
Если все работает, вы должны увидеть, что приходят ответы на пинг. Если вы больше не можете подключиться к beaglebone, деактивируйте брандмауэр pfctl -d
и убедитесь, что правило было правильным. Если вы можете подключиться к beaglebone, но эхо-запрос не удается, проверьте таблицу маршрутизации ( route
на beaglebone, таблицу nat на mac pfctl -s nat
и убедитесь, что вы запустили sysctl
).