Какой командой вы можете изменить настройки IP сетевого интерфейса в Linux

Обновлено: 21.11.2024

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

Интерфейсы Ethernet

Определение интерфейсов Ethernet

Чтобы быстро определить все доступные интерфейсы Ethernet, вы можете использовать команду ip, как показано ниже.

Еще одним приложением, которое может помочь определить все сетевые интерфейсы, доступные вашей системе, является команда lshw. Эта команда предоставляет более подробную информацию об аппаратных возможностях конкретных адаптеров. В приведенном ниже примере lshw показывает один интерфейс Ethernet с логическим именем eth0 вместе с информацией о шине, сведениями о драйвере и всеми поддерживаемыми возможностями.

Логические имена интерфейса Ethernet

Логические имена интерфейсов также можно настроить с помощью конфигурации сетевого плана. Если вы хотите контролировать, какой интерфейс получает конкретное логическое имя, используйте клавиши match и set-name. Ключ совпадения используется для поиска адаптера на основе некоторых критериев, таких как MAC-адрес, драйвер и т. д. Затем можно использовать ключ set-name для изменения устройства на желаемое логическое имя.

Настройки интерфейса Ethernet

ethtool – это программа, которая отображает и изменяет параметры карты Ethernet, такие как автосогласование, скорость порта, дуплексный режим и Wake-on-LAN. Ниже приведен пример просмотра поддерживаемых функций и настроенных параметров интерфейса Ethernet.

IP-адресация

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

Временное назначение IP-адреса

Для временной настройки сети вы можете использовать команду ip, которая также присутствует в большинстве других операционных систем GNU/Linux. Команда ip позволяет настроить параметры, которые вступают в силу немедленно, однако они не являются постоянными и будут потеряны после перезагрузки.

Чтобы временно настроить IP-адрес, вы можете использовать команду ip следующим образом. Измените IP-адрес и маску подсети в соответствии с требованиями вашей сети.

Затем IP-адрес можно использовать для установки связи вверх или вниз.

Чтобы проверить конфигурацию IP-адреса enp0s25, вы можете использовать команду ip следующим образом.

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

Чтобы проверить конфигурацию шлюза по умолчанию, вы можете использовать команду ip следующим образом.

Если вам требуется DNS для временной конфигурации сети, вы можете добавить IP-адреса DNS-серверов в файл /etc/resolv.conf . Как правило, непосредственное редактирование /etc/resolv.conf не рекомендуется, но это временная и непостоянная конфигурация. В приведенном ниже примере показано, как ввести два DNS-сервера в /etc/resolv.conf, которые следует изменить на серверы, подходящие для вашей сети. Более подробное описание правильного постоянного способа настройки DNS-клиента приведено в следующем разделе.

Если вам больше не нужна эта конфигурация и вы хотите удалить всю IP-конфигурацию из интерфейса, вы можете использовать команду ip с параметром flush, как показано ниже.

Примечание

Сброс конфигурации IP с помощью команды ip не очищает содержимое /etc/resolv.conf . Вы должны удалить или изменить эти записи вручную или перезагрузиться, что также должно привести к перезаписи /etc/resolv.conf , который является символической ссылкой на /run/systemd/resolve/stub-resolv.conf .

Динамическое назначение IP-адреса (DHCP-клиент)

Чтобы настроить сервер на использование DHCP для динамического назначения адресов, создайте конфигурацию netplan в файле /etc/netplan/99_config.yaml . В приведенном ниже примере предполагается, что вы настраиваете свой первый интерфейс Ethernet, обозначенный как enp3s0.

Затем конфигурацию можно применить с помощью команды netplan.

Назначение статического IP-адреса

Чтобы настроить систему на использование статического назначения адресов, создайте конфигурацию netplan в файле /etc/netplan/99_config.yaml . В приведенном ниже примере предполагается, что вы настраиваете свой первый интерфейс Ethernet, обозначенный как eth0. Измените значения addresses, gateway4 и nameservers в соответствии с требованиями вашей сети.

Затем конфигурацию можно применить с помощью команды netplan.

Интерфейс обратной связи

Интерфейс обратной связи идентифицируется системой как lo и имеет IP-адрес по умолчанию 127.0.0.1. Его можно просмотреть с помощью команды ip.

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

Разрешение имен применительно к IP-сетям — это процесс сопоставления IP-адресов с именами хостов, упрощающий идентификацию ресурсов в сети.В следующем разделе объясняется, как правильно настроить систему для разрешения имен с помощью DNS и статических записей имен хостов.

Конфигурация DNS-клиента

Традиционно файл /etc/resolv.conf был статическим файлом конфигурации, который редко требовалось изменять или изменять автоматически с помощью клиентских ловушек DCHP. Systemd-resolve обрабатывает конфигурацию сервера имен, и с ним следует взаимодействовать с помощью команды systemd-resolve. Netplan настраивает systemd-resolved для создания списка серверов имен и доменов для помещения в /etc/resolv.conf , который является символической ссылкой:

Чтобы настроить преобразователь, добавьте IP-адреса серверов имен, подходящие для вашей сети, в файл конфигурации netplan. Вы также можете добавить необязательные списки поиска суффиксов DNS, чтобы они соответствовали именам доменов в вашей сети. Результирующий файл может выглядеть следующим образом:

Если у вас есть несколько доменов, в которых вы хотите выполнить поиск, ваша конфигурация может выглядеть следующим образом:

Если вы попытаетесь пропинговать хост с именем server1, ваша система автоматически запросит у DNS полное доменное имя (FQDN) в следующем порядке:

Если совпадений не найдено, DNS-сервер предоставит результат не найдено, и DNS-запрос завершится ошибкой.

Статические имена хостов

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

Ниже приведен пример файла hosts, в котором несколько локальных серверов идентифицируются простыми именами хостов, псевдонимами и эквивалентными им полными доменными именами (FQDN).

Примечание

В приведенном выше примере обратите внимание, что каждому из серверов были присвоены псевдонимы в дополнение к их собственным именам и полным доменным именам. Server1 сопоставлен с именем vpn, server2 называется mail, server3 как www и server4 как файл.

Конфигурация коммутатора службы имен

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

files сначала пытается разрешить статические имена хостов, расположенные в /etc/hosts .

mdns4_minimal пытается разрешить имя с помощью многоадресной рассылки DNS.

[NOTFOUND=return] означает, что любой ответ notfound предыдущего процесса mdns4_minimal следует рассматривать как авторитетный и что система не должна пытаться продолжать поиск ответ.

dns представляет собой устаревший одноадресный DNS-запрос.

mdns4 представляет многоадресный DNS-запрос.

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

Связь

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

Настройте мост, изменив конфигурацию сетевого плана в /etc/netplan/:

Примечание

Введите соответствующие значения для вашего физического интерфейса и сети.

Теперь примените конфигурацию, чтобы включить мост:

Теперь новый интерфейс моста должен быть запущен и работать. brctl предоставляет полезную информацию о состоянии моста, определяет, какие интерфейсы являются частью моста и т. д. Для получения дополнительной информации см. man brctl.

networkd-dispatcher для pre-up, post-up и т. д. скриптов ловушек

Пользователи предыдущего ifupdown могут быть знакомы с использованием скриптов-ловушек (например, pre-up, post-up и т. д.) в своих файлах интерфейсов. Конфигурация Netplan в настоящее время не поддерживает сценарии подключения в своем определении конфигурации.

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

Примечание. Если не на Ubuntu Server, а на рабочем столе, сеть управляется Network Manager — в этом случае вместо этого вам понадобятся сценарии NM Dispatcher.

В FAQ по Netplan есть отличная таблица, в которой сравниваются тайминги событий между ifupdown / systemd-networkd / network-manager

Важно помнить, что эти хуки выполняются асинхронно; то есть они не будут блокировать переход в другое состояние.

В FAQ Netplan также есть пример преобразования старого хука ifupdown в networkd-dispatcher .

Ресурсы

На странице Ubuntu Wiki Network есть ссылки на статьи, посвященные более сложной настройке сети.

На веб-сайте netplan есть дополнительные примеры и документация.

Справочная страница netplan содержит дополнительную информацию о netplan.

Справочная страница systemd-resolved содержит дополнительную информацию о сервисе systemd-resolved.

ifconfig, сокращенно «конфигурация интерфейса», утилита для системного/сетевого администрирования в операционных системах Unix/Linux для настройки, управления и запроса параметров сетевого интерфейса через интерфейс командной строки или в сценариях конфигурации системы.

Команда «ifconfig» используется для отображения информации о текущей конфигурации сети, настройки IP-адреса, сетевой маски или широковещательного адреса для сетевого интерфейса, создания псевдонима для сетевого интерфейса, настройки аппаратного адреса, а также включения или отключения сетевые интерфейсы.

В этой статье рассматриваются «15 полезных команд «ifconfig»» с их практическими примерами, которые могут быть очень полезны для управления и настройки сетевых интерфейсов в системах Linux.

Обновление: сетевая команда ifconfig устарела и заменена командой ip (изучите 10 примеров команды IP) в большинстве дистрибутивов Linux.

1. Просмотреть все настройки сетевого интерфейса

Команда «ifconfig» без аргументов отобразит все сведения об активных интерфейсах. Команда ifconfig также используется для проверки назначенного IP-адреса сервера.

2. Показать информацию обо всех сетевых интерфейсах

Следующая команда ifconfig с аргументом -a отобразит информацию обо всех активных или неактивных сетевых интерфейсах на сервере. Он отображает результаты для eth0, lo, sit0 и tun0.

3. Просмотр сетевых настроек определенного интерфейса

Использование имени интерфейса (eth0) в качестве аргумента команды «ifconfig» отобразит сведения о конкретном сетевом интерфейсе.

4. Как включить сетевой интерфейс

Флаг «up» или «ifup» с именем интерфейса (eth0) активирует сетевой интерфейс, если он не находится в неактивном состоянии, и позволяет отправлять и получать информацию. Например, «ifconfig eth0 up» или «ifup eth0» активирует интерфейс eth0.

5. Как отключить сетевой интерфейс

Флаг «down» или «ifdown» с именем интерфейса (eth0) деактивирует указанный сетевой интерфейс. Например, команда «ifconfig eth0 down» или «ifdown eth0» деактивирует интерфейс eth0, если он находится в неактивном состоянии.

6. Как назначить IP-адрес сетевому интерфейсу

Чтобы назначить IP-адрес определенному интерфейсу, используйте следующую команду с именем интерфейса (eth0) и IP-адресом, которые вы хотите установить. Например, «ifconfig eth0 172.16.25.125» установит IP-адрес интерфейса eth0.

7. Как назначить сетевую маску сетевому интерфейсу

Использование команды «ifconfig» с аргументом «маска сети» и именем интерфейса (eth0) позволяет определить маску сети для данного интерфейса. Например, «ifconfig eth0 netmask 255.255.255.224» установит маску сети для заданного интерфейса eth0.

8. Как назначить трансляцию сетевому интерфейсу

Использование аргумента «broadcast» с именем интерфейса установит широковещательный адрес для данного интерфейса. Например, команда «ifconfig eth0 Broadcast 172.16.25.63» устанавливает широковещательный адрес на интерфейс eth0.

9. Как назначить IP, сетевую маску и широковещательную рассылку сетевому интерфейсу

Чтобы одновременно назначить IP-адрес, сетевой адрес и широковещательный адрес, используйте команду «ifconfig» со всеми аргументами, как указано ниже.

10. Как изменить MTU для сетевого интерфейса

Аргумент «mtu» устанавливает максимальную единицу передачи для интерфейса. MTU позволяет установить предельный размер пакетов, передаваемых через интерфейс. MTU может обрабатывать максимальное количество октетов интерфейса за одну транзакцию.

Например, «ifconfig eth0 mtu 1000» установит максимальную единицу передачи для заданного набора (т. е. 1000). Не все сетевые интерфейсы поддерживают настройки MTU.

11. Как включить беспорядочный режим

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

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

12. Как отключить беспорядочный режим

Чтобы отключить неразборчивый режим, используйте переключатель "-promisc", который возвращает сетевой интерфейс в обычный режим.

13. Как добавить новый псевдоним в сетевой интерфейс

Утилита ifconfig позволяет настраивать дополнительные сетевые интерфейсы с помощью функции псевдонимов. Чтобы добавить псевдоним сетевого интерфейса eth0, используйте следующую команду. Обратите внимание, что псевдоним сетевого адреса находится в той же маске подсети. Например, если IP-адрес вашей сети eth0 — 172.16.25.125, то псевдоним IP-адреса должен быть 172.16.25.127.

Затем проверьте вновь созданный псевдоним адреса сетевого интерфейса с помощью команды «ifconfig eth0:0».

14. Как удалить псевдоним сетевого интерфейса

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

15. Как изменить MAC-адрес сетевого интерфейса

Чтобы изменить MAC-адрес (Media Access Control) сетевого интерфейса eth0, используйте следующую команду с аргументом «hw ether». Например, см. ниже.

Это наиболее полезные команды для настройки сетевых интерфейсов в Linux. Для получения дополнительной информации и использования команды ifconfig используйте справочные страницы, такие как «man ifconfig» в терминале. Ознакомьтесь с некоторыми другими сетевыми утилитами ниже.

Другие сетевые утилиты

    – клиент командной строки, который используется для управления NetworkManager и предоставления информации о сети. — это инструмент захвата и анализа пакетов командной строки для мониторинга сетевого трафика. — это инструмент сетевого мониторинга с открытым исходным кодом, который отслеживает входящий и исходящий трафик сетевых пакетов. — инструмент, который печатает информацию о сетевых сокетах в системе Linux. — это анализатор сетевых протоколов с открытым исходным кодом, который используется для устранения неполадок, связанных с сетью. — это веб-приложение для мониторинга сети и системы, которое используется для отображения результатов в виде графиков с помощью rrdtool. – это полноценное веб-приложение для мониторинга и построения графиков для мониторинга сети.

Чтобы получить дополнительную информацию и параметры для любого из вышеперечисленных инструментов, просмотрите справочные страницы, введя «man toolname» в командной строке. Например, чтобы получить информацию для инструмента «netstat», используйте команду «man netstat».

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

Если вы цените то, что мы делаем здесь, в TecMint, вам следует подумать о следующем:

TecMint – это самый быстрорастущий и пользующийся наибольшим доверием сайт сообщества, где можно найти любые статьи, руководства и книги по Linux в Интернете. Миллионы людей посещают TecMint! для поиска или просмотра тысяч опубликованных статей, доступных всем БЕСПЛАТНО.

Если вам нравится то, что вы читаете, купите нам кофе (или 2) в знак признательности.

Мы благодарны за вашу бесконечную поддержку.

Похожие записи

26 мыслей о «15 полезных команд ifconfig для настройки сетевого интерфейса в Linux»

На смену ifconfig в основном пришла команда ‘IP’. Также «ss» заменяет «netstat».Возможно, пришло время вернуться к старому лору и внести некоторые изменения ;)

Ребята, команда ifconfig устарела, обновите эту страницу.

Прошу прощения за соленость, я нашел команду.

Почему gw устанавливается с помощью команды ifconfig?

Я вообще не фанат Linux и обычно не разделяю никакого мнения, но содержание всех тем отличное, а также хорошее и лаконичное изложение.

Спасибо за каждое опубликованное руководство, оно действительно очень полезно для обучения.

Пожалуйста, продолжайте.
Еще раз спасибо

Вау!! на самом деле, я никогда не мог ожидать такого типа контента … действительно, вы отлично справляетесь .. и большое спасибо .

Настройка статического IP-адреса может быть затруднена в Linux, поскольку он различается в зависимости от используемого вами дистрибутива и версии. В этом руководстве показано, как настроить статический IP-адрес в самых популярных дистрибутивах Linux.

Убунту

Начиная с версии 17 Ubuntu, сеть настраивается с помощью Netplan, который представляет собой систему конфигурации на основе YAML. Он позволяет настроить IP-адрес, сетевую маску, шлюз и DNS в одном месте.

Начните с редактирования файла вашего интерфейса: в данном случае 01-netcfg.yaml .

vi /etc/netplan/01-netcfg.yaml

Редактирование файла интерфейса

Вы увидите networkd или systemd в месте рендерера; оставьте все как есть.

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

Затем вы можете применить эту конфигурацию, запустив netplan apply .

Конфигурации YAML без ума от отступов, поэтому, если вы получите сообщение об ошибке, сначала проверьте там.

ЦентрОС

Теперь давайте сделаем то же самое в CentOS. Здесь нам нужно будет отредактировать все по-старому, используя sysconfig и network-scripts:

vi /etc/sysconfig/network-scripts/ifcfg-eth0

Вы измените то, что видите, на что-то вроде этого:

Затем вы можете применить эту конфигурацию, запустив:

/etc/init.d/ перезапуск сети

Хорошо, теперь вы сможете работать со статическим IP-адресом в двух наиболее распространенных дистрибутивах Linux. Теперь давайте более подробно рассмотрим новую команду ip.

Использование IP и сетевого плана

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

Показать свой IP с помощью ip

или даже короче и эффективнее…

(обе команды показывают все интерфейсы)

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

Включить или отключить интерфейс с помощью IP

IP-ссылка настроена на eth1

IP-ссылка отключила eth1

Показывать только интерфейсы IPv4

Хорошо, теперь вы должны знать, как установить статический IP-адрес как в Ubuntu, так и в CentOS, а также как получить базовую информацию о сети, используя ip вместо ipconfig .

Написано Даниэлем Мисслером

Дэниэл Мисслер – лидер в области кибербезопасности, писатель и основатель программы обучения без учителя. Он пишет о безопасности, технологиях и обществе, о нем писали в New York Times, WSJ и BBC.

Главное сетевое сообщество для умных и любознательных людей, интересующихся безопасностью, технологиями и обществом.

Каждый понедельник утром я собираю более 20 часов материалов и анализов в краткое изложение и отправляю его примерно 50 000 человек…

Немногие вещи важнее для вашего компьютера, чем хорошее сетевое подключение. Вот три способа настроить интерфейсы, необходимые для этого.

Опубликовано: 10 марта 2020 г. | Джеймс Бригман (Red Hat)

Дополнительные ресурсы по Linux

Примечание редактора. Эта статья была написана, когда Джеймс Бригман был участником программы Red Hat Accelerator.

Почти для любой полезной работы, которую хотелось бы выполнять в системе Linux, требуется сетевой интерфейс. Хотите просматривать веб-страницы, смотреть YouTube, транслировать видео, аудио или файлы? Все делается через сетевой интерфейс. Дистрибутивы Linux на основе RPM, использующие Gnome, имеют несколько основных способов настройки сетевого интерфейса. В этой статье я описываю три способа. Все методы настройки требуют ввода наборов чисел, позволяющих работать сетевому интерфейсу.

IP-адрес: уникальный номер, определяющий точку доступа к вашему сетевому интерфейсу. Оно имеет вид: xxx.xxx.xxx.xxx, где «xxx» — это три или меньше чисел от 0 до 255. Это число может быть чисто выдуманным, но обычно оно принимает форму, которая работает с остальные три числа.Если вы используете домашний маршрутизатор с DHCP, что является типичной конфигурацией по умолчанию, маршрутизатор «назначит» IP-адрес вашему сетевому интерфейсу. Вам вообще не нужно будет вводить номер.

Шлюз: уникальный номер, присвоенный сетевому интерфейсу на «другом конце провода», через который ваш компьютер должен обмениваться данными. Опять же, он имеет общий формат xxx.xxx.xxx.xxx и принимает форму, которая также работает с двумя другими числами. Если вы используете домашний маршрутизатор, ваш домашний маршрутизатор генерирует этот номер, поскольку он является шлюзом, через который вы общаетесь с остальным миром.

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

Обратите внимание, что я не буду вдаваться в как эти числа; Я просто говорю, что они нужны для настройки сетевого интерфейса. Я пропущу это, чтобы вы могли перейти к сути статьи: три способа настройки сетевых интерфейсов. В каждом случае числа, которые я использую, будут реальными числами, применимыми к системе, которую я использовал для написания этой статьи. Я использовал CentOS 8 для создания образов, но все, что вы видите здесь, одинаково в Fedora и Red Hat Enterprise Linux.

Во время установки

Установщик Anaconda предлагает настроить сеть, и вы не сможете завершить установку, не предоставив эти номера установщику. Вот начальный экран с использованием «Имя сети и хоста» в крайнем правом столбце, третий выбор внизу:

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