私はこれについてたくさんの答えを読みましたが、どれもうまくいきませんでした(おそらく古いOS Xバージョン用に書かれているためです)。 Macのインターネット接続を実際にビーグルボーンと共有するにはどうすればよいですか?
必要なドライバーが正常にインストールされ、ビーグルボーンがネットワークインターフェイスのリストに表示されていると仮定します。その場合は、IPアドレスとネットマスクが適切に構成されていることを確認してください。デフォルトのビーグルボーン接続の場合、これは次のようになります。
それが完了したら、ビーグルボーンに接続できることを確認します。
mac$ ssh [email protected]
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をセットアップする準備が整いました。そのためには、最初にビーグルボーンに関連付けられているネットワークインターフェイスの名前を見つけます。
$ 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 [email protected]
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
すべてが機能した場合は、ping応答が届くはずです。ビーグルボーンに接続できなくなった場合は、ファイアウォールを非アクティブ化しますpfctl -d
そしてルールが正しいことを確認します。ビーグルボーンに接続できるが、pingが成功しない場合は、ルーティングテーブル(ビーグルボーンではroute
、Macではnatテーブルpfctl -s nat
、そしてsysctl
)を実行したことを確認してください。