Яке значення "fe80 :: 1% lo0 localhost" в / etc / hosts?


35

Далі наводяться записи в моєму /etc/hosts.

Мені було цікаво, для чого останній запис ( fe80::1%lo0 localhost).

127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost

3
% Lo0 - ідентифікатор зони IPv6, більшість систем не підтримує це в службах імен.
Стів-о

3
Які програми використовуватимуть цю інформацію? Іншими словами, якби ви редагували цей рядок, що б воно порушило?

Відповіді:


25

Це IPv6-адреса. Блок fe80 :: зарезервований для локальних адрес посилань. Локальні адреси посилань використовуються для пакетів, що надсилаються лише на безпосередньо підключені пристрої (не маршрутизовані). Протокол виявлення мережі (NDP) є найбільшим користувачем локальних адрес (NDP-сортування замінює ARP та DHCP в IPv6).

Кожен з ваших інтерфейсів матиме іншу локальну адресу, починаючи з fe80 :: та (як правило), закінчуючи модифікованою версією MAC-адресу інтерфейсу (формат EUI-64), щоб забезпечити унікальну адресу у вашому сегменті. Що стосується інтерфейсу зворотного зв'язку, до нього нічого іншого не підключено, тому він може використовувати адресу fe80 :: 1 без побоювання конфлікту, тому fe80 :: 1 зазвичай використовується як адреса "localhost" - еквівалент IPv6 127.0.0.1.


4
Я також повинен зазначити, що частина "% lo0" необхідна, оскільки будь-яка локальна адреса посилання була б неоднозначною, якби вона не була явно прив'язана до інтерфейсу.
їдець

1
Існує НДП на зворотному інтерфейсі, який ::1використовується як еквівалент IPv6 127.0.0.1, ні fe80::1%lo0.
цитрин

Що робити, якщо моє фактичне ім'я інтерфейсу для зворотного зв'язку (як повідомляється ifconfig) просто, loа ні lo0? Також навіщо включати 2 IPv6 хост-записи для localhost?
Іван

5

Відмінна відповідь вище від їдця. IPv6 посилання локального адреси, як було сказано вище, у вигляді fe80:*фактично fe80::/10означає верхню десять бітів тільки зіставляються fe8*:*тому діапазон fe80 :: 0 .. febf:*. Перевірте мою арифметику.

Ці адреси є еквівалентом 169.254.\*.\*адрес у IPv4, хоча аналоги IPv4 набагато менше використовуються.

Дуже часто в ipv6 є кілька адрес, але лише одна в IPv4. Наявність як fe80::адреси, так і глобально значущої маршрутизованої адреси IPv6 (наприклад, 2001:*наприклад) - це правило не виняток. На жаль, програми та операційні системи, як правило, не роблять те ж саме в IPv4, тобто інтерфейси, як правило, не мають декількох IPv4 адрес, і я не бачив випадків, коли інтерфейс 169.254.\*.\*одночасно скаже адресу та інший тип адреси.

Одночасне використання двох типів у IPv4 запобігає сильному болю та страждань, коли, наприклад, комплект ввімкнено в неправильному порядку, комп’ютери підсилюються перед маршрутизаторами або серверами, а ПК призначають собі 169.254.\*.\*адресу та тримаються лише за те, а не додають другий глобально значуща, маршрутизована адреса, коли вони пізніше дізнаються зі свого маршрутизатора чи сервера, де вони повинні знаходитись в Інтернеті.


2
 fe80::.....        a link local address

Локальні адреси IPv6 для локальних посилань, вказані префіксом fe80: дійсні лише у безпосередньому мережевому посиланні, до якого підключений цей хост-інтерфейс.


Введення в оману - це fe80 / 10, тобто не префікс "fe80:". Є 64 префікси.
Ондра Жижка
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.