我有一台 Debian 7 Linux 机器和一个通过以太网电缆连接到它的 TP-link MR3020 路由器eth0
,在 WISP 模式下工作意味着使其成为客户端而不是接入点:
我还有一个连接到 ISP 的独立路由器,可以很好地提供 wi-fi。我的 Linux 机器缺少内置 Wi-Fi 适配器,我想使用 WISP 模式路由器而不是外部 USB Wi-Fi 适配器,因为它们非常不稳定(尝试了其中 3 个,2 个不起作用,1 个故障)。
我的麻烦是,看起来我的 Linux 机器无法将 WISP 路由器的 IP 地址与其 MAC 地址关联起来:
我曾经使用 eth0 的网络管理器,我的设置是
gateway ip 192.168.1.1
mask /24
static ip 192.168.1.2 (for my Debian machine itself)
但现在我把它们输入了/etc/network/interfaces
(见下文)
当我说的时候ping 192.168.1.1
,它说From 192.168.1.2 icmp_seq=1 Destination Host Unreachable
。
我发现arp
不知道这个IP的MAC地址:192.168.1.1对应于HWaddress [incomplete]
.
您对如何解决此问题有什么建议吗?我应该手动将IP分配给MAC吗?
信息更新:
我的/etc/network/interfaces
现在包含 eth0 接口作为主要接口:
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
ifconfig
数据:
$ sudo ifconfig
eth0 Link encap:Ethernet HWaddr 40:e5:49:32:a2:50
inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::52e5:49ff:fe32:a240/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:68643 errors:0 dropped:0 overruns:0 frame:0
TX packets:53708 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:81335250 (77.5 MiB) TX bytes:5438226 (5.1 MiB)
Interrupt:40 Base address:0xe000
route
数据:
$ sudo route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
wireshark
on捕获的数据包ping 192.168.1.1
仅包含大量 ARP 数据包的垃圾邮件,全部具有相同的结构:
Source Giga-Byt_something
Destination Broadcast
Protocol Arp
Length 42
Info Who has 192.168.1.1 Tell 192.168.1.2
Arp frame details:
Address Resolution Protocol (request)
Hardware type: Ethernet (1)
Protocol type: IP (0x0800)
Hardware size: 6
Protocol size: 4
Opcode: request (1)
Sender MAC address: Giga-Byt_something (40:e5:49:32:a2:50)
Sender IP address: 192.168.1.2
Target MAC address: 00:00:00_00:00:00 (00:00:00:00:00:00)
Targe IP address: 192.168.1.1 (192.168.1.1)
同时路由器的LAN LED 闪烁,表示正在传输数据。
路由器快速手册,包含WISP模式图解: http://www.tp-link.com/resources/document/TL-MR3020_V1_QIG_7106503718.pdf
编辑:
通过将网关设置为192.168.0.254解决了arp问题。当前状态是我的 Linux 机器可以看到 WISP tp-link 路由器,但 WISP 路由器在接入点模式下看不到主 d-link 路由器:
我不太确定是否可以在 LAN 中建立 LAN。明天我将尝试将 WISP 模式下的路由器与 Windows 机器关联,并wireshark
在 tp-link 和 d-link 路由器之间进行协商,以了解 tp-link WISP 模式路由器如何尝试将自己与 192.168.1.* LAN 关联。
$ sudo route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.0.254 0.0.0.0 UG 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
答案1
如果 ping 本地路由器不起作用,则确实没有太多可能性:
您犯了一个配置错误并混淆了它。从该手册中,我非常确定您的目的是(例如)在 WiFi 端拥有 192.168.0.2/24,在以太网端拥有 192.168.1.1/24 — 不同的网络。无线端将配置为路由到 192.168.0.1(您的 Wi-Fi AP)。 [或者,如果您的无线网络使用 DHCP,您只需将其设置为 DHCP 而不是静态。]
您的计算机上出现配置错误,并且就路由器而言,您在错误的 IP 地址上运行。尝试将您的计算机切换到 DHCP(
ifdown eth0; ifconfig eth0 up; dhclient eth0
应该足以测试)。如果 WiFi 链接不可用,它可能会出现奇怪的行为。确认链接已打开。 (例如,也许它只会在 WiFi 链接建立后才启动以太网。)
您的以太网电缆有缺陷。尝试不同的(是的,这可能会发生,并且您仍然可以获得链接,甚至单向流量)
与上述相关,您的以太网电缆未完全固定。如果插脚弯曲就会发生这种情况。轻轻地将插脚向后弯曲,确保其牢固地卡入。
您的计算机或路由器上的以太网端口(无论是物理端口还是电气端口)均已损坏。使用不同的设备进行测试(例如,计算机到笔记本电脑以及路由器到笔记本电脑)
您的 NIC 的 Linux 以太网驱动程序不起作用。通过将计算机连接到不同的设备进行测试。
答案2
您需要某种以太网配置,目前您似乎只配置了环回:
auto eth0
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.1
dns-nameservers 8.8.8.8 8.8.8.4
但是,在执行此操作并重新启动之前,请尝试以下操作:
ifconfig eth0 192.168.1.2 netmask 255.255.255.0 up
然后输入:
route add default gw 192.168.1.1
看看现在是否可以 ping 通