Centos не видит сетевую карту

Обновлено: 02.07.2024

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

Содержание

Устранение проблем с подключением, вызванных отсутствием IP-адреса

Некоторые гостевые операционные системы Linux пытаются установить сетевое подключение до того, как DHCP-сервер Skytap назначит виртуальной машине действительный IP-адрес. Виртуальная машина должна иметь действительный IP-адрес для подключения к сети.

Выполните следующие действия, чтобы определить и решить эту проблему. Точные команды различаются в зависимости от ОС.

В гостевой ОС Linux проверьте конфигурацию сетевого интерфейса, чтобы узнать, есть ли у сетевого адаптера IP-адрес.

Замените eth0 именем сетевого адаптера. Команда ifconfig отображает имя сетевого адаптера.

Если указанное выше исправление сработало, устраните эту проблему навсегда, добавив следующие строки в файл конфигурации сетевого адаптера (например, /etc/sysconfig/network-scripts/ifcfg-eth0 ).

Устранение проблем с подключением, возникающих после приостановки работы ВМ

Некоторые виртуальные машины Linux могут иметь проблемы с подключением к сети после того, как виртуальная машина была приостановлена, а затем возобновлена.

Если ваша виртуальная машина не подключается к сети, попробуйте выполнить следующие действия по устранению неполадок:

Установите пакет netplug (Ubuntu Server, CentOS, Fedora, RHEL)

В некоторых случаях ВМ не распознает сетевой адаптер после приостановки работы ВМ. Установка и запуск netplug может решить эту проблему.

Сервер Ubuntu

Чтобы установить netplug на Ubuntu Server, используйте следующую команду:

Ubuntu автоматически включает и запускает netplug после установки.

CentOS, Fedora и RHEL

Чтобы установить и запустить netplug в CentOS, Fedora и RHEL, используйте следующие команды:

Изменить тип сетевого адаптера (все Linux)

Виртуальные машины Linux, использующие сетевой адаптер типа e1000, могут быть не в состоянии подключиться к сети после перехода Linux в режим ожидания и его приостановки. Если виртуальная машина использует тип сетевого адаптера e1000, удалите сетевой адаптер e1000, а затем добавьте сетевой адаптер vmxnet3. Инструкции см. в разделе «Подключение ВМ к сети».

Возможно, вам потребуется установить или обновить VMware Tools, чтобы использовать сетевой адаптер типа vmxnet3. Инструкции см. в разделе Установка и обновление VMware Tools на виртуальных машинах Linux.

СентОС 6

Адаптер vmxnet не поддерживается в CentOS 6. Если производительность сети для виртуальной машины CentOS 6 низкая, проверьте тип сетевого адаптера. Если установлен адаптер vmxnet, удалите его и добавьте другой сетевой адаптер, например vmxnet3.

Устранение проблем с подключением, возникающих после добавления ВМ в среду

Если вы добавляете в среду виртуальную машину, которая использует то же имя хоста, IP или MAC-адрес, что и другая виртуальная машина в той же среде, Skytap изменит сетевые настройки, чтобы предоставить уникальные значения для новой виртуальной машины. Хотя Skytap автоматически изменяет сетевые настройки для вас, на виртуальных машинах Red Hat и Oracle старые сетевые настройки сохраняются в ядре Linux. Чтобы сеть работала должным образом, необходимо вручную удалить старые настройки.

Чтобы очистить старые настройки операционной системы ВМ

Установите минимальные настройки DHCP, необходимые для целевой сетевой карты — eth0. Например, файл /etc/sysconfig/network должен содержать следующую строку:

Переменная NETWORKING должна иметь значение yes, если вы хотите, чтобы сеть запускалась во время загрузки.

Файл /etc/sysconfig/network-scripts/ifcfg-eth0 должен содержать только следующие строки:

Удалите файл правил сетевого интерфейса из ядра, чтобы его можно было создать заново:

Привет всем, у меня был старый Emachine, и я хотел извлечь из него пользу. Итак, сегодня утром я загрузил на него CentOS 7. Это было здорово, даже позволило мне освободить место и переформатировать жесткий диск во время установки. Проблема в том, что эта ОС не видит старый сетевой адаптер.

Это модель T5224 от Emachine, которая годами отлично работает на XP. NIC работал несколько дней назад, и он все еще загорается, когда я подключаю его к коммутатору. Почти уверен, что оборудование работает.

Единственный способ получить драйверы для этого устройства на данный момент — это USB. Я нашел старые драйверы для Vista на сайте поддержки Emachine. Похоже на какой-то чипсет Intel. ридми в драйверах говорит;

Описание файла: Vista Intel(R) 82566DM Gigabit Network Connection Driver

Операционная система: Microsoft(r) Windows(r) Vista

Номер детали: D20050-001-001

Кто-нибудь знает, как мне найти драйверы для этой сетевой карты и заставить их работать под нагрузкой CentOS?

JustSayin

Этот человек является проверенным специалистом

Просто скажи

Популярные темы в Linux в целом

Sal8273

Этот человек является проверенным специалистом

Сал8273

Известно, что сетевые карты Intel e1000 создают проблемы для всего, что заканчивается на "x". Я предполагаю, что если карта работает, вы застряли между ужасным драйвером и Windows Plug-n-Pray-by-Design.

Возможно, вы захотите выполнить сканирование PCI, чтобы найти оборудование (если ОС видит карту, она появится здесь). Затем вам может понадобиться немного поколдовать с настройкой драйвера, чтобы модуль распознал карту по ее адресу. Если это все еще не работает, попробуйте удалить драйвер e1000 и заменить его драйвером ipge.

Если вы скопируете файл tar.gz драйвера на USB-накопитель, вы сможете смонтировать его для передачи файлов. ПИТА, да, но мужское дело, как говорится.

16 ответов

JustSayin

Этот человек является проверенным специалистом

ОП ПростоСайин

Покопался еще немного и нашел этот файл в загрузке драйвера с Emachine. e1000-7.3.15.tar.gz

Возможно, это старый драйвер Linux? Теперь, если бы я только знал, как получить его на USB и скопировать. Может быть, я мог бы разархивировать его и попытаться установить его. Хотя, вероятно, с 2006 года.

Darren5891

Вы уверены, что вас не зацепил отключенный сетевой адаптер Centos 7 (баг, на мой взгляд).

JustSayin

Этот человек является проверенным специалистом

ОП ПростоСайин

/etc/sysconfig/network-scripts не имеет ifcfg-eth0 .

Когда я запустил установку, мне сказали, что сетевая карта не обнаружена. Может быть, он не знает, что у меня есть сетевая карта?

Если я запускаю "nmcli d", он показывает петлю и все.

Единственный файл ifcfg в каталоге network-scripts называется ifcfg-lo.

Я думаю, что эта сетевая карта может быть неузнаваема И ИЛИ мертва. Вы знаете, мой исходный пост не совсем корректен. У меня эта штука работала на WiFi USB NIC в гараже. Забыл эту деталь.

Я попытаюсь перезагрузить ОС, снова подключив USB-адаптер Wi-Fi.

Шон Вулси

Этот человек является проверенным специалистом

Шон Вулси

Сетевая карта может быть неисправна — я без проблем использовал эту сетевую карту (встроенную) в Ubuntu и Debian. Я бы посоветовал попробовать дешевую сетевую карту Realtek. Кажется, Linux действительно любит их.

Sal8273

Этот человек является проверенным специалистом

Сал8273

Известно, что сетевые карты Intel e1000 создают проблемы для всего, что заканчивается на "x". Я предполагаю, что если карта работает, вы застряли между ужасным драйвером и Windows Plug-n-Pray-by-Design.

Возможно, вы захотите выполнить сканирование PCI, чтобы найти оборудование (если ОС видит карту, она появится здесь). Затем вам может понадобиться немного поколдовать с настройкой драйвера, чтобы модуль распознал карту по ее адресу. Если это все еще не работает, попробуйте удалить драйвер e1000 и заменить его драйвером ipge.

Если вы скопируете файл tar.gz на USB-накопитель, вы сможете смонтировать его для передачи файлов. ПИТА, да, но мужское дело, как говорится.

JustSayin

Этот человек является проверенным специалистом

ОП ПростоСайин

Я поставил CentOS 6.6 на коробку, она загрузила минимальную установку и обнаружила эту сетевую карту. DHCP выдал IP-адрес, и я в сети, ура!

В одном сообщении о CentOS7, которое я наткнулся, говорилось, что они отказались от поддержки старых сетевых карт?

Sal8273

Этот человек является проверенным специалистом

Сал8273

JustSayin написал:

Я поставил CentOS 6.6 на коробку, она загрузила минимальную установку и обнаружила эту сетевую карту. DHCP выдал IP-адрес, и я в сети, ура!

В одном сообщении, которое я наткнулся на CentOS7, говорилось, что они отказались от поддержки старых сетевых карт?

Может быть. Я далек от наркомана CentOS, и я, конечно, не знаю, поддерживается ли этот (или какой-либо конкретный сетевой адаптер) больше, но я могу сказать вам из личного опыта, что этот чипсет - ужас. Еще одна странность этого чипсета заключается в том, что JumboFrames установили mtu на 8170 вместо 9000, как у остальных. Много обручей, но если вы терпеливы, вы обычно можете заставить это работать.

Sal8273

Этот человек является проверенным специалистом

Сал8273

Датировано июнем 2014 г., и похоже, что оно отвечает всем требованиям. Никогда не знаешь, да?

Из любопытства, зачем искать применение старой машине, если в наше время есть виртуализация? Я думаю, вы можете довольно быстро запустить виртуальную машину CentOS 7 на VirtualBox.

У меня дома есть старые машины, и я тоже ненавижу избавляться от них, но мы должны отпустить их, позволить им быть свободными, позволить им присоединиться к своим братьям и сестрам в огромной куче компьютерного мусора в небе.< /p>

JustSayin

Этот человек является проверенным специалистом

ОП ПростоСайин

Спасибо, этот номер отмечен как забронированный.

JustSayin

Этот человек является проверенным специалистом

ОП ПростоСайин

Grendel_Sam написал:

Из любопытства, зачем находить применение старой машине, когда в наше время есть виртуализация? Я думаю, вы можете довольно быстро запустить виртуальную машину CentOS 7 в VirtualBox.

У меня дома есть старые машины, и я тоже ненавижу избавляться от них, но мы должны отпустить их, пусть они будут бесплатно, пусть присоединятся к своим братьям и сестрам на огромной куче компьютерного мусора в небе.

Я использовал виртуальную коробку, и да, она отлично работает. Для этого случая мне нужен автономный ПК, если мой грандиозный план сработает, это будет веб-сервер с postgres, чтобы я мог поиграть. на другом ПК в моем домашнем офисе уже запущены всевозможные программы, и он действительно не может работать с виртуальным ящиком прямо сейчас. Кроме того, если мне нужно выключить основной компьютер, мне может понадобиться запустить второй.

Полный план включает в себя немного больше оборудования и хост vmware, но пока мне приходится жить с тем, что у меня уже есть.

Sal8273

Этот человек является проверенным специалистом

Сал8273

Grendel_Sam написал:

Из любопытства, зачем находить применение старой машине, когда в наше время есть виртуализация? Я думаю, вы можете довольно быстро запустить виртуальную машину CentOS 7 в VirtualBox.

У меня дома есть старые машины, и я тоже ненавижу избавляться от них, но мы должны отпустить их, пусть они будут бесплатно, пусть присоединятся к своим братьям и сестрам на огромной куче компьютерного мусора в небе.

У меня много всего этого дома. Правило таково: самая стабильная, надежная и безопасная ОС отправляется на металл. Как правило, это заканчивается на «x» вместо «s», так что. Кроме того, если вы добавите Linux на консоль, вы можете установить VirtualBox (который прост в использовании, очень стабилен и более совершенен, чем VMWare или Xen) и запустить что-то еще. Определенно плюс в том, что планируется запустить какую-то «инфраструктуру», более постоянную, чем обычная рабочая станция.

essjae

Этот человек является проверенным специалистом

эсся

Grendel_Sam написал:

Из любопытства, зачем находить применение старой машине, когда в наше время есть виртуализация? Я думаю, вы можете довольно быстро запустить виртуальную машину CentOS 7 в VirtualBox.

У меня дома есть старые машины, и я тоже ненавижу избавляться от них, но мы должны отпустить их, пусть они будут бесплатно, пусть присоединятся к своим братьям и сестрам на огромной куче компьютерного мусора в небе.

У меня много всего этого дома. Правило таково: самая стабильная, надежная и безопасная ОС отправляется на металл. Как правило, это заканчивается на «x» вместо «s», так что. Кроме того, если вы добавите Linux на консоль, вы можете установить VirtualBox (который прост в использовании, очень стабилен и более совершенен, чем VMWare или Xen) и запустить что-то еще. Определенно плюс в том, что планируется запустить какую-то «инфраструктуру», более постоянную, чем обычная рабочая станция.

Извините, но VirtualBox не более развит, чем VMware или Xen.

Текущий VirtualBox был выпущен примерно в 2007 году. Xen существует с 2003 года. VMware предлагает продукты для виртуализации с 1999 года.

Даже если вы вернетесь к историческому предку VirtualBox, порту Innotek OS/2 для Connectix Virtual PC, вы все равно будете смотреть на 2001-2002 годы, а это совершенно другая кодовая база, чем текущий VirtualBox.

Sal8273

Этот человек является проверенным специалистом

Сал8273

smjain написал:

Извините, но VirtualBox не более зрелый, чем VMware или Xen.

Текущий VirtualBox был выпущен примерно в 2007 году. Xen существует с 2003 года. У VMware были продукты для виртуализации 1999 года.

Даже если вы вернетесь к историческому родителю VirtualBox, порту OS/2 от Innotek для Connectix Virtual PC, вы все еще смотрите на 2001–2002 годы, а это совершенно другая кодовая база, чем текущий VirtualBox.

Извините, но VirtualBox — это бесплатная версия с открытым исходным кодом технологии, которая была проприетарным приложением с закрытым исходным кодом, и я знаю, что она была доступна до 1999 года, потому что я использовал ее. Когда-то вы брали группу серверов, создавали сетку со всеми своими ресурсами, добавляли к ней контейнер и запускали свое приложение внутри контейнера. Пока у вас было общее хранилище, все было в порядке. Поскольку контейнер не был привязан к конкретному серверу, такое расположение было квазиотказоустойчивым, но все же далеким от сегодняшних технологий высокой доступности. Хм. Звучит очень похоже на что-то другое, не так ли?

Может ли ОС Linux определить, какому физическому порту на многоинтерфейсной сетевой карте соответствует активное устройство Ethernet в ОС Linux?

Ответ

Нет прямого или гарантированного способа сделать это через ОС Linux, так как это может зависеть от аппаратного и микропрограммного обеспечения сервера и сетевой карты, однако существует несколько различных способов определить, какое устройство Ethernet, настроенное в ОС, соответствует к какому сетевому адаптеру или порту сетевой карты с несколькими интерфейсами.

Способ 1: если у вас есть только удаленный доступ к серверу

Если модуль управления сервера (например, модуль SUN ilom, HP ilo или Dell DRAC) показывает MAC-адреса для каждого физического сетевого интерфейса, настроенного на сервере, вы можете проверить и сравнить с MAC-адресом, настроенным для каждого сетевой интерфейс в ОС Linux.

Шаг 1. Запишите MAC-адреса, указанные для каждого физического интерфейса в модуле управления сервером.

Шаг 2. Проверьте вывод следующей команды:

затем проверьте строку «ether» на наличие mac-адреса, а затем найдите соответствующий mac-адрес из шага 1. Пример:

Шаг 3. Либо выполните следующую команду на сетевом интерфейсе:

Пример с eth0:

Способ 2. Если у вас есть физический доступ к серверу

Если у вас есть физический доступ к серверу и если физические сетевые интерфейсы освещают ситуацию с сервером, можно использовать команду ethtool, чтобы определить, какой порт на карте соответствует сетевому устройству, настроенному в ОС. .

Шаг 1. Выполните следующую команду, и на физическом сетевом интерфейсе, используемом eth0, должен начать мигать индикатор:

Шаг 2. Если описанное выше не поддерживается и у вас есть период обслуживания, выполните следующие действия:

a) отсоединяйте кабели по одному и проверяйте выходные данные ethtool, чтобы увидеть, не прервалась ли связь на каждом устройстве после отключения кабеля.

Настройки для eth0:

Это показывает, что канал для eth0 прервался, когда кабель был вытащен из определенного порта.

В этой главе вы узнаете, как работать с сетью и управлять ею.

Цели: Dans ce chapitre, vous apprendrez à:

Настройте рабочую станцию ​​для использования DHCP;
Настройте рабочую станцию ​​для использования статической конфигурации;
Настройте рабочую станцию ​​для использования шлюза;
Настройте рабочую станцию ​​для использования DNS-серверов;
Устранение неполадок в сети рабочей станции.

сеть, linux, ip

Знания:
Сложность:

Время лекции: 30 минут

Общие сведения¶

Для иллюстрации этой главы мы будем использовать следующую архитектуру.

Иллюстрация нашей сетевой архитектуры

Это позволит нам рассмотреть:

  • интеграция в ЛВС (локальную сеть);
  • настройка шлюза для доступа к удаленному серверу;
  • настройка DNS-сервера и реализация разрешения имен.
  • имя машины;
  • IP-адрес;
  • маска подсети.
  • компьютер-рокки ;
  • 192.168.1.10 ;
  • 255.255.255.0 .

Все чаще используется обозначение CIDR: 192.168.1.10/24

IP-адреса используются для правильной маршрутизации сообщений (пакетов). Они разделены на две части:

  • фиксированная часть, идентифицирующая сеть;
  • идентификатор хоста в сети.

Маска подсети представляет собой набор из 4 байтов, предназначенных для изоляции:

  • сетевой адрес (NetID или SubnetID), выполнив побитовое логическое И между IP-адресом и маской;
  • адрес хоста (HostID), выполнив побитовое логическое И между IP-адресом и дополнением маски.

В сети также существуют определенные адреса, которые необходимо идентифицировать. Первый адрес диапазона, а также последний имеют определенную роль:

Первый адрес диапазона — это сетевой адрес. Он используется для идентификации сетей и маршрутизации информации из одной сети в другую.

Последний адрес диапазона — это широковещательный адрес. Он используется для передачи информации всем компьютерам в сети.

MAC-адрес/IP-адрес¶

MAC-адрес — это физический идентификатор, записанный на заводе в устройство. Иногда его называют аппаратным адресом. Он состоит из 6 байтов, часто представленных в шестнадцатеричной форме (например, 5E:FF:56:A2:AF:15). Он состоит из: 3 байтов идентификатора производителя и 3 байтов серийного номера.

<р>. abstract Предупреждение Это последнее утверждение в настоящее время немного менее верно для виртуализации. Существуют также программные решения для смены MAC-адреса.

Адрес интернет-протокола (IP) — это идентификационный номер, постоянно или временно присваиваемый каждому устройству, подключенному к компьютерной сети с использованием интернет-протокола. Одна часть определяет сетевой адрес (NetID или SubnetID в зависимости от случая), другая часть определяет адрес хоста в сети (HostID). Относительный размер каждой части зависит от сетевой (под)маски.

Адрес IPv4 определяет адрес из 4 байтов. Количество доступных адресов близко к насыщению, поэтому был создан новый стандарт, IPv6, определенный на 16 байт.

IPv6 часто представлен 8 группами по 2 байта, разделенными двоеточием.Незначащие нули можно опустить, одну или несколько групп из 4 последовательных нулей можно заменить двойным двоеточием.

Маски подсети имеют длину от 0 до 128 бит. (например, 21ac:0000:0000:0611:21e0:00ba:321b:54da/64 или 21ac::611:21e0321b:54da/64)

В веб-адресе или URL-адресе (унифицированный указатель ресурсов) за IP-адресом может следовать двоеточие и адрес порта (который указывает на приложение, которому предназначены данные). Кроме того, чтобы избежать путаницы в URL-адресе, адрес IPv6 записывается в квадратных скобках [ ], двоеточие, адрес порта.

IP- и MAC-адреса должны быть уникальными в сети!

DNS-домен¶

Клиентские компьютеры могут быть частью домена DNS (система доменных имен, например, mydomain.lan ).

Полное доменное имя компьютера (FQDN) становится pc-rocky.mydomain.lan .

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

Чтобы компьютер был частью домена DNS, ему должен быть присвоен DNS-суффикс (здесь mydomain.lan ), а также серверы, к которым он может запрашивать.

Напоминание о модели OSI¶

<р>. Аннотация Примечание «Вспомогательное средство для запоминания» Чтобы запомнить порядок слоев модели OSI, запомните следующее предложение: «Пожалуйста, не прикасайтесь к домашнему аллигатору Стивена».

Уровень 1 (физический) поддерживает передачу по каналу связи (Wi-Fi, оптоволокно, кабель RJ и т. д.). Единица: бит.

Уровень 2 (канал передачи данных) поддерживает топологию сети (маркерное кольцо, звезда, шина и т. д.), разделение данных и ошибки при передаче. Единица: кадр.

Уровень 3 (сеть) поддерживает сквозную передачу данных (IP-маршрутизация = шлюз). Единица: пакет.

Уровень 4 (транспортный) поддерживает шифрование типа службы (с подключением или без подключения) и управление потоком. Единица: сегмент или дейтаграмма.

Уровень 5 (сеанс) поддерживает связь между двумя компьютерами.

Уровень 6 (представление) представляет собой область, которая не зависит от данных на уровне приложения. По сути, этот уровень преобразует сетевой формат в формат приложения или из формата приложения в сетевой формат.

Именование интерфейсов¶

lo — это интерфейс обратной связи, который позволяет программам TCP/IP взаимодействовать друг с другом, не покидая локальный компьютер. Это позволяет проверить, правильно ли работает сетевой модуль системы, а также позволяет пропинговать локальный хост. Все пакеты, входящие через localhost, уходят через localhost. Полученные пакеты — это отправленные пакеты.

Ядро Linux присваивает именам интерфейсов определенный префикс в зависимости от типа. Традиционно все интерфейсы Ethernet, например, начинались с eth. За префиксом следовало число, первым из которых был 0 (eth0, eth1, eth2. ). Wi-Fi-интерфейсам был присвоен префикс wlan.

В дистрибутивах Rocky8 Linux systemd будет называть интерфейсы с новой следующей политикой, где "X" представляет число:

  • enoX: встроенные устройства
  • ensX: разъем PCI Express для горячей замены
  • enpXsX : физическое/географическое расположение разъема оборудования
  • .

Использование команды ip¶

Забудьте о старой команде ifconfig! Подумай об IP!

<р>. abstract Примечание Комментарий для администраторов старых систем Linux:

Имя хоста¶

Команда hostname отображает или задает имя хоста системы

Опция Описание
-f Показать FQDN
-i Показать системный IP-адрес
<р>. abstract Совет Эта команда используется различными сетевыми программами для идентификации машины.

Чтобы назначить имя хоста, можно использовать команду hostname, но изменения не сохранятся при следующей загрузке. Команда без аргументов отображает имя хоста.

Чтобы задать имя хоста, необходимо изменить файл /etc/sysconfig/network:

Сценарий загрузки RedHat также обращается к файлу /etc/hosts для разрешения имени хоста системы.

При загрузке системы Linux оценивает значение HOSTNAME в файле /etc/sysconfig/network.

Затем он использует файл /etc/hosts для оценки основного IP-адреса сервера и имени его хоста. Он выводит доменное имя DNS.

Поэтому крайне важно заполнить эти два файла перед любой настройкой сетевых служб.

<р>. abstract Совет Чтобы узнать, правильно ли выполнена эта конфигурация, команды hostname и hostname -f должны отвечать ожидаемыми значениями.

/etc/hosts файл¶

Файл /etc/hosts представляет собой статическую таблицу сопоставления имен хостов в следующем формате:

Пример файла /etc/hosts:

Файл /etc/hosts по-прежнему используется системой, особенно во время загрузки, когда определяется полное доменное имя системы.

<р>. abstract Совет RedHat рекомендует заполнить хотя бы одну строку, содержащую имя системы.

Если служба DNS (служба имен доменов D) отсутствует, вы должны указать все имена в файле hosts для каждой из ваших машин.

Файл /etc/hosts содержит по одной строке для каждой записи с IP-адресом, полным доменным именем, именем хоста (в указанном порядке) и набором псевдонимов (alias1 alias2 . ). Псевдоним является опцией.

Файл /etc/nsswitch.conf¶

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

Файл /etc/nsswitch.conf используется для настройки баз данных службы имен.

В этом случае Linux сначала будет искать совпадение имени хоста ( hosts: строка) в файле /etc/hosts ( значение files ), прежде чем запрашивать DNS ( значение dns )! Это поведение можно просто изменить, отредактировав файл /etc/nsswitch.conf.

Конечно, можно представить запрос к LDAP, MySQL или другому серверу, настроив службу имен для ответа на системные запросы для хостов, пользователей, групп и т. д.

Разрешение службы имен можно проверить с помощью команды getent, которую мы рассмотрим позже в этом курсе.

Файл /etc/resolv.conf¶

Файл /etc/resolv.conf содержит конфигурацию разрешения имен DNS.

<р>. abstract Подсказка Этот файл является историческим. Он больше не заполняется напрямую!

В новых поколениях дистрибутивов служба NetworkManager обычно интегрирована. Этот сервис позволяет более эффективно управлять конфигурацией в графическом или консольном режиме.

Это позволяет добавлять DNS-серверы из файла конфигурации сетевого интерфейса. Затем он динамически заполняет файл /etc/resolv.conf, который никогда не следует редактировать напрямую, иначе изменения конфигурации будут потеряны при следующем запуске сетевой службы.

ip-команда¶

Команда ip из пакета iproute2 позволяет настроить интерфейс и его таблицу маршрутизации.

Отображение информации об интерфейсах:

Отображение информации об интерфейсе:

Отобразить таблицу ARP:

Все исторические команды управления сетью сгруппированы под командой ip, которая хорошо известна сетевым администраторам.

Конфигурация DHCP¶

Протокол DHCP (Dynamic Host CControl Protocol) позволяет получить полную конфигурацию IP через сеть. Это режим конфигурации сетевого интерфейса по умолчанию в Rocky Linux, что объясняет, почему система, подключенная к сети интернет-маршрутизатора, может работать без дополнительной настройки.

Настройка интерфейсов под Rocky Linux выполняется в папке /etc/sysconfig/network-scripts/.

Для каждого интерфейса Ethernet файл ifcfg-ethX позволяет настроить соответствующий интерфейс.

  • Отправлять DHCP-запрос при запуске интерфейса:
  • Укажите MAC-адрес (необязательно, но полезно при наличии нескольких интерфейсов):
<р>. abstract Подсказка Если NetworkManager установлен, изменения учитываются автоматически. В противном случае необходимо перезапустить сетевую службу.

Статическая конфигурация¶

Для статической конфигурации требуется как минимум:

  • Здесь мы заменяем "dhcp" на "none", что соответствует статической конфигурации:
<р>. abstract Предупреждение Вы должны использовать СЕТЕВУЮ МАСКУ ИЛИ ПРЕФИКС, а не оба!

Маршрутизация¶

Сетевая архитектура со шлюзом

Команда ip route:

Полезно знать, как читать таблицу маршрутизации, особенно в среде с несколькими сетевыми интерфейсами.

В показанном примере сеть 192.168.1.0/24 доступна напрямую с устройства eth0, поэтому показатель равен 1 (не проходит через маршрутизатор).

Все остальные сети, кроме предыдущей, будут доступны снова с устройства eth0, но на этот раз пакеты будут адресованы шлюзу 192.168.1.254. Протокол маршрутизации является статическим протоколом (хотя в Linux можно добавить маршрут к динамически назначаемому адресу).

Разрешение имени¶

Система должна решить:

В этом случае для доступа к DNS необходимо пройти через шлюз.

Файл был обновлен NetworkManager.

Устранение неполадок¶

Команда ping отправляет дейтаграммы на другой компьютер и ожидает ответа.

Это основная команда для тестирования сети, поскольку она проверяет подключение между вашим сетевым интерфейсом и другим.

Синтаксис команды ping:

Опция -c (счетчик) позволяет остановить команду после обратного отсчета в секундах.

1) Проверить программный уровень TCP/IP

«Эхо-тестирование» внутреннего цикла не обнаруживает сбой оборудования на сетевом интерфейсе. Он просто определяет, правильна ли конфигурация программного обеспечения IP.

2) Проверьте сетевую карту

Чтобы определить, что сетевая карта работает, мы должны пропинговать ее IP-адрес. Сетевая карта, если сетевой кабель не подключен, должна находиться в "нерабочем" состоянии.

Если проверка связи не работает, сначала проверьте сетевой кабель к сетевому коммутатору и заново соберите интерфейс (см. команду if up), затем проверьте сам интерфейс.

3) Проверить возможность подключения шлюза

4) Проверить возможность подключения удаленного сервера

5) Проверка службы DNS

команда копать¶

Команда dig используется для запроса DNS-сервера.

Синтаксис команды dig:

Команда dig используется для запроса DNS-серверов. По умолчанию он очень подробный, но это поведение можно изменить с помощью параметра +short.

Также можно указать тип записи DNS для разрешения, например тип MX, чтобы получить информацию о почтовых обменниках для домена.

команда getent¶

Команда getent (получить запись) используется для получения записи NSSwitch ( hosts + dns )

Синтаксис команды getent:

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

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

команда ipcalc¶

Команда ipcalc (расчет ip) используется для расчета сетевого или широковещательного адреса по IP-адресу и маске.

Синтаксис команды ipcalc:

<р>. abstract Совет. За этой интересной командой следует перенаправление для автоматического заполнения файлов конфигурации ваших интерфейсов:

Опция Описание
-b Отображает широковещательный адрес.
-n Отображает сетевой адрес и маску.

ipcalc – это простой способ расчета информации об IP-адресе хоста. Различные параметры указывают, какую информацию ipcalc должен отображать в стандартном выводе. Можно указать несколько вариантов. Должен быть указан IP-адрес для работы. Для большинства операций также требуется маска сети или префикс CIDR.

< td>-b < td>--netmask
Короткий вариант Длинный вариант Описание
--broadcast Отображает широковещательный адрес данного IP-адреса и маску сети.
- h --hostname Отображает имя хоста IP-адреса, предоставленного через DNS.
-n Рассчитывает маску сети для заданного IP-адреса. Предполагается, что IP-адрес является частью полной сети класса A, B или C. Многие сети не используют сетевые маски по умолчанию, и в этом случае будет возвращено неправильное неверное значение.
-p --prefix Указывает префикс маски/IP-адреса.
-n --network Указывает сетевой адрес заданного IP-адреса и маски.
-s --silent Никогда не отображать никаких сообщений об ошибках.

команда ss¶

Команда ss (статистика сокетов) отображает прослушиваемые порты в сети.

Синтаксис команды ss:

Команды ss и netstat (следующие) будут очень важны для остальной части вашей жизни в Linux.

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

команда netstat¶

<р>. abstract Предупреждение Команда netstat устарела и больше не устанавливается по умолчанию в Rocky Linux. Вы все еще можете найти некоторые версии Linux, в которых он установлен, но лучше перейти к использованию ss для всего, для чего вы использовали бы netstat.

Команда netstat (сетевая статистика) отображает прослушиваемые порты в сети.

Синтаксис команды netstat:

Конфликты IP- или MAC-адресов¶

Неправильная конфигурация может привести к тому, что несколько интерфейсов будут использовать один и тот же IP-адрес. Это может произойти, если в сети есть несколько DHCP-серверов или если один и тот же IP-адрес назначается вручную несколько раз.

Когда сеть работает со сбоями и причиной может быть конфликт IP-адресов, можно использовать программное обеспечение arp-scan (требуется репозиторий EPEL):

<р>. abstract Совет Как видно из приведенного выше примера, конфликты MAC-адресов также возможны! Эти проблемы вызваны технологиями виртуализации и копированием виртуальных машин.

Горячая настройка¶

Команда ip может добавить IP-адрес к интерфейсу в горячем режиме

Команда ip позволяет активировать или деактивировать интерфейс:

Команда ip используется для добавления маршрута:

Вкратце¶

В этой главе используются следующие файлы:

Синтез файлов реализован в сетевой части

Полная конфигурация интерфейса может быть такой (файл /etc/sysconfig/network-scripts/ifcfg-eth0 ):

Читайте также: