IP-адреси пристрою проти мережевого інтерфейсу


11

Я намагаюся зрозуміти зв’язок між:

  • "Мережевий" пристрій Linux; і
  • Фізична карта NIC, розташована на цьому пристрої (що дає можливість "мережевої"); і
  • Різні мережі Ethernet Wi-Fi мережі / інтерфейси ( eth0, eth1, wlan0і т.д.); і
  • IP-адреси та порти

З того, що я зібрав, це здається , що кожен інтерфейс (знову ж , eth0, eth1, wlan0і т.д.) присвоюється свій власний унікальний IP - адреса. Значення на моїй машині eth0матиме інший IP , ніж, скажімо, wlan1.

Але це суперечить моєму розумінню того, що мережеві пристрої в цілому отримують єдиний IP для всього пристрою.

Так що це? Чи пристрій отримує 1 IP, який використовується всіма інтерфейсами, чи кожен інтерфейс отримує власний IP? Якщо кожен отримує своє, то що визначає, скільки портів доступно в цьому інтерфейсі?


як / де підключений інтерфейс впливає на те, яка IP-адреса у нього повинна бути, наприклад, 3 різні локальні мережі, тому різні інтерфейси мають різні адреси. ця адреса також стає адресою джерела за замовчуванням.
Скаперен

Відповіді:


10

Кожен мережевий інтерфейс матиме власну IP-адресу, якщо через нього буде протікати IP-трафік.

Візьмемо для прикладу свій маршрутизатор / модемний пристрій, який має більшість будинків та / або невеликих офісів.

Підключиться до комп'ютерів / ноутбуків на внутрішній стороні роутера - будь то WiFi чи Ethernet. Зазвичай вони знаходяться в діапазонах приватних адрес 191.168.0.0 - 192.168.255.254або іноді 10.0.0.0 - 10.255.255.254. Ваш робочий стіл / ноутбук / планшет підключиться до цієї сторони пристрою та матиме себе та IP-адресу в одному діапазоні (але не ідентичний пристрою).

На зовнішній стороні маршрутизатора / модема у вас буде абсолютно окрема IP-адреса, яка зазвичай призначається вашим пристроєм автоматично постачальником послуг. Це адреса маршрутизації, така, 98.23.45.62яка є глобально унікальною для вашого модему / маршрутизатора під час підключення.

Невеликі модеми / маршрутизатори, такі як ці, можуть збивати з пантелику, оскільки вони, мабуть, мають лише одну адресу - ту, що цитується в посібнику користувача для управління пристроєм через веб-браузер (наприклад http://192.168.0.1) - хоча він має багато портів Ethernet. Це тому, що пристрій, по суті, має мережевий комутатор, позначений на маршрутизаторі, щоб розділити єдиний Ethernet-порт маршрутизатора на багато портів і для того, щоб підключити міст WiFi.

У той же час, зовнішня сторона маршрутизатора / модема матиме IP-адресу, яка автоматично налаштовується постачальником послуг, так що ви, можливо, ніколи її не бачите. (Введіть мою IP-адресу в Google, щоб дізнатися, що це таке).

Діаграма може допомогти:

                                                                 +--------+
                                                                 | 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 |
                                                                  +---------+

Як бачите, модем / роутер має дві IP-адреси - по одній для кожного мережевого інтерфейсу. Настільний і ноутбук є один - на мережевому пристрої, підключеному до вашого маршрутизатора. Більшість модемів / маршрутизаторів мають підключення WiFi та Ethernet, як і більшість ноутбуків. Якщо ви повинні підключити кабель Ethernet до свого ноутбука, а також увімкнути та налаштувати Wi-Fi вашого ноутбука, то і у вас буде два IP-адреси - по одному для кожного пристрою - обидва в 10.0.0.xдіапазоні адрес. Це просто подумає про проблеми - не робіть цього.

Порт - це лише номер, який додається до IP-адреси призначення. Це схоже на телефонне розширення в офісному комутаційному щиті і вирішує, яка служба приймати ваш трафік. Це 16-бітове число, що дає йому максимально можливий 65535. Хоча використовується лише дуже невеликий підмножина. Деякі з них попередньо виділяються як відомі порти, такі як http-трафік на порту 80 та захищена оболонка (ssh) на порту 22. Ці порти відкриті та прослуховують для руху лише тоді, коли відповідна служба працює на пристрої, встановленому виробником пристрою. .

У випадку маршрутизатора модему вище, порт 80 прослуховуватиметься з внутрішньої сторони, оскільки працює веб-сервер, щоб ви могли управляти пристроєм за допомогою веб-браузера. Деякі маршрутизатори також мають службу ssh для прослуховування на порту 22, щоб ви могли керувати пристроєм за допомогою ssh-клієнта. Можливо, у них відкриється порт 53, оскільки на маршрутизаторі також буде працювати сервер DNS.

Напевно, ваш ноутбук (сподіваємось) не матиме прослуховування портів, якщо ви не встановили службу на цьому пристрої. На схемі вище ви можете встановити сервер ssh-сервера на настільний ПК, в який момент (і брандмауери дозволяють) ваш робочий стіл відкриє порт 22. Потім ваш ноутбук може перейти на порт 22 робочого столу та увійти.

Отже, кількість портів на пристрої зменшується до кількості служб, що працюють на цьому пристрої, конфігурації цієї служби та конфігурації брандмауера.

Якщо ви хочете зробити, щоб ssh-сервер працював на вашому робочому столі в наведеному вище прикладі, був доступний віддаленому користувачеві десь в Інтернеті, ви зіткнулися з невеликою проблемою, оскільки, хоча у вас є багато внутрішніх адрес, у вас є лише одна зовнішня ( 98.23.45.62).

Щоб вирішити це, вам доведеться налаштувати на маршрутизаторі об'єкт, відомий як переадресація портів . Це вказує маршрутизатору взяти весь трафік, що надходить до певного порту, і перенаправити його на певний внутрішній хост і порт.

У цьому випадку весь трафік, що надходить до порту 22, пересилається на 10.0.0.2порт 22. Оскільки ви, можливо, зібралися, це означає, що ви можете перенести порт 22 лише на один внутрішній сервер.

Якщо ви хочете мати змогу переходити на комп’ютер і на робочий стіл, і на ноутбук, вам доведеться налаштувати маршрутизатор для прослуховування на альтернативному зовнішньому порту (наприклад, 2022) та переслати його на ваш ноутбук на 10.0.0.2порт 22. Віддалений користувач повинні мати ssh 98.23.45.62доступ до робочого столу та ssh -p 2022 98.23.45.62доступ до свого ноутбука.

Звичайно, це не завжди так просто, як це може змінитися зовнішня IP-адреса, якщо ви спеціально не вимагаєте / купуєте статичну IP-адресу.


Дякую @garethTheRed (я б підтримав вас, якби у мене був представник). Кілька швидких подальших дій, якщо ви не заперечуєте: чи можете ви підтвердити, що, використовуючи свій відмінний приклад вище, якби я перейшов до Google " Який мій IP " як на ноутбуці, так і на робочому столі, вони б бачили свій IP як 98.23.45.62(в основному, їх спільний зовнішній IP-роутер)? Якщо так, то якщо я стояв на сервері, що працює на своєму ноутбуку, і хотів, щоб він був доступний із зовнішнього світу, як зовнішні / віддалені клієнти звертаються із запитами до цього сервера, якщо він має той самий IP, що і всі інші пристрої позаду маршрутизатора ?!? Ще раз дякую!
Зак

Так, усі внутрішні пристрої відображатимуть однакову IP-адресу в Google - ваша єдина IP-адреса :-) Я відредагував свою відповідь, щоб охопити ваше інше питання.
garethTheRed

Ще раз дякую @garethTheRed! Тож чи справедливо сказати, що переадресація портів робить те саме, що відбувається із зовнішнього до внутрішнього, як це робить NAT від внутрішнього до зовнішнього?
Зак

Незрозуміло - NAT більш динамічний тим, що "просто працює". Переадресація портів повинна бути налаштована адміністратором маршрутизатора, але по суті обидва отримують трафік через маршрутизатор.
garethTheRed

2

"Пристрій" - це перевантажене слово. Він іноді використовується для позначення машини, а іноді для позначення периферії або інтерфейсу машини.

У кожного мережевого інтерфейсу є своя адреса.

Кожна машина має нуль, одну або кілька адрес залежно від того, скільки мережевих інтерфейсів у неї є.

У простих випадках кожен фізичний мережевий інтерфейс має одну IP-адресу, а у вашій системі також є інтерфейс зворотного зв'язку, який програми використовують для спілкування з програмами, що працюють на одній машині. Кожен інтерфейс має чітку IP-адресу. Можливі багато, багато складних налаштувань (зв’язування, згладжування, локальні адреси тощо), але основна інтуїція полягає в тому, що кожна IP-адреса відповідає одному інтерфейсу.

Коли ви отримуєте доступ до машини через мережу, ви використовуєте IP-адресу, тому ви фактично отримуєте доступ до певного мережевого інтерфейсу цієї машини. У більшості випадків це відмінність є суперечливою, оскільки з віддаленої машини доступний лише один інтерфейс, і це все одно не мало б ніякої різниці, оскільки програми приймають з'єднання на всіх інтерфейсах. Однак сервер може слухати лише один інтерфейс.


1

Ваш пристрій може мати декілька мережевих інтерфейсів. Вони можуть відповідати реальним пристроям ( NIC ) або бути віртуальними .

Для того, щоб бути корисним (тобто ініціювати або прослуховувати з'єднання), кожен інтерфейс повинен мати IP-адресу. Зазвичай буде один IP на інтерфейс, але можливо їх декілька через IP-псевдонім .

Окремі з'єднання на кожній IP-адресі ідентифікуються за номером порту. Існує обмеження 65536 портів на IP-адресу, накладений протоколом IP. Однією з причин псевдоніму IP є подолання цього обмеження.

Отже, врешті-решт ваш пристрій може мати стільки IP-адрес, скільки ви хочете (в межах причини - я думаю, існують обмеження, накладені ядром на кількість інтерфейсів та IP-адреси, якими він може керувати), що абсолютно не залежить від кількості мережевого інтерфейсу у вас є адаптери. З іншого боку, ваш пристрій матиме принаймні стільки IP-адрес, скільки використовуються мережеві інтерфейси .


0

Пристрій - це фізичний предмет, який представлений етикеткою всередині системи. Таким чином система може здійснювати різні дії, такі як налаштування / запит / використання фізичного пристрою. Мітка створена драйвером, який керує фізичним обладнанням у системі ядра.

Таким чином, ви можете мати декілька мережевих пристроїв, кожен з яких ідентифікований ярликом uniq (давайте не будемо занадто ускладнювати розмову про зв’язок).

Ваша проблема в IP-адресі.

Існує кілька різних класів IP-адрес. У вас є загальнодоступний, до якого можна дістатися з будь-якого місця в Інтернеті та на приватну адресу, які, як правило, обмежені приватною зоною (домашня / ділова мережа для прикладу).

Зазвичай домашня мережа або офісна мережа має кілька загальнодоступних ip-адрес і безліч приватних адрес (між ноутбуком / мобільним / планшетом / холодильником / тостером / усіх членів сім'ї).

Ви можете призначити якомога більше ip-адреси фізичному апаратному забезпеченню, але це потрібно зробити красиво і дотримуватися основної логіки tcp / ip, якщо ви не хочете стикатися з нерозривним питанням :)

Для прикладу в локальній мережі (lan) у вас не може бути два апаратних засоби з однаковою IP-адресою. В основному це пов'язано з протоколом Ethernet, який базується на MAC-адресі (uniq-ідентифікатор обладнання), і між MAC-адресою та ip-адресою в локальній мережі існує відношення один до одного.

Ви також можете мати одну машину з двома апаратними пристроями з публічною адресою вашого постачальника та однією з локальних мереж. Ця машина зазвичай буде використовуватися як шлюз у зовнішній світ для всієї машини у вашій локальній мережі.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.