使用 PFCTL(OS X)作为网桥而不是路由器共享互联网?

使用 PFCTL(OS X)作为网桥而不是路由器共享互联网?

我有一个 Airport Time Capsule (TC) 和一台 Macbook Air (MBA) 以及另一台 PC。MBA 通过无线方式连接 TC,而 PC 通过以太网电缆连接到 MBA。

问题: MBA 将 DHCP 纳入自己的体系,并从新的 IP 范围中传播 IP,使所有连接到它的设备与 TC 的网络断开连接(连接到互联网但不能与直接连接到 TC 的任何其他设备通信)。

目标: 让任何设备连接到 MBA,直接从 TC 获取 IP 地址。这意味着 MBA 将充当从 Wifi 到以太网网络适配器的桥梁。

笔记:在网上搜索了 4 个多小时寻找解决方案,并通过电话与 AppleCare 支持人员沟通了 2 个多小时后,我得出了一个结论:使用 Apple 的 Internet Sharing 功能无法实现此目的。

这就是我从是否配置

en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 84:38:35:63:98:fe 
inet6 fe80::8638:35ff:fe63:98fe%en0 prefixlen 64 scopeid 0x4 
inet 10.0.1.2 netmask 0xffffff00 broadcast 10.0.1.255
nd6 options=1<PERFORMNUD>
media: autoselect
status: active

bridge100: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=3<RXCSUM,TXCSUM>
ether 86:38:35:36:77:64 
inet 192.168.2.1 netmask 0xffffff00 broadcast 192.168.2.255
inet6 fe80::8438:35ff:fe36:7764%bridge100 prefixlen 64 scopeid 0xa 
Configuration:
    id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0
    maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200
    root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0
    ipfilter disabled flags 0x2
member: en4 flags=3<LEARNING,DISCOVER>
        ifmaxaddr 0 port 6 priority 0 path cost 0
nd6 options=1<PERFORMNUD>
media: autoselect
status: active

我希望以某种方式使 Bridge100 使用 10.0.1.x IP,以便让我的 PC 从 TC 接收 IP。

如果你知道如何实现这一点,我会非常高兴。我花了太多时间寻找这个答案。

答案1

您不能直接将帧从以太网桥接到客户端模式 802.11 连接,因为 802.11 协议不允许这样做。AP(您的 TC)将拒绝这些帧,因为它们来自从未经过 802.11 认证或与 802.11 关联的源 MAC 地址。

在 802.11 链路上桥接以太网帧的方法是使用 802.11 中一个相对不为人知的可选功能,即“WDS”(无线分布系统)。遗憾的是,它要求 802.11 链路的两端都配置为支持它,而 Apple 没有提供 API 来配置 Mac 的 Wi-Fi 卡以支持 WDS 模式。

您还可以选择执行 NAT,这是 Intenet Sharing 所做的,但它不能满足您的需求,或者可能使用代理 ARP,但这可能仍然无法实现您真正想要的效果。

相关内容