Skocz do zawartości

Podłączony Kabel Do Sieci


SebOOl

Rekomendowane odpowiedzi

Witam

Jakiś czas temu jeden z forumowiczów podał mi kilka pytań z jakiegoś testu i poprosił o odpowiedź. Na jedno z nich nie znałem odpowiedzi. Poszperałem trochę lecz nie miałem szczęścia. Pytanie brzmi jakim poleceniem sprawdzić czy mam do danego interfejsu sieciowego podłączony kabel sieciowy.

 

Z góry dzięki za info

Pozdrawiam

SebOOl

 

 

Odnośnik do komentarza
Udostępnij na innych stronach

Nie wiem czy to jest poprawna i najprostsza odpowiedź, ale najpierw sprawdziłbym do jakiej sieci podłączony jest interfejs "ifconfig <iface>", potem poleceniem "route" sprawdziłbym bramę domyślną dla sieci wskazanej przez ifconfig, a potem "ping <gateway>".

Czyli coś w rodzaju:

ifconfig eth0
route
ping 192.168.0.1

oczywiście dla eth0 podłączonego do sieci 192.168.0.0 - być może obeszłoby się bez route, ale nie jestem pewien czy gateway sieci ma zawsze .1 na końcu. Najczęściej tak jest, ale można to chyba zdefiniować inaczej.

 

Pozdr,

W.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chodzi o kombinowanie to nie ma sprawy ... znam rózne metody ale podam przykładową sytuację:

Przykładowo mam serwer i 4 karty sieciowe, system mi je numeruje eth0, eth1 itd

Załużmy że są to dwie karty dwukanałowe. podłączam kabel do jednej aby ustawić połączenie z internetem. No i teraz wypadało by sprawdzić czy konfiguruje właściwy interfejs tzn ten do którego mam podpięty kabel. Jest to oczywiście przykładowa systuacji i można tu zajkombinować i to ustalić ale sądzę że powinno być jakieś polecenie które pozwala stwierdzić czy karta sieciowa jest podłączona do jakiegoś urządzenia (swicha lub innego) czy nie.

 

Pozdrawiam

SebOOl

Odnośnik do komentarza
Udostępnij na innych stronach

Czyli co? Hipotetyczna sytuacja kiedy ktoś podchodzi do serwera, wtyka 4 karty, do jednej podłacza kabel a my nie możemy zajrzeć do bebechów i sprawdzić, do której karty to jest wpięte? Kurde, ostro smile.gif Daj chociaż zajrzeć do środka i sprawdzić MAC address, bo jak nie to ja wymiękam.

Czekam na pomysły innych smile.gif

 

Miałem podobną sytuację do niedawna u siebie. Mój pecet był routerem dla 2 innych w sieci domowej. Ale mogłem zajrzeć do środka i zapisać sobie MAC adresy sieciówek - wtedy ifconfig pokazywał mi który jest który. Ale bez adresów hardware'owych, to nie wiem jak można się połapać.

 

Pozdr,

W.

Odnośnik do komentarza
Udostępnij na innych stronach

ifplugstatus z pakietu ifplugd

To chyba nie do końca tak prosto.

ifplugstatus sprawdza tylko czy interface jest "up" czy "down", a to nie to samo co fizyczne podłączenie kabelka.

Wykonałem polecenie "ifconfig eth1 up" na karcie z odłączonym fizycznie kablem. ifplugstatus wypisał mi "eth1: link beat detected" . Jak zrobiłem "ifconfig eth1 down" to dostałem komunikat "eth1: unplugged".

 

Odnośnik do komentarza
Udostępnij na innych stronach

To chyba nie do końca tak prosto.

a jest jakis sens sprawdzania czy kabel podlaczony na "leżącym" interfejsie? chyba nie bardzo.. "jezeli interfejs istnieje to czy kabel wpięty czy nie".. z tego co znalazlem, to

- ifplugd; wykrywa podłączenie kabla ethernetowego

Odnośnik do komentarza
Udostępnij na innych stronach

- ifplugd; wykrywa podłączenie kabla ethernetowego

No właśnie piszę, że sprawdziłem i nie jest to prawdą smile.gif

Kabel fizycznie odłączony, ale poleceniem "ifconfig eth1 up" wymuszam podniesienie interfejsu (z punktu widzenia systemu - działa) i polecenie ifplugstatus wypisuje mi "link beat detected", czyli jak rozumiem twierdzi, że interfejs jest podłączony, ale: logicznie - tak, fizycznie - nie.

Podsumowując nadal nie mamy 100% pewności, że kabel został podłączony do tej a nie innej karty i że konfigurujemy właściwy interfejs - takie było pytanie "na wejściu".

 

Pozdr,

W.

Odnośnik do komentarza
Udostępnij na innych stronach

U mnie działa poprawnie, to znaczy reaguje właśnie na podłączenie kabla sieciowego,

stan interfejsu może być dowolny (UP czy DOWN), a podłączenie kabla i tak jest poprawnie wykrywane.

Nie pisałbym tego wcześniej gdybym nie sprawdził.

Możliwe jest, że nie wszystkie karty są poprawnie odczytywane.

Ja sprawdzałem na FC4 i 2 kompach (jeden z 3 kartami, drugi laptop i zawsze było poprawne). Mogę sprawdzić jakie mam karty.

 

Zauważyłem, że zmiana stanu jest zauważona przez ifplugstatus po pewnym czasie (ok 1minuty).

 

Przy okazji. Czy ktoś może mi wytłumaczyć czym różni się stan interfejsów pokazywany przez ifconfig -a (np. UP) a system-config-network (aktywny/nieaktywny), bo myślałem, że to jest to samo, ale pokazywane jest inaczej.

Odnośnik do komentarza
Udostępnij na innych stronach

Zauważyłem, że zmiana stanu jest zauważona przez ifplugstatus po pewnym czasie (ok 1minuty).

Masz rację. Moje testy były zbyt pobieżne. Po kilkudziesięciu sekundach od wyciągnięcia kabla faktycznie zmienia się status na "unplugged" pomimo, że interfejs jest podniesiony.

To mam teraz pytanie jak to sprawdzić standardowymi programami linuksa? Rozumiem, że ifplugd jest programem narzędziowym, ale nie wchodzącym w skład standardowych narzędzi linuksa (repo extras). Myślę, że można uzyskać ten sam efekt (choć na pewno nie tak łatwo) przy pomocy standardowego, podstawowego oprogramowania systemu. Może ktoś z programistów pokusiłby się o przejrzenie źródeł? Może dałoby się tam coś wyczytać?

 

[edit] No tak, RTFM smile.gif W man ifplugd jest napisane, że korzysta z tych samych funkcji, z których korzystają dostarczane z distro "ifup" i "ifdown". Użycie tych programów może dostarczyć potrzebnych informacji nt. kabelka w karcie lub jego braku.

Jednak przy pomocy ifplugstatus łatwiej, więc dzięki andrew.

 

Pozdr,

W.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...