如何路由到 macOS 上特定接口上的 MAC 地址?

如何路由到 macOS 上特定接口上的 MAC 地址?

我有一个设备,a2:a0:f1:7c:7f:36其接口上有 mac 地址en8

en8: flags=8b63<UP,BROADCAST,SMART,RUNNING,PROMISC,ALLMULTI,SIMPLEX,MULTICAST> mtu 1500
    options=6467<RXCSUM,TXCSUM,VLAN_MTU,TSO4,TSO6,CHANNEL_IO,PARTIAL_CSUM,ZEROINVERT_CSUM>
    ether a2:a0:f1:7c:7f:36 
    nd6 options=201<PERFORMNUD,DAD>
    media: autoselect
    status: inactive

我想通过分配172.31.1.2/24NAT 接口地址为该设备提供互联网访问,同时在我的 MacBook 上运行 DNS 服务器。

这是我尝试设置 NAT 的命令:

sudo route -nv add -host 172.31.1.2/24 -link a2:a0:f1:7c:7f:36 -iface en8

然而,路由表()中出现的条目netstat -rn -f inet是:

Destination        Gateway            Flags           Netif Expire
172.31.1.2         a0:f1:7c:7f:36     UHLS              en0       

不知何故,Gateway显示的前 2 个十六进制数字被截断,并且界面不是en0en8我做错了什么?

编辑:我也试过

sudo route -nv add -net 172.31.1.2/24 -iface -link a2:a0:f1:7c:7f:36

这导致了

Destination        Gateway            Flags           Netif Expire
172.31.1/24        link#6             UCSc              en0      !

答案1

您的第一个问题是en8没有 IP 地址 - 可能是因为问题 #2。

您的第二个问题是en8inactive没有插入电缆(电缆类型将在媒体后指定)。

它永远不会发送 IP 数据包

对于有效的界面我期望看到类似这样的内容:

en6: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
    options=6467<RXCSUM,TXCSUM,VLAN_MTU,TSO4,TSO6,CHANNEL_IO,PARTIAL_CSUM,ZEROINVERT_CSUM>
    ether 48:65:ee:1e:e5:3b
    inet6 fe80::cb7:42bb:c887:1232%en6 prefixlen 64 secured scopeid 0xf
    inet 192.168.1.95 netmask 0xffffff00 broadcast 192.168.1.255
    nd6 options=201<PERFORMNUD,DAD>
    media: autoselect (**1000baseT <full-duplex>**)
    status: **active**

因此,您的第一步是将有源电缆插入en8- 不管是什么。(您没有告诉我们。)或者,如果它是 WiFi 接口,则连接到 WiFi 网络。

接下来,找到 en8,Apple > System Preferences ... > Network但您需要知道它是哪个物理接口,然后为其分配您想要的 172.31.1.2/24 地址。

然后,返回Apple > System Preferences ... > Sharing并检查[x] Internet Sharing选项 - 在那里选择你的发件人和收件人连接 - [虽然我怀疑苹果可能会重新分配 IP]

无论如何 - 希望足以让您入门。调整共享以使共享网络使用您的本地 DNS 服务器可能会更具挑战性。也许您可以告诉我们更多关于最终结果的信息,以及您为什么要自己做 DNS 和共享。

相关内容