我有一台计算机和一台路由器,它们在不同的位置连接到交换以太网。我想像将计算机直接插入路由器一样连接它们。
据我了解,以太网使用 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"
上述脚本通过路由器的 MAC 地址(您可以在命令行中指定,也可以在代码中指定默认 MAC 地址)建立到路由器的静态 IP 连接。
如果您使用静态 IP 而不是 DCHP,则可能需要配置名称服务器(resolv.conf
)。