Немного неприятной проблемы, с которой я столкнулся - я просто не знаю, что случилось.
У меня есть маршрутизатор 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), маршрутизатор всегда может нормально пропинговать файловый сервер. Я просто не могу понять, что не так, и надеюсь, что кто-то сможет пролить свет на эту странную проблему.
Ответы:
Я нашел решение, вам нужно выполнить следующие две команды, чтобы клиенты, подключенные к коммутатору, могли общаться друг с другом:
Команды любезно предоставлены tomshardware
Я до сих пор не понимаю:
источник
eth0
вместо того, чтобыeth1
хотя.)http://routerip/Diagnostics.asp
и я также использовал ихeth0
как @mgiuffridaЯ немного погуглил, и это похоже на ошибку в прошивке DD-WRT . На форуме DD-WRT ходят слухи, что более новая версия прошивки решит проблему . Исправление SiegeX прекрасно работает, еще одна вещь, которую я хотел бы сделать, это добавить его в качестве команды запуска в окне команд, чтобы в следующий раз, когда ваш маршрутизатор перезагружался, он сам «исправлял».
источник
Обратите внимание, что в соответствии с ошибкой в прошивке DD-WRT, которую связал @Simon The Cat, вам может потребоваться выполнить некоторые дополнительные команды, как я делал на моем TL-WR841Nv9, когда я обновился до DD-WRT build 38240.
Вы можете / должны проверить, какой интерфейс использовать, запустив «список swconfig» в сеансе SSH.
Вы также можете подтвердить, что на всех портах вам нужно включить vlan 0 с помощью "swconfig dev eth0 show" ... В приведенном ниже случае у меня есть порты 0,1,2,3 и 4:
Последние команды, которые я ввел в Администрирование -> Команды -> Командная консоль [блок] -> «Сохранить запуск», были следующими. Замените ваше имя интерфейса ниже, которое для TP-Link TL-WR841Nv9:
Впоследствии - не знаю почему, приведенный ниже вывод из «swconfig dev eth0 show» выглядит идентично выводу той же команды после того, как я запустил только эти две команды при запуске «swconfig dev eth0 set enable_vlan 1; swconfig dev eth0 set apply 1;» но по какой-то причине моему маршрутизатору потребовались две другие линии, чтобы заставить порты коммутатора правильно взаимодействовать между устройствами, как описано в отчете об ошибках :
источник