私はMacBookのイーサネットポートにイーサネットスイッチを配置し、そこから複数のRaspberry Piを接続してDHCP経由でIPを取得し、それぞれにリモートアクセス用のVNCサーバーを実行させ、インターネットを共有させたいMacBookのWiFi接続。
これを行うために、次のようにOSXの組み込みDHCPサーバーを利用しました:
/ etc /のbootpd.plistを編集しました。これにより、192.168.2.0ネットワークのDHCPサーバーが構成されます。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.Apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Subnets</key>
<array>
<dict>
<key>_creator</key>
<string>com.Apple.InternetSharing</string>
<key>allocate</key>
<true/>
<key>dhcp_domain_name_server</key>
<array>
<string>192.168.2.1</string>
</array>
<key>dhcp_router</key>
<string>192.168.2.1</string>
<key>lease_max</key>
<integer>36000</integer>
<key>lease_min</key>
<integer>36000</integer>
<key>name</key>
<string>192.168.2/24</string>
<key>net_address</key>
<string>192.168.2.0</string>
<key>net_mask</key>
<string>255.255.255.0</string>
<key>net_range</key>
<array>
<string>192.168.2.2</string>
<string>192.168.2.254</string>
</array>
</dict>
</array>
<key>bootp_enabled</key>
<false/>
<key>detect_other_dhcp_server</key>
<true/>
<key>dhcp_enabled</key>
<array>
<string>bridge0</string>
</array>
<key>use_server_config_for_dhcp_options</key>
<false/>
</dict>
</plist>
/ etc /で編集/作成されたbootptab、これは静的IPをRaspberryPiに割り当てます
%% #hostname hwtype hwaddr ipaddr bootfile Raspi1 1 aa:bb:cc:dd:ee:f1 192.168.2.2 Raspi2 1 aa:bb: cc:dd:ee:f2 192.168.2.3 Raspi3 1 aa:bb:cc:dd:ee:f3 192.168.2.4 Raspi4 1 aa:bb:cc:dd:ee:f4 192.168 .2.5
alias dhcp-start = 'Sudo/bin/launchctl load -w /System/Library/LaunchDaemons/bootps.plist' alias dhcp-stop =' Sudo/bin/launchctl undo -w/System/Library/LaunchDaemons/bootps.plist '
各Piにリモートで接続できますが、次の問題があります:
OSXの共有メニュー内でWiFiからイーサネットポートへのインターネット接続を共有しているため、各Piからインターネットに接続できません。
MacBookをリセットすると、bootpd.plistファイルが削除されます
上記の2つの問題の解決にご協力いただければ幸いです。
私が理解しているように、特にRaspberryπに静的アドレスを割り当てている場合、インターネット共有がbootd
構成を妨害している可能性があります。
Dhcpサーバーを実行したら、それらのルートを作成できます。 Wi-Fiがen1
にあり、en1
のゲートウェイが172.16.0.1
であると想定している場合、次のようなことができます。
Sudo route add 192.168.2.0/24 172.16.0.1
これにより、192.168.2.0
から192.168.2.255
に送信されるパケットがwifiのゲートウェイを通過します。
自動化する方法については、たとえば、 Mac OS Xに永続的な静的ルートを追加する を参照してください。