DD-WRT: Невозможно увидеть клиента при использовании проводного Ethernet

10

Немного неприятной проблемы, с которой я столкнулся - я просто не знаю, что случилось.

У меня есть маршрутизатор Netgear WNR2000v3 с установленным стандартом DD-WRT v24-sp2 (19.03.12). Все отлично работает, кроме одного вопроса.

У меня есть файловый сервер, который подключен к одному из портов Ethernet на задней панели маршрутизатора. Файловый сервер может нормально видеть все сетевые устройства (может нормально пинговать). Файловый сервер - и все устройства - могут получить доступ к Интернету через интерфейс eth0 (настроен на WAN). DD-WRT получает WAN IP через DHCP - все хорошо.

Вот интересная часть. Когда мой ноутбук подключен через Wi-Fi (устройство ath0 на маршрутизаторе), ноутбук может видеть файловый сервер - я могу пинговать его нормально. Однако когда я подключаю ноутбук к другому Ethernet-порту на задней панели маршрутизатора, он больше не может подключиться к файловому серверу! Всякий раз, когда я пингуюсь, я получаю сообщения «Нет маршрута к хосту» и «Хост не работает» взаимозаменяемо - даже если на самом деле он все еще работает нормально.

Я подумал, что это может быть проблема с интерфейсом br0, созданным по умолчанию - но, насколько я вижу, порты Ethernet (eth1) и wifi (ath0) соединены мостом, как и следовало ожидать. Вы можете увидеть страницу настроек, показывающую это здесь:

введите описание изображения здесь

Я уверен, что подсети одинаковы. Я также должен отметить, что когда я подключаюсь к маршрутизатору по протоколу SSH (что я могу сделать как по Wi-Fi, так и по проводной сети Ethernet), маршрутизатор всегда может нормально пропинговать файловый сервер. Я просто не могу понять, что не так, и надеюсь, что кто-то сможет пролить свет на эту странную проблему.

Роберт Джонсон
источник
1
Вы когда-нибудь находили решение этой проблемы? У меня буквально одна и та же вещь (та же проблема, тот же маршрутизатор и т. Д.), И я не смог найти эту чертову вещь
Финн
1
Тот же маршрут, тот же вопрос. Пришёл в поисках решения, нашел эту страницу. Ноутбук с Windows может подключаться к локальной сети через IP-адрес компьютера NAS и Linux, которые жестко подключены к маршрутизатору. NAS не может видеть Linux PC и наоборот. Как ни странно, с моего ПК с Linux я могу подключиться по ssh в DD-WRT, а оттуда через ssh - в NAS. Другой способ работает также. Что-то не так
SiegeX

Ответы:

11

Я нашел решение, вам нужно выполнить следующие две команды, чтобы клиенты, подключенные к коммутатору, могли общаться друг с другом:

swconfig dev eth1 set enable_vlan 1
swconfig dev eth1 set apply 

Команды любезно предоставлены tomshardware

Я до сих пор не понимаю:

  1. Что делают эти команды
  2. Почему они не были включены по умолчанию
SiegeX
источник
3
Это работает и для меня с использованием последней прошивки DD-WRT на моем TP-Link TL-WR841ND v9. (Я должен был использовать eth0вместо того, чтобы eth1хотя.)
mgiuffrida
1
Спасибо @mgiuffrida! Это сработало и на моем маршрутизаторе TP-Link!
Майкл МакГуайр
1
у меня это работало с прошивкой: DD-WRT v3.0-r27745 std (25.08.15) с TP-Link WR841ND. Вы запускаете эти команды, http://routerip/Diagnostics.aspи я также использовал их eth0как @mgiuffrida
Алекс Анджелико
3

Я немного погуглил, и это похоже на ошибку в прошивке DD-WRT . На форуме DD-WRT ходят слухи, что более новая версия прошивки решит проблему . Исправление SiegeX прекрасно работает, еще одна вещь, которую я хотел бы сделать, это добавить его в качестве команды запуска в окне команд, чтобы в следующий раз, когда ваш маршрутизатор перезагружался, он сам «исправлял».

Саймон Кот
источник
0

Обратите внимание, что в соответствии с ошибкой в ​​прошивке DD-WRT, которую связал @Simon The Cat, вам может потребоваться выполнить некоторые дополнительные команды, как я делал на моем TL-WR841Nv9, когда я обновился до DD-WRT build 38240.

Вы можете / должны проверить, какой интерфейс использовать, запустив «список swconfig» в сеансе SSH.

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

Вы также можете подтвердить, что на всех портах вам нужно включить vlan 0 с помощью "swconfig dev eth0 show" ... В приведенном ниже случае у меня есть порты 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:~#

Последние команды, которые я ввел в Администрирование -> Команды -> Командная консоль [блок] -> «Сохранить запуск», были следующими. Замените ваше имя интерфейса ниже, которое для 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 show» выглядит идентично выводу той же команды после того, как я запустил только эти две команды при запуске «swconfig dev eth0 set enable_vlan 1; swconfig dev eth0 set apply 1;» но по какой-то причине моему маршрутизатору потребовались две другие линии, чтобы заставить порты коммутатора правильно взаимодействовать между устройствами, как описано в отчете об ошибках :

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:~#
R37ribution
источник