Chciałbym zrozumieć, co oznacza podniesiony interfejs sieciowy? Ponieważ ip addr
lub ifconfig
polecenie wyświetla interfejs w górę, nawet jeśli nie jest z nim powiązany żaden adres IP.
na przykład na RHEL7:
[root@IDCDVAM887 ~]# ifconfig ens256
ens256: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST> mtu 1500
ether 00:50:56:9e:19:5b txqueuelen 1000 (Ethernet)
RX packets 229406 bytes 59265584 (56.5 MiB)
RX errors 0 dropped 229454 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
(lub)
[root@IDCDVAM887 ~]# ip addr show ens256
5: ens256: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP qlen 1000
link/ether 00:50:56:9e:19:5b brd ff:ff:ff:ff:ff:ff
Jaki jest prawdziwy sens wyświetlania jako UP, gdy interfejs w ogóle nie ma adresu IP? Wierzę, że kiedy nie ma IP, nie może być na to komunikacji? Więc po co z tego korzystać?
Odpowiedzi:
Jest
LOWER_UP
to stan łącza Ethernet (lub innego protokołu warstwy łącza). Jest zdefiniowany jakoDriver signals L1 up
, co w zasadzie oznacza, że kabel jest zamontowany i może zobaczyć inne urządzenie na drugim końcu kabla.Te
UP
środki, że została włączona. To może być kontrolowane przez ciebie (lub skrypt) za pomocą poleceniaip link set <device> up
ofifconfig <device> up
.Istnieją inne protokoły, takie jak IPX, które wykorzystują Ethernet, ale nie będą miały adresu IP, ponieważ nie są częścią stosu protokołu internetowego. Jest więc całkowicie akceptowalne, że link ma,
UP
ale nie ma adresu IP.źródło
UP
Stan jest administracyjny stan interfejsu, czyli czy interfejs została włączona. Możesz włączyć dowolny interfejs, używając npJeśli kabel jest podłączony i ustanowione jest łącze, interfejs uzyska również stan operacyjny
RUNNING
.Wiele kart będzie blokować generowanie wychodzących nośnych, jeśli stan administracyjny nie jest
UP
, a interfejsem, który nie jest, też nieUP
może byćRUNNING
, więc jeśli ustawięSpodziewałbym się, że mój interfejs lokalny straci jedno
UP
i drugieRUNNING
, a odpowiadający mu interfejs po drugiej stronie również nie będzieRUNNING
(ale nadalUP
, więc jeśli ponownie włączę moją stronę, dostanę link).To tylko połączenie Ethernet. Na górze łącza można powiązać różne protokoły, jednym z nich jest IPv4. Domyślnie IPv4 jest powiązany ze wszystkimi interfejsami obsługującymi rodzinę protokołów.
Gdy protokół jest związany, mogę wysyłać i odbierać pakiety z dowolnym adresem przypisanym do interfejsu. Jeśli nie zostanie przypisany żaden adres, oznacza to po prostu, że nie ma prawidłowego adresu, który mógłby zostać użyty dla pakietów wychodzących (więc wysyłanie pakietu nie powiedzie się), ani żadnego adresu emisji pojedynczej, który przychodzący pakiet może być adresowany, aby system rozpoznał go jako lokalny (więc można odbierać tylko pakiety broadcast / multicast).
Nie dotyczy to w najmniejszym stopniu warstwy łącza, ponieważ ustanowi tylko łącze.
Niektóre programy, takie jak klient DHCP, mają specjalne uprawnienia do wysyłania dowolnie sformatowanych pakietów, wypełniania fantastycznego adresu źródłowego lub
0.0.0.0
odbierania przybywających pakietów bez względu na to, czy są przeznaczone dla komputera lokalnego. Jest to używane podczas automatycznej konfiguracji adresu IP, gdy żądanie DHCP jest wysyłane przy użyciu adresu źródłowego0.0.0.0
, a odpowiedź z serwera jest adresowana na adres rozgłoszeniowy255.255.255.255
.Dlatego istnieje ważny przypadek użycia, w którym pakiety IP są wymieniane nawet bez adresu związanego z interfejsem.
Oprócz IPv4 istnieją również IPv6, IPX, AppleTalk itp., Które mogą dzielić tę samą warstwę fizyczną. Po ustanowieniu łącza dowolny z tych protokołów wyższego poziomu może użyć własnej sekwencji aktywacji, aby przejść do stanu operacyjnego.
źródło
interfejs może być „włączony” nawet bez żadnego adresu. Status „up” odnosi się do warstwy łącza danych (znanej również jako warstwa 2), to znaczy „up” oznacza, że możesz wysyłać i odbierać pakiety ethernetowe. Własność intelektualna jest na tym czymś zbudowana.
Przykładem konfiguracji, w której interfejs działa, ale nie ma adresu IP (i nie należy go przypisywać), jest gdy interfejs jest mostem slave.
źródło
magicznie, jeśli podasz
-4
opcję lub-oneline
, to naprawdę pokaże interfejs „działający”, jak sobie wyobrażałeś.Aby ułatwić czytanie, użyłem
-brief
opcji, ale nie ma to znaczenia dla wniosku.zobacz wynik
up
opcji, nadal pokazujeDOWN
urządzenie.zobacz wynik
-4
opcji, wszystkie z adresami, bezDOWN
urządzeń.zobacz wynik
-online
opcji, wszystkie z adresami, bezDOWN
urządzeń, ale podziel adresy na IPv4 i IPv6.źródło