DD-WRT: Nie widać klienta podczas korzystania z przewodowego Ethernetu

11

Trochę frustrujący problem, przed którym stoję - po prostu nie wiem, co jest nie tak.

Mam router Netgear WNR2000v3 z zainstalowanym standardem DD-WRT v24-sp2 (03/19/12). Wszystko działa idealnie oprócz jednego problemu.

Mam serwer plików podłączony do jednego z portów Ethernet z tyłu routera. Serwer plików dobrze widzi wszystkie urządzenia sieciowe (potrafi pingować dobrze). Serwer plików - i wszystkie urządzenia - mogą uzyskać dostęp do Internetu poprzez interfejs eth0 (skonfigurowany jako WAN). DD-WRT otrzymuje IP WAN przez DHCP - wszystko w porządku.

Oto interesująca część. Kiedy mój laptop jest podłączony przez Wi-Fi (urządzenie ath0 na routerze), laptop widzi serwer plików - mogę go pingować dobrze. Jednak po podłączeniu laptopa do innego portu Ethernet z tyłu routera nie może on już dotrzeć do serwera plików! Za każdym razem, gdy wykonuję polecenie ping, otrzymuję komunikaty „Brak trasy do hosta” i „Host nie działa” zamiennie - mimo że nadal działa poprawnie.

Pomyślałem, że może to być problem z domyślnie tworzonym interfejsem br0 - ale, o ile widzę, porty Ethernet (eth1) i Wi-Fi (ath0) są zmostkowane tak, jakbym się spodziewał. Możesz zobaczyć stronę ustawień pokazującą to tutaj:

wprowadź opis zdjęcia tutaj

Jestem pewien, że podsieci są takie same. Powinienem również zauważyć, że kiedy podłączam SSH do routera (co mogę zrobić zarówno w sieci Wi-Fi, jak i przewodowej sieci Ethernet), router może przez cały czas dobrze pingować serwer plików. Po prostu nie mogę zrozumieć, co jest nie tak, i mam nadzieję, że ktoś może rzucić nieco światła na ten dziwny problem.

Robert Jonson
źródło
1
Czy kiedykolwiek znalazłeś rozwiązanie tego problemu? Mam dosłownie dokładnie to samo (ten sam problem, ten sam router itp.) I nie mogłem znaleźć cholernej rzeczy
Finn
1
Ta sama trasa, ten sam problem. Znalazłem rozwiązanie, które znalazło tę stronę. Windows Laptop może ssh do LAN IP mojego NAS i Linux PC, które są podłączone do routera. NAS nie widzi komputera z systemem Linux i odwrotnie. O dziwo, z mojego komputera z systemem Linux mogę ssh do DD-WRT, a stamtąd ssh do NAS. Drugi sposób również działa. Coś się skończyło
SiegeX

Odpowiedzi:

11

Znalazłem rozwiązanie, musisz uruchomić następujące dwa polecenia, aby umożliwić klientom podłączonym do przełącznika rozmowę ze sobą:

swconfig dev eth1 set enable_vlan 1
swconfig dev eth1 set apply 

Polecenia dzięki uprzejmości tomshardware

Nadal nie rozumiem:

  1. Co robią te polecenia?
  2. Dlaczego nie były domyślnie włączone
SiegeX
źródło
3
Działa to również dla mnie przy użyciu najnowszego oprogramowania DD-WRT na moim TP-Link TL-WR841ND v9. (Musiałem jednak użyć eth0zamiast eth1tego.)
mgiuffrida
1
Dziękuję @mgiuffrida! To zadziałało również na moim routerze TP-Link!
Michael McGuire,
1
działało to dla mnie z Firmware: DD-WRT v3.0-r27745 std (08/25/15) z TP-Link WR841ND. Uruchamiasz te polecenia, http://routerip/Diagnostics.aspa ja również używałem eth0jako @mgiuffrida
Alex Angelico,
1

Zauważ, że zgodnie z błędem w oprogramowaniu DD-WRT, które łączy @Simon The Cat, może być konieczne uruchomienie dodatkowych poleceń, tak jak to zrobiłem na moim TL-WR841Nv9, kiedy uaktualniłem do wersji DD-WRT 38240.

Możesz / powinieneś sprawdzić, którego interfejsu użyć, uruchamiając „listę swconfig” w sesji SSH.

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

Możesz również potwierdzić, na których wszystkich portach potrzebujesz, aby włączyć Vlan 0 za pomocą „swconfig dev eth0 show” ... W poniższym przypadku mam porty 0,1,2,3 i 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:~#

Ostatnie polecenia, które umieściłem w Administracja -> Polecenia -> Powłoka poleceń [pole] -> „Zapisz uruchomienie” były następujące. Zastąp nazwę interfejsu poniżej, która dotyczy 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

Następnie - nie mam pojęcia, dlaczego dane wyjściowe z „swconfig dev eth0 show” wyglądają identycznie jak dane wyjściowe tego samego polecenia po uruchomieniu tylko tych dwóch poleceń podczas uruchamiania „swconfig dev eth0 set enable_vlan 1; swconfig dev eth0 set Apply 1;” ale z jakiegoś powodu mój router potrzebował dwóch pozostałych linii, aby porty przełącznika prawidłowo komunikowały się między urządzeniami, jak udokumentowano w raporcie o błędzie :

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:~#
R37rybucja
źródło