如何通过交换以太网网络连接到路由器?

如何通过交换以太网网络连接到路由器?

我有一台计算机和一台路由器,它们在不同的位置连接到交换以太网。我想像将计算机直接插入路由器一样连接它们。

据我了解,以太网使用 MAC 地址以帧的形式发送数据,因此任何两个连接的设备都应该能够直接通信,而无需先从主路由器接收 IP 地址,对吗?

答案1

我发现使用 MAC 地址的关键是地址解析协议表,将邻近的IP地址(本地网络上的IP地址)链接到MAC地址的表。

您需要做的就是将ip neigh add路由器的 MAC 地址链接到 IP 地址,然后像往常一样通过该 IP 地址进行路由:

#!/bin/sh
DEV="eth0"
ROUTER="192.168.0.1"
MAC="${1:-01:23:45:67:89:ab}"
IP="192.168.0.5/24"

ip link set "$DEV" up
ip addr add "$IP" dev "$DEV"
ip neigh add "$ROUTER" lladdr "$MAC" dev "$DEV"
ip route add default via "$ROUTER"

查看我在 GitHub Gist 上使用的完整脚本。

上述脚本通过路由器的 MAC 地址(您可以在命令行中指定,也可以在代码中指定默认 MAC 地址)建立到路由器的静态 IP 连接。

如果您使用静态 IP 而不是 DCHP,则可能需要配置名称服务器(resolv.conf)。

相关内容