Как установить ipconfig в ubuntu

Обновлено: 08.07.2024

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

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

Установка

Сейчас все больше дистрибутивов linux отказываются от установки утилиты ifconfig по умолчанию. Поэтому чтобы ее использовать нужно предварительно установить. Это связано с тем что вышла более новая команда "ip" и ifconfig считается устаревшей утилитой, однако пользователи линукс уже привыкли использовать ее и выучили некоторые параметры этой команды.

Чтобы определить установлена ли сетевая утилита достаточно ввести ее название без аргументов.

  1. команда не найдена;
  2. command not found;
  3. not found.

Сама утилита входит в пакет "net-tools", поэтому устанавливать нужно этот пакет.

ВАЖНО! Не надо писать apt "install ifconfig" программа не установится.

Установка на Centos:
yum install net-tools

На Ubuntu:
apt install net-tools

apt install net-tools

Синтаксис

ifconfig ключи interface параметры команда

  • -a. Показать все интерфейсы, включая отключенные.
  • -s. Краткий список interface.
  • up - включить интерфейс.
  • down - выключить интерфейс.
  • hw - установить мак-адрес.
  • netmask - назначить маску подсети.
  • broadcast - установить широковещательный адрес
  • del - удалить ip-адрес.
  • mtu - назначить максимальный размер передаваемого пакета. Для Ethernet по умолчанию 1500.
  • arp - включить протокол arp. По умолчанию включен.
  • -arp - отключить arp.
  • irq - назначить номер прерывания.

Под интерфейсом понимается его название. Например eth0, eth1, eth2, eth3.

Примеры

Запустим команду без параметров.

ifconfig без аргументов

Как видно на скриншоте выше команда без ключей покажет информацию о всех включенных интерфейсах.

  • Eth0 и l0 - название интерфейса.
  • RX- cчетчик приема пакетов.
  • TX - счетчик передачи пакетов.
  • inet addr - IP-адрес четветой версии.
  • inet6 addr - IP-адрес версии шесть.
  • Bcast - широковещательный адрес.
  • UP BROADCAST RUNNING MULTICAST - означает, что интерфейс включен.
  • Mask - маска подсети.
  • collisions:0 - коллизия.
  • txqueuelen:1000 - длина очереди.

Выключим interface lo.

ifconfig lo down

Чтобы включить обратно lo выполним:

Вывести информация о всех интерфейсах, включая отключенные, поможет ключ -a:

Покажем конфигурацию только интерфейса eth0.

Ifconfig eth0

Чтобы назначить сетевому адаптеру IP-адрес 192.168.20.2, необходимо написать название команды, interface и сам IP.

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

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

Установка ifconfig

С появлением утилиты ip, ifconfig была удалена из многих дистрибутивов. Но в большинстве она все еще поставляется по умолчанию. Установка ifconfig в Ubutnu выполняется командой:

sudo apt install net-tools

sudo pacman -S net-tools

Синтаксис ifconfig

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

$ ifconfig опции интерфейс команда параметры адрес

Интерфейс - это сетевой интерфейс, о котором вы хотите посмотреть информацию или изменить его параметры. Все это можно сделать с помощью команд. Давайте рассмотрим основные из них:

  • up - включить интерфейс;
  • down - выключить интерфейс;
  • (-)arp - включить или выключить использование протокола ARP для интерфейса;
  • (-)promisc - включить или выключить неразборчивый режим для интерфейса;
  • (-)allmulti - включить или выключить режим multicast;
  • metric - изменить параметр metric;
  • mtu - изменить максимальный размер пакета;
  • netmask - установить маску сети;
  • add - добавить ip адрес для интерфейса;
  • del - удалить ip адрес интерфейса;
  • media - установить тип внешнего протокола;
  • [-]broadcast - установить широковещательный адрес или отключить эту функцию;
  • hw - установить MAC адрес для интерфейса;
  • txqueuelen - размер очереди интерфейса;

Параметры и адрес необязательны и зависят от используемой команды. А опции влияют на поведение утилиты более глобально. Опций всего несколько, рассмотрим их:

  • -a - применять команду ко всем интерфейсам, например, полезно, если вы хотите отключить или включить все сетевые интерфейсы;
  • -s - вывести краткий список интерфейсов.

Обратите внимание, что для использования утилиты вам понадобятся права суперпользователя. А теперь давайте рассмотрим несколько примеров.

Примеры использования ifconfig

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


Вы можете вывести только информацию про определенный интерфейс, например, про eth0:

sudo ifconfig eth0

Чтобы посмотреть список интерфейсов с минимальной информацией о них используйте опцию -s:

sudo ifconfig -s


С помощью опции -a вы можете вывести все интерфейсы, даже те, которые сейчас отключены:

sudo ifconfig -a


Чтобы включить интерфейс используется команда ifconfig eth0 up:

sudo ifconfig eth0 up


Чтобы отключить - down:

sudo ifconfig eth0 down


Вы можете получить более подробную информацию об ошибках с помощью опции -v:

sudo ifconfig -v


Включить поддержку протокола ARP для интерфейса:

sudo ifconfig eth0 arp


Отключить поддержку ARP:

sudo ifconfig eth0 -arp


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

sudo ifconfig eth0 promisc

А чтобы отключить:

sudo ifconfig eth0 -promisc


С помощью команды netmask вы можете установить маску сети для интерфейса:

sudo ifconfig eth0 netmask 255.255.255.0


Чтобы добавить ip адрес для интерфейса используйте просто укажите его после интерфейса:

sudo ifconfig eth0 192.168.1.11


Команда broadcast позволяет установить широковещательный адрес:

sudo ifconfig eth0 broadcast 192.168.1.255


С помощью команды hw вы можете установить аппаратный адрес или так называемый, MAC адрес. Здесь, кроме самого адреса нужно указать тип сети. Это ether для проводного подключения Ethernet, ax25 (AMPR AX.25), ARCnet и netrom (AMPR NET/ROM). Например:

sudo ifconfig eth0 hw ether BC:AE:C5:BE:8B:B7


С помощью mtu вы можете изменить максимальный размер пакета:

sudo ifconfig eth0 mtu 1000


Это были все основные примеры. В отличие от ip, команда ifconfig не содержит всех необходимых возможностей для полноценной настройки сети и поэтому вам еще придется использовать такие утилиты, как route или arp.

Фактически, настройка ifconfig сети будет выполняться в несколько команд. Допустим, мы будем настраивать интерфейс eth0:

sudo ifconfig eth0 up
$ sudo ifconfig eth0 add 192.168.1.10
$ sudo ifconfig eth0 netmask 255.255.255.0
$ sudo ifconfig eth0 broadcast 192.168.1.255
$ sudo route add default gw 192.168.1.1

Здесь мы используем ip адрес для компьютера 192.168.1.10, сетевую маску 255.255.255.0 и шлюз для выхода в сеть 192.168.1.1. После этих настроек осталось указать сервер DNS и интернет должен работать.

Выводы

В этой статье мы рассмотрели как работает команда ifconfig и что с ее помощью мы можем настроить. Я, как и раньше рекомендую использовать утилиту ip, так как она новее, и применяется в большинстве дистрибутивов по умолчанию. Но Linux - свободная система и вы можете использовать те инструменты, которые вам нравятся.

В Ubuntu подключение к сети настраивается с помощью сервиса Network Manager. Чтобы подключиться к сети, достаточно пару раз кликнуть мышкой, выбрать соединение - и готово. То же самое, и даже ещё проще, при использовании проводного соединения - тут интернет подключается автоматически, как только загрузился апплет.

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

Как работает сеть?

Перед тем, как перейти к самим командам, давайте немного разберёмся в теории работы сети. Это нужно, чтобы вы не просто выполнили какие-то непонятные команды, а поняли всю суть того, что мы будем делать и как выполняется настройка локальной сети Ubuntu.

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

Как только компьютер подключился к сети, независимо от того проводное это соединение или беспроводное, он может общаться только с компьютерами в локальной сети и только по физическим адресам. Для того, чтобы получить доступ в Глобальную сеть, машине в ней нужно получить IP-адрес. Для этого используется протокол DHCP. Если кратко: наш компьютер спрашивает все компьютеры в локальной сети, кто здесь DHCP-сервер, DHCP ему отвечает и выдаёт IP-адрес. Таким же образом компьютер узнаёт IP маршрутизатора, через который он может получить доступ к Сети, а затем пытается найти DNS-серверы или узнать стандартные у маршрутизатора. С теорией разобрались, перейдем к практике.

Настройка сети через терминал в Ubuntu

Тут мы рассмотрим автоматическую настройку сети для Ubuntu 16.04 без Network Manager с помощью стандартных скриптов системы, которые остались от Upstart и пока всё ещё используются. Давайте сначала определим, какие шаги нам нужно предпринять, чтобы всё заработало:

  • Включаем сетевой интерфейс и подключаемся к сети;
  • Устанавливаем IP-адрес;
  • Получаем адреса DNS-серверов.

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

Но если хотите, можете использовать ifconfig:

net

В нашей системе только один интерфейс - это enp0s3, есть еще lo, но он виртуальный и указывает на эту машину.

Настройки сети находятся в файле /etc/network/interfaces.

net1

Нас будут интересовать в этом файле строчки auto и iface. Первая указывает, что нужно активировать интерфейс при загрузке, вторая же определяет настройки самого интерфейса.

Настройка динамического получения IP-адреса

Добавьте в этот файл такие строки, чтобы запускать интерфейс при загрузке и получать IP-адрес автоматически по DHCP:

auto enp0s3
iface enp0s3 inet dhcp

Синтаксис строки auto прост. Он состоит из самой команды и имени сетевого интерфейса. Рассмотрим подробнее:

$ iface интерфейс inet тип

Тип получения IP-адреса может иметь несколько значений, но нас в этой статье будут интересовать только два: dhcp и static.

После завершения настройки сохраните файл и перезапустите сетевой сервис:

sudo service networking restart

Всё, если сетевой кабель подключён, и вы всё сделали правильно, Сеть будет работать.

Настройка статического адреса Ubuntu

При настройке статического IP-адреса компьютер не будет связываться с DHCP-сервером, поэтому здесь придётся указать намного больше параметров.

Содержимое нашего конфигурационного файла будет выглядеть вот так:

auto eth0
iface eth0 inet static
address 192.168.1.7
gateway 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255

С первыми двумя строчками все понятно, а следующие задают параметры настройки интерфейса:

  • address - наш IP-адрес;
  • gateway - шлюз, через который будем получать доступ в интернет;
  • netmask - маска сети;
  • network - адрес сети, имеет тот же адрес, что и шлюз, только с нулем вместо единицы;
  • broadcast - широковещательный адрес сети, отправленный на него пакет придет всем компьютерам локальной сети.

Как видите, network и broadcast - это первый и последний IP-адреса сети. Теперь сохраните файл и перезапустите сеть:

sudo service networking restart

Если все параметры были указаны правильно, всё будет работать. Но если допущена хоть одна ошибка, доступ к сети вы не получите.

Это была автоматическая настройка локальной сети Гbuntu, но я ещё расскажу, как всё сделать вручную, без конфигурационных файлов.

Ручная настройка сети в Ubuntu

Предыдущий вариант хорош, если вы собираетесь его использовать постоянно, но если нужно только один раз настроить сеть через терминал, то редактировать конфигурационные файлы необязательно. Мы можем всё сделать с помощью команды ip. Дальше будет рассмотрена настройка сети вручную Ubuntu.

Эта команда используется для управления сетью и входит во все дистрибутивы по умолчанию.

Как и в предыдущем примере, смотрим сетевые интерфейсы:

net

После того, как мы узнали интерфейс, можно переходить к настройке.

Получение IP-адреса по DHCP

Сначала включаем интерфейс:

sudo ip link set enp0s3 up

Затем с помощью команды dhclient запрашиваем ip:

sudo dhclient enp0s3

Всё, настройка сети Ubuntu 16.04 завершена, у нас есть IP-адрес, и осталось только настроить DNS, но это мы рассмотрим ниже.

Настройка статического IP

sudo ip link set enp0s3 up

Устанавливаем IP-адрес, маску сети и broadcast-адрес для нашего интерфейса:

sudo ip addr add 192.168.1.7/255.255.255.0 broadcast 192.168.1.255 dev enp0s3

Указываем IP-адрес шлюза:

sudo ip route add default via 192.168.1.1

net2

Здесь 192.168.1.7 - наш IP-адрес, 255.255.255.0 - маска сети, 192.168.1.255 - широковещательный адрес. Замените эти значения на свои.

Как видите, сеть работает. Если хотите поэкспериментировать на машине с рабочей сетью, её можно сбросить командой:

sudo ip -4 addr flush dev enp0s3

Настройка DNS

Служба DNS используется для преобразования доменных имен сайтов в IP-адреса. При получении IP-адреса автоматически через DHCP мы используем правильные DNS-серверы, но если мы выбрали статический IP, то DNS можно и не получить, поэтому придётся сделать всё вручную.

Если вам нужно настроить DNS так, чтобы он не сбивался после перезагрузки, необходимо использовать систему настройки сети Ubuntu. Для этого откройте файл /etc/network/interfaces и добавьте в него строчку после директив для нужного интерфейса:

dns-nameservers 8.8.8.8 4.4.4.4

Здесь 8.8.8.8 и 4.4.4.4 это IP-адреса DNS серверов, можете заменить их на свои. И можно использовать один, а не два. Дальше сохраните файл и перезапустите сеть:

sudo service networking restart

Если же вам нужно настроить DNS только для этого сеанса, то добавьте строчку в /etc/resolv.conf

sudo vi /etc/resolv.conf

nameserver 8.8.8.8
nameserver 4.4.4.4

После сохранения файла сеть будет работать полностью так, как нужно. Но последний способ пригоден только до перезагрузки, поскольку файл /etc/resolv.conf генерируется автоматически.

Выводы

В этой статье была рассмотрена настройка сети Ubuntu из консоли. Я пытался не просто показать команды, с помощью которых это можно сделать, но и объяснить, как это работает. Теперь вы будете знать, что нужно делать, если у вас нет доступа к графическому интерфейсу, но срочно нужно попасть в сеть. Если остались вопросы, пишите в комментариях!

Команда ifconfig в Linux

Команда ifconfig устарела, заменена ip на новые дистрибутивы Linux и может не входить в их состав.

Установить ifconfig на Ubuntu / Debian

В дистрибутивах Linux на основе Ubuntu и Debian выполните следующую команду для установки ifconfig :

Установить ifconfig на Centos

Чтобы установить ifconfig на CentOS и другие дистрибутивы Linux на основе RHEL, введите:

Как использовать ifconfig команду

Базовый синтаксис ifconfig команды показан ниже:

  • interface - это имя сетевого интерфейса.
  • address - IP-адрес, который вы хотите назначить.


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

Только root или пользователи с привилегиями sudo могут настраивать сетевые интерфейсы.

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

При вызове без каких-либо опций ifconfig отображает информацию о конфигурации всех сетевых интерфейсов и связанный IP-адрес:

Вывод включает информацию обо всех активных и неактивных сетевых интерфейсах:

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

Результат будет выглядеть примерно так:

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

С помощью этой ifconfig команды вы можете назначить IP-адрес и сетевую маску сетевому интерфейсу.

Используйте следующий синтаксис для назначения IP-адреса и сетевой маски:

Например, чтобы назначить интерфейсу IP-адрес 192.168.0.101 и сетевую маску , вы должны запустить: 255.255.0.0 eth0

Вы также можете назначить дополнительный IP-адрес сетевому интерфейсу, используя псевдоним интерфейса:

Включение и отключение сетевого интерфейса

Иногда может потребоваться сбросить сетевой интерфейс. В этом случае ifconfig команда может использоваться для включения или отключения сетевого интерфейса.

Чтобы отключить активный сетевой интерфейс, введите имя устройства и установите down флажок:

Чтобы включить неактивный сетевой интерфейс, используйте up флаг:

Включение и отключение беспорядочного режима

Беспорядочный позволяет сетевому интерфейсу получать доступ и просматривать все пакеты в сети. Вы можете использовать ifconfig команду для включения и отключения беспорядочной связи на определенном сетевом устройстве.

Чтобы включить неразборчивый режим в сетевом интерфейсе, введите promisc флаг после имени устройства:

Чтобы отключить беспорядочный режим, используйте -promisc флаг

Изменить MTU сетевого интерфейса

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

Вы можете изменить значение MTU, используя синтаксис:

Например, установить значение MTU сетевого интерфейса eth0 к 500 , выполнить следующую команду:

Изменить MAC-адрес сетевого интерфейса

MAC «Управление доступом к среде» - это физический адрес, который однозначно идентифицирует устройства в сети.

Чтобы изменить MAC-адрес сетевого интерфейса, используйте hw ether флаг для установки нового MAC-адреса:

Вывод

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

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