Adres IP urządzenia a interfejs sieciowy


11

Próbuję zrozumieć związek między:

  • „Sieciowe” urządzenie Linux; i
  • Fizyczna karta sieciowa znajdująca się na tym urządzeniu (dająca mu możliwość „podłączenia do sieci”); i
  • Różne interfejsy Ethernet / sieci Wi-Fi ( eth0, eth1, wlan0, itd.); i
  • Adresy IP i porty

Z tego co ja zebrane, to wydaje się , że każdy interfejs (ponownie eth0, eth1, wlan0, itd.) Są przypisane swój własny, unikalny adres IP. Czyli na moim komputerze eth0będzie mieć inny adres IP niż, powiedzmy, wlan1.

Jest to jednak sprzeczne z moim niezrozumieniem, że urządzenia sieciowe jako całość otrzymują pojedynczy adres IP dla całego urządzenia.

Więc co to jest? Czy urządzenie otrzymuje 1 adres IP używany przez wszystkie interfejsy, czy też każdy interfejs faktycznie ma własny adres IP? Jeśli każdy ma swój własny, to co decyduje o tym, ile portów jest dostępnych w tym interfejsie?


jak / gdzie interfejs jest podłączony, wpływa na to, jaki powinien mieć adres IP, na przykład 3 różne sieci Ethernet, więc różne interfejsy mają różne adresy. ten adres staje się również domyślnym adresem źródłowym.
Skaperen

Odpowiedzi:


10

Każdy interfejs sieciowy będzie miał swój własny adres IP, jeśli przepłynie przez niego ruch IP.

Weźmy na przykład router / modem, który ma większość domów i / lub małych biur.

Po wewnętrznej stronie routera będzie połączenie z komputerami / laptopami - niezależnie od tego, czy jest to WiFi, czy Ethernet. Zazwyczaj są one w prywatnych zakresach adresów 191.168.0.0 - 192.168.255.254lub czasami 10.0.0.0 - 10.255.255.254. Komputer stacjonarny / laptop / tablet połączy się z tą stroną urządzenia i będzie miał adres i adres IP w tym samym zakresie (ale nie identyczny z urządzeniem).

Po zewnętrznej stronie routera / modemu będziesz mieć całkowicie oddzielny adres IP zwykle przydzielany urządzeniu automatycznie przez usługodawcę. Jest to adres routowalny, taki jak 98.23.45.62globalnie unikalny dla modemu / routera, gdy jest on podłączony.

Takie małe modemy / routery mogą być mylące, ponieważ wydają się mieć tylko jeden adres - ten podany w instrukcji obsługi administrowania urządzeniem za pośrednictwem przeglądarki internetowej (np. http://192.168.0.1) - podczas gdy ma wiele portów Ethernet. Wynika to z faktu, że urządzenie ma w istocie przełącznik sieciowy oznaczony na routerze, aby podzielić pojedynczy port Ethernet routera na wiele portów i aby podłączyć mostek WiFi.

W tym samym czasie zewnętrzna strona routera / modemu będzie miała adres IP automatycznie skonfigurowany przez usługodawcę, więc możesz go nigdy nie zobaczyć. (Wpisz mój adres IP w Google, aby dowiedzieć się, co to jest).

Schemat może pomóc:

                                                                 +--------+
                                                                 | laptop |
                                                                 +--------+
+-----+                +-------------+              +--------+       | 10.0.0.2
|     |98.23.45.61     |             |10.0.0.1      |        |-------+
| ISP |----------------+ modem/router|--------------| switch |
|     |     98.23.45.62|             |              |        |-------+
+-----+                +-------------+              +--------+       | 10.0.0.3
                                                                  +---------+
                                                                  | desktop |
                                                                  +---------+

Jak widać, modem / router ma dwa adresy IP - po jednym dla każdego interfejsu sieciowego. Komputery stacjonarne i laptopy mają jedno - na urządzeniu sieciowym podłączonym do routera. Większość modemów / routerów ma połączenia WiFi i Ethernet, podobnie jak większość laptopów. Jeśli podłączysz kabel Ethernet do laptopa, a także włączysz i skonfigurujesz Wi-Fi laptopa, to również będą miały dwa adresy IP - po jednym dla każdego urządzenia - oba w zakresie 10.0.0.xadresów. To tylko dałoby ci problemy do przemyślenia - nie rób tego.

Port to tylko liczba dołączona do docelowego adresu IP. Jest podobny do numeru wewnętrznego w centrali biurowej i decyduje, która usługa ma odbierać ruch. Jest to liczba 16-bitowa, co daje maksymalnie 65535 możliwych wartości. Wykorzystywana jest jednak tylko bardzo mała ich część. Niektóre są wstępnie przydzielonymi, a także dobrze znanymi portami, takimi jak ruch HTTP na porcie 80 i bezpieczna powłoka (ssh) na porcie 22. Porty te są otwarte i nasłuchują ruchu, tylko jeśli odpowiednia usługa działa na urządzeniu zainstalowanym przez producenta urządzenia .

W przypadku routera z modemem powyżej port 80 będzie nasłuchiwał po wewnętrznej stronie, ponieważ działa serwer WWW, dzięki czemu można administrować urządzeniem za pomocą przeglądarki internetowej. Niektóre routery mają również usługę ssh nasłuchującą na porcie 22, dzięki czemu można zarządzać urządzeniem za pomocą klienta ssh. Prawdopodobnie będą mieć otwarty port 53, ponieważ na routerze będzie również działał serwer DNS.

Twój laptop prawdopodobnie (mam nadzieję) nie będzie nasłuchiwał portów, chyba że zainstalujesz usługę na tym urządzeniu. Na powyższym schemacie można zainstalować serwer serwera ssh na komputerze stacjonarnym, w którym punkcie (i jeśli pozwalają na to zapory ogniowe) na pulpicie będzie otwarty port 22. Twój laptop może następnie ssh do portu 22 pulpitu i zalogować się.

Dlatego liczba portów na urządzeniu zależy od liczby usług uruchomionych na tym urządzeniu, konfiguracji tej usługi i konfiguracji zapory.

Jeśli chcesz, aby serwer ssh działał na twoim pulpicie w powyższym przykładzie, był dostępny dla zdalnego użytkownika gdzieś w Internecie, trafiłbyś na mały problem, ponieważ chociaż masz wiele wewnętrznych adresów, masz tylko jeden zewnętrzny ( 98.23.45.62).

Aby rozwiązać ten problem, musisz skonfigurować router o nazwie Port Forwarding . To instruuje router, aby przejął cały ruch docierający do określonego portu i przekazał go do określonego hosta wewnętrznego i portu.

W takim przypadku cały ruch docierający do portu 22 jest przekierowywany do 10.0.0.2portu 22. Jak zapewne wiesz, oznacza to, że możesz mieć tylko port 22 przekierowany do jednego serwera wewnętrznego.

Jeśli chcesz móc ssh zarówno na komputerze stacjonarnym, jak i laptopie, musisz skonfigurować router, aby nasłuchiwał na alternatywnym porcie zewnętrznym (takim jak 2022) i przekazywał go do laptopa na 10.0.0.2porcie 22. Zdalny użytkownik muszę ssh 98.23.45.62uzyskać dostęp do pulpitu i ssh -p 2022 98.23.45.62laptopa.

Oczywiście nie zawsze jest to tak proste, jak zewnętrzny adres IP może ulec zmianie, chyba że wyraźnie zażądasz / kupisz statyczny adres IP.


Dzięki @garethTheRed (głosowałbym, gdybym miał przedstawiciela, aby to zrobić). Kilka krótkich odpowiedzi, jeśli nie masz nic przeciwko: czy możesz potwierdzić to, korzystając z powyższego doskonałego przykładu, gdybym poszedł do Google „ Jakie jest moje IPzarówno na laptopie, jak i na komputerze stacjonarnym, oboje widzieliby swoje IP jako 98.23.45.62(w zasadzie, ich zewnętrzny adres IP wspólnego routera)? Jeśli tak, to gdybym wstał z serwera działającego na moim laptopie i chciałbym, aby był dostępny ze świata zewnętrznego, w jaki sposób klienci zewnętrzni / zdalni wysyłaliby żądania do tego serwera, gdyby miał ten sam adres IP, co wszystkie inne urządzenia za routerem ?!? Jeszcze raz wielkie dzięki!
Zac

Tak, wszystkie urządzenia wewnętrzne będą wyświetlać ten sam adres IP w Google - Twój jedyny adres IP :-) Zredagowałem swoją odpowiedź, aby odpowiedzieć na inne pytanie.
garethTheRed

Jeszcze raz dziękuję @garethTheRed! Czy można więc powiedzieć, że przekierowanie portów robi to samo z zewnętrznego na wewnętrzny, jak NAT z wewnętrznego na zewnętrzny?
Zac

Niejasno - NAT jest bardziej dynamiczny, ponieważ „po prostu działa”. Przekazywanie portów musi być skonfigurowane przez administratora routera, ale w gruncie rzeczy oba ruchy przechodzą przez router.
garethTheRed

2

„Urządzenie” to przeciążone słowo. Czasami jest używany w znaczeniu maszyny, a czasem w znaczeniu urządzenia peryferyjnego lub interfejsu maszyny.

Każdy interfejs sieciowy ma swój własny adres.

Każda maszyna ma zero, jeden lub więcej adresów w zależności od liczby interfejsów sieciowych.

W prostych przypadkach każdy fizyczny interfejs sieci ma jeden adres IP, a system ma również interfejs pętli zwrotnej, którego programy używają do komunikowania się z programami uruchomionymi na tym samym komputerze. Każdy interfejs ma odrębny adres IP. Możliwych jest wiele, wiele skomplikowanych konfiguracji (łączenie, aliasing, adresy lokalne itp.), Ale podstawową intuicją jest to, że każdy adres IP odpowiada jednemu interfejsowi.

Kiedy uzyskujesz dostęp do komputera przez sieć, używasz adresu IP, więc w rzeczywistości uzyskujesz dostęp do określonego interfejsu sieciowego tego komputera. W większości przypadków rozróżnienie jest sporne, ponieważ tylko jeden interfejs jest osiągalny ze zdalnego komputera i i tak nie zrobiłoby to żadnej różnicy, ponieważ programy akceptują połączenia na wszystkich interfejsach. Serwer może nasłuchiwać tylko na jednym interfejsie.


1

Twoje urządzenie może mieć kilka interfejsów sieciowych. Mogą one odpowiadać rzeczywistym urządzeniom ( NIC ) lub być wirtualne .

Aby był użyteczny (tj. Inicjował lub nasłuchiwał połączeń), każdy interfejs powinien mieć adres IP. Zwykle będzie jeden adres IP na interfejs, ale możliwe jest posiadanie kilku adresów poprzez aliasing adresów IP .

Poszczególne połączenia na każdym adresie IP są identyfikowane przez numer portu. Istnieje limit 65536 portów na adres IP narzucony przez protokół IP. Jednym z powodów aliasingu IP jest przezwyciężenie tego ograniczenia.

W końcu twoje urządzenie może mieć tyle adresów IP, ile chcesz (w granicach rozsądku - przypuszczam, że jądro narzuca ograniczenia dotyczące liczby interfejsów i adresów IP, którymi może zarządzać), co jest całkowicie niezależne od liczby interfejsów sieciowych posiadane adaptery. Z drugiej strony twoje urządzenie będzie miało co najmniej tyle adresów IP, ile jest używanych interfejsów sieciowych .


0

Urządzenie to element fizyczny reprezentowany przez etykietę wewnątrz systemu. W ten sposób system może wykonać różne działania, takie jak ustawienie / zapytanie / użycie urządzenia fizycznego. Etykieta jest tworzona przez sterownik, który zarządza fizycznym sprzętem w systemie jądra.

Możesz mieć wiele urządzeń sieciowych, każde z nich oznaczone etykietą uniq (nie komplikujmy zbytnio rozmowy o wiązaniu).

Twój problem dotyczy adresu IP.

Istnieje kilka różnych klas adresów IP. Masz publiczny, do którego można uzyskać dostęp z dowolnego miejsca w Internecie i na adres prywatny, które zwykle są ograniczone do obszaru prywatnego (na przykład sieć domowa / biznesowa).

Zwykle sieć domowa lub biurowa ma kilka publicznych adresów IP i wiele prywatnych adresów (między laptopem / telefonem komórkowym / tabletem / lodówką / tosterem / wszystkich członków rodziny).

Możesz przypisać tyle adresów IP fizycznemu sprzętowi, ale musisz to zrobić ładnie i przestrzegać logiki tcp / ip, jeśli nie chcesz stawić czoła nierozwiązywalnemu problemowi :)

Na przykład w sieci lokalnej (LAN) nie można mieć dwóch urządzeń z tym samym adresem IP. Wynika to głównie z protokołu Ethernet, który jest oparty na adresie MAC (unikatowy identyfikator sprzętu), i istnieje relacja jeden do jednego między adresem MAC i adresem IP w sieci lokalnej.

Możesz także mieć jedno urządzenie, z dwoma sprzętowymi, jednym z adresem publicznym od dostawcy i jednym w sieci lokalnej. To urządzenie będzie zwykle używane jako brama do świata zewnętrznego dla wszystkich urządzeń w sieci lokalnej.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.