DD-WRT:使用有线以太网时看不到客户端

DD-WRT:使用有线以太网时看不到客户端

我遇到了一个有点令人沮丧的问题——我只是不知道问题出在哪里。

我有一台安装了 DD-WRT v24-sp2 (03/19/12) std 的 Netgear WNR2000v3 路由器。除了一个问题外,其他一切都运行正常。

我有一个文件服务器,它插入路由器背面的一个以太网端口。文件服务器可以正常看到所有网络设备(可以正常 ping)。文件服务器 - 以及所有设备 - 都可以通过 eth0 接口(配置为 WAN)访问互联网。DD-WRT 通过 DHCP 获取 WAN IP - 一切正常。

有趣的部分就在这里。当我的笔记本电脑通过 wifi 连接时(路由器上的设备 ath0),笔记本电脑可以看到文件服务器 - 我可以正常 ping 它。但是,当我将笔记本电脑插入路由器背面的另一个以太网端口时,它再也无法访问文件服务器!每当我 ping 时,我都会交替收到“没有到主机的路由”和“主机已关闭”消息 - 即使它实际上仍在正常运行。

我认为这可能是默认创建的 br0 接口的问题 - 但据我所知,以太网端口 (eth1) 和 wifi (ath0) 已桥接,正如我所期望的那样。您可以在此处看到显示此内容的设置页面:

在此处输入图片描述

我确信子网是相同的。我还应该注意,当我通过 SSH 进入路由器时(我可以在 wifi 和有线以太网上进行此操作),路由器可以随时正常 ping 文件服务器。我只是不知道出了什么问题,希望有人能解释一下这个奇怪的问题。

答案1

我找到了解决方案,您需要运行以下两个命令以允许连接到交换机的客户端相互通信:

swconfig dev eth1 set enable_vlan 1
swconfig dev eth1 set apply 

命令由托姆斯达

我还是不明白:

  1. 这些命令的作用
  2. 为什么它们没有默认启用

答案2

我谷歌了一下,发现它似乎是DD-WRT 固件中的错误。DD-WRT 论坛上有讨论较新版本的固件将修复此问题。SiegeX 的修复效果很好,我要做的另一件事是将其作为启动命令添加到命令窗口中,以便下次路由器重新启动时它会自动“修复”。

答案3

请注意,根据DD-WRT 固件中的错误@Simon The Cat 链接,您可能需要运行一些额外的命令,就像我在 TL-WR841Nv9 升级到 DD-WRT build 38240 时所做的那样。

您可以/应该通过在 SSH 会话中运行“swconfig list”来验证要使用哪个接口。

root@TL-WR841Nv9:~# swconfig list
Found: switch0 - eth0
root@TL-WR841Nv9:~#

您还可以使用“swconfig dev eth0 show”确认需要在哪些端口上启用 vlan 0...在下面的情况下,我有端口 0、1、2、3 和 4:

root@TL-WR841Nv9:~# swconfig dev eth0 show
Global attributes:
        enable_vlan: 0
        mirror_monitor_port: 15
Port 0:
        enable_mirror_rx: 0
        enable_mirror_tx: 0
        pvid: 0
        link: port:0 link:up speed:1000baseT full-duplex txflow rxflow
Port 1:
        enable_mirror_rx: 0
        enable_mirror_tx: 0
        pvid: 0
        link: port:1 link:down
Port 2:
        enable_mirror_rx: 0
        enable_mirror_tx: 0
        pvid: 0
        link: port:2 link:down
Port 3:
        enable_mirror_rx: 0
        enable_mirror_tx: 0
        pvid: 0
        link: port:3 link:up speed:100baseT full-duplex auto
Port 4:
        enable_mirror_rx: 0
        enable_mirror_tx: 0
        pvid: 0
        link: port:4 link:up speed:100baseT full-duplex auto
VLAN 0:
        vid: 0
        ports: 0 1 2 3 4
root@TL-WR841Nv9:~#

我在管理 -> 命令 -> 命令 Shell [框] -> “保存启动”中输入的最终命令如下。将下面的接口名称替换为 TP-Link TL-WR841Nv9:

swconfig dev eth0 set reset 1;
swconfig dev eth0 set enable_vlan 1
swconfig dev eth0 vlan 0 set ports '0 1 2 3 4'
swconfig dev eth0 set apply 1

之后 - 不知道为什么,在启动时运行这两个命令“swconfig dev eth0 set enable_vlan 1; swconfig dev eth0 set apply 1;”后,“swconfig dev eth0 show”下面的输出看起来与同一命令的输出相同,但出于某种原因,我的路由器需要另外两行才能使交换机端口在设备之间正确通信,如文档所述在错误报告中

root@TL-WR841Nv9:~# swconfig dev eth0 show
Global attributes:
        enable_vlan: 1
        mirror_monitor_port: 15
Port 0:
        enable_mirror_rx: 0
        enable_mirror_tx: 0
        pvid: 0
        link: port:0 link:up speed:1000baseT full-duplex txflow rxflow
Port 1:
        enable_mirror_rx: 0
        enable_mirror_tx: 0
        pvid: 0
        link: port:1 link:down
Port 2:
        enable_mirror_rx: 0
        enable_mirror_tx: 0
        pvid: 0
        link: port:2 link:down
Port 3:
        enable_mirror_rx: 0
        enable_mirror_tx: 0
        pvid: 0
        link: port:3 link:up speed:100baseT full-duplex auto
Port 4:
        enable_mirror_rx: 0
        enable_mirror_tx: 0
        pvid: 0
        link: port:4 link:up speed:100baseT full-duplex auto
VLAN 0:
        vid: 0
        ports: 0 1 2 3 4
root@TL-WR841Nv9:~#

相关内容