tek*_*ird 6 unix dhcp raspberry-pi macos
我的目标是在我的 MacBook 以太网端口上安装一个以太网交换机,我将通过 DHCP 连接几个 Raspberry Pi 来获取它们的 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>
Run Code Online (Sandbox Code Playgroud)在 /etc/ 中编辑/创建 bootptab,这将静态 IP 分配给 Raspberry Pi
%% # 主机名 hwtype hwaddr ipaddr 引导文件 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
别名 dhcp-start='sudo /bin/launchctl load -w /System/Library/LaunchDaemons/bootps.plist' 别名 dhcp-stop='sudo /bin/launchctl unload -w /System/Library/LaunchDaemons/bootps.plist'
太好了,我可以远程连接到每个 Pi,但是我遇到了以下问题:
无法从每个 Pi 连接到互联网,因为我已经在 OSX 的共享菜单中共享了从 WiFi 到以太网端口的互联网连接:

重置 MacBook 后,将删除 bootpd.plist 文件
对解决上述两个问题的任何帮助表示赞赏!
据我了解,您的互联网共享可能会干扰您的bootd配置,特别是考虑到您正在为 Raspberry \xcf\x80s 分配静态地址。
一旦 dhcp 服务器运行,您就可以为它们创建路由。如果您的 wifi 已打开en1,并且我们假设您的网关已en1打开172.16.0.1,您可以执行以下操作
sudo route add 192.168.2.0/24 172.16.0.1\nRun Code Online (Sandbox Code Playgroud)\n\n这将导致来自 的数据包192.168.2.0通过192.168.2.255您的 wifi 网关。
例如,请参阅添加到 Mac OS X\n 的永久静态路由,了解如何实现自动化。
\n