Файлы конфигурации TCP/IP

Как изменить hostname в linux?

Параметр hostname используется используется многими сетевыми программами для идентификации машины на базе Linux. Именно это значение будет устанавливаться в системе DNS или при вводе в домен компьютера. В статье ниже рассмотрены основные способы изменения hostname машины для Linux. В начале будет рассмотрен базовый сценарий, который исторически работал в разных дистрибутивах linux, а ниже рассмотрим вариант использования универсальной команды hostnamectl, которую поддерживают многие современные дистрибутивы linux.

Чтобы определить текущее имя машины Linux достаточно ввести команду hostname. В результате, будет выведено на экран имя сервера.

Файлы конфигурации TCP/IP.

Для настройки и поддержки работы сети, работающей под управлевд протоколов TCP/IP, используется набор файлов конфигурации, расположиных в каталоге /etc . В этих файлах содержится информация о сети, в частности имена хост-машин и доменов, IP-адреса и характеристики интерфейсов. Именно в эти файлы вводятся IP-адреса и доменные имена других хост-компьютеров Internet , к которым вы хотите получить доступ. Если в процессе инсталляции системы вы конфигурировали сеть, то вся эта информация в файлах конфигурации уже есть. Ввести конфигурационные данные в эти файлы можно с помощью программы netcfg (ее пиктограмма находится на вашем рабочем столе) или с помощью программы netconfig ) (из командной строки).

Файл Функция
/etc/hosts Связывает хост-имена с IP-адресами
/etc/networks Связывает доменные имена с адресами сетей
/etc/rc.d/init.d/inet Содержит команды конфигурирования сетевого интерфейса при начальной загрузке
/etc/HOSTNAME Содержит хост-имя вашей системы
/etc/host.conf Опции конфигурирования
/etc/resolv.conf Содержит список серверов доменных имен

Идентификация хост-имен: файл /etc/hosts

Без уникального IP-адреса, которым в сети TCP/IP идентифицируруются компьютеры, нужный компьютер найти нельзя. Поскольку IP-адреса трудны для запоминания и работы, вместо них используются доменные имена. Каждому IP-адресу ставится в соответствие доменное имя. Система преобразует доменное имя, по которому пользователь обращается к определенному компьютеру, в соответствующий IP-адрес, и он используется для установления соединения с указанным компьютером.
Вначале ведение списка хост-имен с их IP-адресами было обязанностью всех компьютеров сети. Этот список до сих пор хранится в файле /etc/host Получив от пользователя доменное имя, система ищет в файле hosts cooтветствующий адрес. За ведение этого списка отвечает системный администратор. Вследствие стремительного роста Internet и появления все новых новых очень больших сетей функции преобразования доменных имен в IP-адреса были переданы серверам доменных имен. Тем не менее файл hosts продолжает использоваться для хранения доменных имен и IP-адрес хост-компьютеров, соединения с которыми устанавливаются наиболее часто. Перед тем как обращаться к серверу имен, ваша система всегда буде проверять файл hosts и искать в нем IP-адрес заданного ей доменного имени.
Каждая запись в файле hosts состоит из IP-адреса, пробела и доменного имени. Для хост-имени можно создавать псевдонимы. В одной строке c записью можно ввести комментарий, который всегда предваряется символом # . В файле hosts уже имеется запись для локального компьютера localhost с IP-адресом 127.0.0.1 . Localhost — это специальный зарезервированный IP-адрес 127.0.0.1 , которой позволяет пользователям вашей системы связываться друг с другом в локальном режиме. Он служит для идентификации так называемого закольцовывающего интерфейса.

/etc/hosts

Имена сетей: файл /etc/networks

В файле /etc/networks хранятся доменные имена и IP-адреса сетей, с которыми у вашей системы есть соединение, а не доменные имена конкретных компьютеров. Сети имеют сокращенные IP-адреса. В зависимости от типа сети в IP-адресах может использоваться одно, два или три числа. Сетевой IP-адрес для localhost — 127.0.0.0 . Этот сетевой адрес используется для закольцовывающего устройства.
IP-адреса записываются в файле /etc/networks вместе с соответствующими им доменными именами сетей. Вспомните, что IP-адрес состоит из сетевой части и машинной части. Сетевая часть — это адрес сети, который хранится в файле networks . В этом файле всегда будет присутствовать отдельная запись для сетевой части IP-адреса вашего компьютера. Это и есть адрес сети, к которой подключен ваш компьютер.

/etc/networks

Инициализация сетевого соединения: файл /etc/rc.d/init.d/inet

В файле /etc/rc.d/init.d/inet находятся команды, обеспечивающие конфигурирование сетевого соединения. Многие записи в этом файле автоматически создаются при использовании утилиты netcfg и конфигурировании сетевого соединения в процессе инсталляции. Например, здесь находятся команды ifconfig и route . Кроме того, здесь задаются хост-имя вашей системы, адрес сети и другие необходимые адреса. Непосредственно редактировать этот файл можно лишь в том случае, если вы уверены в том, что все делаете правильно и обладаете начальными познаниями в области программирования в shell. В других дистрибутивах Linux, например в Slackware , файл инициализации может иметь имя /etc/ rec.d/rc-inet1 или просто /etc/rc.inet1 .

Файл /etc/HOSTNAME

В файле /etc/HOSTNAME содержится хост-имя вашей системы. Чтобы изменить имя, нужно отредактировать данный файл. Эту задачу можно решить с помощью программы netcfg , которая заменяет хост-имя и помещает новое имя в файл /etc/HOSTNAME . Хост-имя можно узнать не только путем вывода на экран этого файла, но и с помощью команды hostname .

Как определить имя хоста по IP адресу

Узнать имя хоста по статическому IP адресу
Доброго времени суток! Подскажите, существует ли возможность узнать имя хоста по имеющемуся.

Как по IP-адресу определить имя компьютера?
Вот где-то нашел кусок кода, для определения статуса сетевой lcIPAddress=’192.168.0.1′.

Как поменять имя хоста и пользователя?
Доброго времени и суток ! У меня снова проблема : Я скачал линукс убунту и когда я захожу в.

Как узнать адрес хоста и его имя?
Привязка net.Tcp. Имеется в виду на сервисе) Собствено как?

Как узнать имя хоста, зашедшего на мой сайт ?
ув. АЛЛ, как узнать имя хоста, зашедшего на мой сайт ? (из РХР ИНФО взял ИП адрес хоста а вот имя.

Определение хоста по ip адресу и наоборот
Задание: программа должна определять имя хоста по ip адресу и ip адрес по хосту. Данный текст не.

Получение имени хоста по IP адресу
Есть IIS проектик. Крутится под PWS на Win98. Все это в интрасети,прокси и анонимы отсекаются и.

Как на asp по ip-адресу узнать доменное имя?
как на asp по ip-адресу узнать доменное имя, в случае, если . =.

Получить имя хоста
Как узнать имя хоста, на котором выполняется текущий скрипт?
[H1toH2]

SERVER='<br>new_site’; echo.

[/H1toH2]

3.1.2. Файл /etc/hosts

If there is no name server on the local network, it is still possible to establish a small table mapping IP addresses and machine hostnames in the /etc/hosts file, usually reserved for local network stations. The syntax of this file as described in hosts (5) is very simple: each line indicates a specific IP address followed by the list of any associated names (the first being “completely qualified”, meaning it includes the domain name).

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

Такой файл будет достаточен для маленькой сети, не подсоединенной к Интернету, но с 5-ью машинами и более, рекомендуется установить правильно настроенный DNS сервер.

СОВЕТ В обход DNS

Поскольку приложения, перед тем, как сделать запрос DNS, проверяют файл /etc/hosts , становится возможным включить в данный файл информацию о том, что есть отличия, каким образом DNS запрос будет возвращаться, и поэтому необходимо обойти нормальную DNS-базирующуюся службу разрешения имен.

Это может пригодиться в следующей ситуации: предположим, в установленной системе адрес вэб-сайта некорректно сопоставлен с правильным IP-адресом. При проведении тестирования вэб-сайта это выяснилось. Внесены изменения в DNS записи, но еще до вступления их в силу, уже можно повторно тестировать вэб-сайт (осуществляя DNS запросы «в обход» действующей в настоящей момент службы разрешения имен).

Другое возможное применение — это перенаправление трафика, предназначенного в специфический узел на локальном узле, таким образом предотвращая любое сообщение с данным узлом. Для примера — можно изменить направление трафика таким образом, чтобы они обходили узлы, обслуживающие объявления. Это приведет к большей гибкости, меньшему отвлечению внимания, лучшей навигации.

Как узнать все активные машины в сети, их IP и hostnames?

Есть роутер, он образует локальную подсеть 192.168.0.1/24 В сети той несколько машин, все на Linux. Иногда я использую ssh для управления одной машиной с другой, и в этом нет проблем.

Но для ssh необходимо знать IP компа, так как ssh не понимает hostname, если его нет в /etc/hosts А так как это роутер, то IP динамические.

выводит только активные IP в сети, а

Сейчас смотрю IP и hostname в админке роутера, что не совсем удобно. Я конечно могу всем дать статичные IP, а потом настроить /etc/hosts, но это костыль какой-то.

Нужна команда, что выведет список всех активных IP в подсети 192.168.0.1/24 и их hostnames. Гуглить пробовал, но он путает hostname c netbios, и часть команд под винду, причем без указания этого.

Я бы сделал следующее: На роутере в DHCP забиндил бы существующее розданные ip адреса( если не хочешь делать статики). Те они всегда будут получать один и тот же айпи. Запусти где-нибудь DNS сервер ( на том же роутере, если умеет) и пропиши свои локальные имена. В DHCP пропиши, чтобы при выдаче настроек, машины получали твой DNS в качестве DNS.

В /etc/hosts ничего прописывать не надо,это не совсем тот случай. Нужна одна точка, где все прописано, а не куча.

У меня не настолько продвинутый роутер. И слишком много всего ради функции, которой я пользуюсь раз в неделю, сеть у меня дома.

Сейчас смотрю IP и hostname в админке роутера, что не совсем удобно.

Нужна команда, что выведет список всех активных IP

Вот и ответ. Нужен такой робот, который будет за вас смотреть в админке. То есть — модель робота будет зависеть от производителя роутера.

других вариантов нет. невозможно узнать hostname linux машины кроме как зайти на нее ( тут можно использовать finger root@192.168.1.1) или спросить у DNS сервера.Те прописывать статик айпи и затем прописывать имена в /hosts это ок, а сделать тоже самое на dns/dhcp это уже «слишком много». Кстати, а почему они динамические? У вас там сервисы от этого не страдают? Если айпи динамические, то машины явно не общаются между собой. Те это тестовые виртуалки? Если это тестовые виртуалки, то можно разместить dns/dhcp на гипервизоре, если это какие-то сервисы, то хорошим тоном будет дать им статик ip. Из-за динамик ip можно поймать баги на некоторых сервисах.

ssh прекрасно понимает hostname, если тот резолвится через dns.

Да вариантов много. Для мелкого применения в рутерах написаны специальные комбайны, содержащие dhcp+dns+etc, например, dnsmasq. Имя можно получать и только от dhcp копаясь в его логах. Ну и куча всяких велосипедных костылей, типа после получения адреса сама машина по www будет делать POST со своим именем :))

arping по всем адресам сети

Собирай адреса arpwatch-ем, тогда проще будет искать активные.

Можно посмотреть в dhcpd.leases и отсортировать по времени.

Ключ не подскажете?

И на практике он просто пингует адрес, я это и так могу.

Vsevolod-linuxoid ★★★★★ ( 24.04.17 19:07:28 )
Последнее исправление: Vsevolod-linuxoid 24.04.17 19:10:03 (всего исправлений: 2)

Пожалуйста, полные команды. Я новичек в сетях. man arpwatch не сработал, нет справочной страницы.

Хостнэйм он тебе не поможет узнать, это да. Тогда узнавай либо через ssh на все машины, либо по логам dhcp сервера.

Хостнэйм он тебе не поможет узнать, это да.

Я писал выше, что команда

Как именно это делать? Это вообще можно для клиента, в качестве сервера в сети у меня роутер?

И вообще, если две машины в одной подсети, оба клиенты и знают IP друг друга, то они не могут определить hostname друг друга? Просто задача вроде бы простая, а решения найти не могу.

Vsevolod-linuxoid ★★★★★ ( 24.04.17 19:26:31 )
Последнее исправление: Vsevolod-linuxoid 24.04.17 19:32:15 (всего исправлений: 1)

И вообще, если две машины в одной подсети, оба клиенты и знают IP друг друга, то они не могут определить hostname друг друга?

В общем случае — нет. А что за роутер? А то может там dnsmasq, на котором прописывание в DNS клиентов DHCP делается на раз-два, только взять и сделать?

dexpl ★★★★★ ( 24.04.17 19:37:20 )
Последнее исправление: dexpl 24.04.17 19:38:28 (всего исправлений: 1)

И вообще, если две машины в одной подсети, оба клиенты и знают IP друг друга, то они не могут определить hostname друг друга? Просто задача вроде бы простая, а решения найти не могу.

Потому что соответствие IP -> hostname, так же как и hostname сам по себе, обычно никому не нужно. Зачем тебе хостнэйм, когда у тебя есть адрес? Если тебе нужно взаимодействие двух машин в сети, то выдай им статичные адреса и записи в DNS.

Если нужен autodiscover — в линуксах есть avahi, попробуй покрутить его. Сам я им не пользовался, больше этого подсказать не смогу.

Надо поставить пакет arpwatch и тогда наверное ман будет

arpwatch -f /var/lib/arpwatch/eth0.dat -i eth0

В /var/lib/arpwatch/eth0.dat будут появляться хосты. + письма-оповещения будет слать на arpwatch@localhost

И вообще, если две машины в одной подсети, оба клиенты и знают IP друг друга, то они не могут определить hostname друг друга?

Напрямую нет. Простой пример, вы знаете телефонный номер абонента, по нему можно ли просто так узнать его реальное имя? Или почтовый адрес -> имя отправившего? Подчеркиваю полное соответствие номер/адрес->имя. Скорее нет чем да.
Далее. Даже если у вас dhcp+dns машина клиента не обязана представлять hostname для dhcp, т.е. те варианты которые описаны выше не всегда будут работать.

Проверка файла Hosts

Так как Hosts — это системный файл, то для его редактирования надо иметь права администратора. Самый просто способ такой. В Windows 10 кликаем на кнопку «Поиск», в предыдущих версиях просто нажимаем кнопку «Пуск». Набираем слово «блокнот»:

как открыть программу с правами администратора

В результатах поиска будет отображен ярлычок стандартного текстового редактора Windows. Кликаем по нему левой кнопкой мыши и в появившемся меню выбираем пункт «Запуск от имени Администратора».

Теперь, когда мы запустили блокнот с повышенными привилегиями, надо в нём в меню «Файл» выбрать пункт «Открыть»:

блокнот открыть файл

В появившемся окне «Открытие» надо ввести путь к файлу Hosts. Если операционная система установлена на диске C:, то путь будет таким:

Но так как ОС не всегда бывает установлена на этот логический диск, оптимальнее всего вручную ввести вот такой адрес:

После этого нажимаем клавишу «Enter» и попадаем в системный каталог:

как открыть хостс файл в виндовс 10

По умолчанию в нём Вы не увидите файлов, так как текстовый редактор ищет текстовые файлы, а у тех, что лежат в этой папке вообще нет расширения. Поэтому надо в левом нижнем углу выбрать в меню пункт «Все файлы». После этого в списке файлов надо выбрать и открыть Hosts. Вот так он выглядит по умолчанию, то есть в чистом виде без изменений:

как проверить файл hosts в windows 10

Обратите внимание, что все строчки закомментированны, то есть никаких настроек не выполнено. На всякий случай оставлю здесь полное содержание файла Hosts в текстовом виде:

Замечание:
Не всегда наличие дополнительных записей в файле Hosts является признаком вируса или вредоносной программы. Очень часто записи туда вносятся при установке игр из репаков и программ. Если сомневаетесь и не знаете что это за адрес — введите в Гугле или Яндексе и почитайте информацию.

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector