Как я могу поделиться интернет-соединением моего Mac с моим beaglebone black?
Я прочитал много ответов на этот вопрос, но ни один из них не сработал (предположительно, потому что они были написаны для устаревших версий OS X). Как мне на самом деле поделиться интернет-соединением моего Mac с beaglebone?
1 ответ
Я предполагаю, что вы успешно установили необходимые драйверы, и 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
Если все работает, вы должны увидеть, как приходят ответы на пинг. Если вы не можете больше подключиться к биглебону, отключите брандмауэр. pfctl -d
и убедитесь, что правило было правильным. Если вы можете подключиться к beaglebone, но эхо-запрос не выполняется, проверьте таблицу маршрутизации (route
на биглебоне, стол nat на маке pfctl -s nat
и убедитесь, что вы запустили sysctl
).