Когда я читаю /etc/hosts на моем компьютере с Ubuntu, первые две строки выглядят следующим образом:

ipAddr1 localhost
ipAddr2 nameOfMachine

Эти IP-адреса характерны для моей машины или связаны с сетью, к которой я подключен? Кроме того, их можно редактировать, но не написано ли аппаратное обеспечение IP-адреса?

3 ответа3

2

IP-адрес вашего устройства не подключен к оборудованию, и первые две строки, которые вы показываете, относятся к тому, как ваше устройство подключено к вашей сети. Единственный элемент, связанный с сетью, который находится в аппаратном обеспечении, - это MAC-адрес, и это на 100% другое.

Как правило, IP-адрес назначается при подключении сетевого интерфейса к сети на основе настроек вашей системы. Итак, когда вы говорите это:

ipAddr1 localhost
ipAddr2 nameOfMachine

Но адреса будут примерно такими; используя 123.456.789.1 в качестве примера:

127.0.0.1   localhost
123.456.789.1 nameOfMachine

Адрес 127.0.0.1 является общепринятым стандартом для адреса обратной связи localhost . 123.456.789.1 - это сетевой адрес, который был назначен вашей машине, когда она получила сетевое соединение. А на машине с Linux настройка выполняется через /etc/network/interfaces который вы можете просмотреть следующим образом:

cat /etc/network/interfaces

Довольно стандартная и базовая настройка для файла interfaces выглядит примерно так:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
address 123.456.789.1
netmask 255.255.255.0

Это напрямую связано с тем, что вы видите в /etc/hosts . Обратная связь face lo inet loopback подключается к тому, что вы видите в строке 127.0.0.1 localhost а статическая переменная face eth0 inet static подключается к 123.456.789.1 nameOfMachine .

В общем, вы не возитесь с файлом /etc/hosts . И вы точно не измените 127.0.0.1 localhost . Имя 123.456.789.1 nameOfMachine - это то, что может быть назначено самостоятельно, когда Linux впервые установлен на машине и должен оставаться там. Это позволяет вам быть на хосте nameOfMachine и иметь возможность выполнять что-то вроде ping nameOfMachine без сбоев.

2

Они размещаются там установщиком Ubuntu в ответ на то, что вы вводите в качестве имени хоста системы.

Возможно, файл /etc/hosts (и по умолчанию) используется распознавателем DNS вашей системы всякий раз, когда приложение хочет выполнить поиск DNS.

До того, как DNS существовал, у каждой машины был локальный файл хостов, и он обращался к нему для преобразования доменных имен в IP-адреса.

Теперь, как правило, выполняется запрос к DNS-серверу, но файл hosts все еще существует, и если ваша система настроена на его использование, он проверит имена в этом файле перед выполнением внешнего DNS-запроса.

Имя хоста вашей машины отображается для 127.0.0.1 в этом файле, поскольку внешний DNS-сервер не будет знать ваше локальное имя хоста, если он каким-либо образом не взаимодействует с DHCP (серверы Microsoft AD/DHCP/DNS делают это). Таким образом, это сделано для того, чтобы поиск DNS для localhost или имени вашего компьютера вернул правильный результат.

Ответ @ JakeGould вдохновил меня на добавление этого: не удаляйте и не изменяйте записи localhost - ЕСЛИ вы не измените свое имя хоста! Есть некоторые программы, которые требуют правильного разрешения вашего локального имени хоста (exim4 - одна из них).

И @Hennes прав, IP-адрес не существует в аппаратном обеспечении, только MAC.

1

Прежде всего, ни один IP-адрес не записан в аппаратном обеспечении. MAC-адрес есть.

И да, вы можете редактировать их. Вы подвергли цензуре фактические IP-адреса, но я подозреваю, что по крайней мере один из них - 127.0.0.1 , который вы не должны изменять. Многое зависит от возможности доступа к собственному компьютеру «через сеть».

Эти вызовы к компьютеру могут быть реальными другими компьютерами, или они могут вернуться к самому компьютеру. По соображениям эффективности, было бы неплохо, если бы вам не нужно было отправлять их через сеть, когда они предназначены для вас, поэтому мы используем петлевой интерфейс. Этому интерфейсу обратной связи мы присвоили диапазон 127.0.0.0/8 , обычно реализованный как 127.0.0.1 .

Подведем итог:

  • Да, вы можете редактировать их.
  • Нет, вам не следует редактировать некоторые из них.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .