Настройка ipconfig debian 10

Обновлено: 07.07.2024

Команда 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 - свободная система и вы можете использовать те инструменты, которые вам нравятся.


Debian 10 (кодовое название Debian Buster) наконец-то явился миру с удивительными классными функциями и новой темой оформления.

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

В Debian 10 (начиная с Debian 9) команда ifconfig устарела.

Обходным путем к этому препятствию является ip addr, который в значительной степени выполняет ту же задачу, что и команда ifconfig, как показано во фрагменте ниже.


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

Если вы все еще настаиваете на использовании старой доброй команды ifconfig, вам необходимо установить пакет net tools.

Пакет net-tools представляет собой инструментарий, который содержит спектр программ, которые составляют основу сетей Linux.

Он включают в себя следующее:

Исправление отсутствующей команды ifconfig в Debian

Это запускает установку пакетов net-tools вместе с другими программными зависимостями, как показано далее:


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

Заключительные мысли

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

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

Если у вас есть какие-либо вопросы по этой теме, не стесняйтесь оставлять нам комментарии.

Спасибо за ваше время и не забудьте поделиться этим руководством в своих социальных сетях.

Основную настройку сети можно выполнить, редактируя конфигурационный файл interfaces, который располагается в /etc/network/interfaces. Здесь Вы можете задать IP адресс сетевой карты (или использовать DHCP), настроить маршрутизацию, IP masquerading, установить маршрут по умолчанию и многое другое.

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

Полный список опций можно найти в man interfaces.

Автоматическое конфигурирование интерфейса с использованием DHCP

Если Вы хотите использовать DHCP вам необходимо написать следующие:

Ручное конфигурирование интерфейса

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

Если вы хотите добавить IPv6 адрес, то напишете следующие:

Полный список опций можно найти в man interfaces.

Настройка скорости и дуплекса

Частые ошибки автоматического согласования режимов работы, свидетельствуют о проблемах с кабелем. Следует проверить физическое состояние кабельного оборудования (отсутствие повреждений итп), прежде чем предполагать несовместимость алгоритмов автосогласования. Если Вы выключите автосогласование и установите скорость и дуплекс вручную, то интерфейс на другом конце кабеля будет считать что автосогласование не поддерживается и установит скорость 10Mbs и полудуплексный режим передачи. Для того чтобы не было ошибок в работе, при ручной настройки Вам необходимо убедиться что оба интерфейса работают на одинаковых скоростях и установлен одинаковый режим дуплекса.

Переключение интерфейса в режим моста без IP адреса

Чтобы создать сетевой интерфейс без IP адреса используйте ручной метод и команды pre-up и post-down

В большинстве ситуаций необходимо отредактировать файлы конфигураций этих программ.

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

Конфигурационный файл resolv.conf

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

Файл resolv.conf обычно содержит IP адреса серверов имён (DNS) которые будут пытаться перевести имена в адрес для любого узла доступного в сети. Там будут строчки содержащие, примерно, следующие:

В этом примере, система исопользует сервера имён с IP адресами 12.34.56.78 и 12.34.56.79. Просто отредактируйте этот файл и введите IP адреса нужных Вам серверов, после слова nameserver. Можно добавить ещё строчки, если у Вас больше 2 серверов имён.

Не используйте этот метод если у Вас установлена программа resolvconf

Конфигурационный файл resolv.conf имеет множество других опций для определения режимов преобразования имён. См. man resolv.conf.

Программа resolvconf

Программа resolvconf следит за информацией о доступных на данных момент серверов имён. Не следует путать её с одноимённым конфигурационным файлом resolv.conf. Программа resolvconf является опциональной для систем Debian.

Конфигурационный файл resolv.conf содержит информацию о серверах имён, которые используются в системы. Однако, когда множеству программ необходимо динамически изменять файл resolv.conf они начинают мешать друг другу и файл становиться не синхронизируемым (out-of-sync). Программа resolvconf решает эту проблему. Она является посредником между программами которые поставляют информацию о серверах имён (например dhcp клиент) и программами которые используют эту информацию (например резолвер).

Если resolvconf правильно установлена, конфигурационный файл resolv.conf заменяется символьной ссылкой на файл /etc/resolvconf/run/resolv.conf и резолвер использует файл, который динамически генерируется программой resolvconf.

Программа resolvconf, в общем случае, необходима когда в системе присутствуют программы которым необходимо часто изменять информацию о серверах имён. В простых системах где нет таких программ, достаточно просто файла resolv.conf.

Если программа resolvconf установлена, то Вам не следует вручную редактировать файл resolv.conf , так как он будет динамически меняться программами в системе. Если Вам необходимо вручную задать сервера имён (например при статически сконфигурированном интерфейсе), добавьте в конфигурационный файл interfaces следующую строчку:

Разместите эту строчку в описании интерфейса iface, сразу после указания шлюза gateway. IP адрес сервера имёны необхожимо ввести после слова dns-nameservers. Если IP адресов несколько то они разделяются пробелом. Не забудьте написать "s" в конце слова dns-nameservers.

Программа resolvconf была добавлена в Debian сравнительно недавно и многие старые программы необходимо обновить и переконфигурировать для правильно работы. Если у Вас возникли проблемы, смотрите файл /usr/share/doc/resolvconf/README. Он содержит полную информацию по работе resolvconf с другими программами.

Конфигурирование DNS для network-manager

Если Вы используете NetworkManager, настройки располагаются в файле /etc/sysconfig/network-scripts/ifcfg-*. Например так:

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

В этой статье вы можете найти ответы на некоторые из них.

Изучить файл с перечнем задействованных интерфейсов можно с помощью команды

Далее настройка зависит от версии Debian, которую Вы используете.

На новых версиях Debian. Например на Debian 9 используется Iproute2

Если Вам нужно настроить сеть на старой версии Debian с помощью утилит ifconfig пролистайте страницу вниз или перейдите по ссылке

Динамический IP c помощью dhclient

Включить автоматическое получение ip

Флаг -r flag explicitly releases the current lease, and once the lease has been released, the client exits.

Например, можно сперва выполнить:

$ sudo dhclient -r

И затем получить свежий IP адрес используя DHCP

Аналогичную операцию можно проделать для какого-то определённоего интерфейса

Например, для eth0

sudo dhclient -r eth0
sudo dhclient eth0

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

и изучить вывод.

Настройка сети с помощью Iproute2

Актуально для Debian 9 и выше.

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

Названия интерфейсов может отличаться от привычных eth0, eth1 и тому подобных.

Для примера будем считать, что интерфейс отобразился как enp0s25

Iproute2: Задать статический IP

sudo ip addr add 10.0.2.16/24 dev enp0s25

ВКЛЮЧИТЬ интерфейс enp0s25:

ip link set dev enp0s25 up

ВЫКЛЮЧИТЬ интерфейс enp0s25:

ip link set dev enp0s25 down

Gateway

По-русски Gateway называется Сетевой шлюз или просто шлюз

Удалить старый сетевой шлюз

route delete default

Добавление нового сетевого шлюза

route add default gw IP_Address

Если старых шлюзов много, то нужно указать какой конкретно IP с какого интерфейса удалить

route delete default gw 10.0.0.1 eth0

Для создания тоже можно указать конкретные данные

route add default gw 192.168.0.1 eth0

netmask

Узнать свою маску

Настройка сети с помощью ifconfig

ifconfig входит в состав net-tools, поэтому если он недоступен по умолчанию всегда можно установить командой

apt-get install net-tools

Получить информацию об имеющихся интерфейсах на старых версиях Debian можно с помощью команды

Изучите вывод этой команды и посмотрите какой интерфейс Вам доступен. Обычно это eth0.

Если нужно получать ip автоматически

iface eth0 inet dhcp

Если нужно задать статический ip

iface eth0 inet static
address 192.168.1.1
netmask 255.255.255.0

Чтобы изменения пришли в силу нужно выполнить

ifconfig wlan0 down

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

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

Однако, если вы будете устанавливать другие Unix-подобные дистрибутивы, например OpenBSD то сетевые интерфейсы будут называться более разнообразно (msk0, sk0 и др.)

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

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