Debian перезагрузить сетевой интерфейс

Обновлено: 04.07.2024

Основную настройку сети можно выполнить, редактируя конфигурационный файл 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-*. Например так:

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

В этой статье будет рассмотрена настройка сети Debian 9. Мы разберем как настроить имя хоста, сетевые интерфейсы и получить IP адреса для них. Эта инструкция подойдет как для обычных компьютеров, так и для серверов.

1. Имя компьютера

Чтобы посмотреть текущее имя хоста вы можете использовать команду hostname:


Установить новое имя хоста очень просто, для этого достаточно передать его команде hostname в качестве параметра:


После перезагрузки имя хоста не сохранится, поэтому вам нужно отредактировать файл /etc/hostname и добавить туда новое имя хоста, уже это имя останется даже после перезагрузки:


Осталось только связать новое имя хоста с локальным IP адресом, чтобы иметь возможность обращаться по нему к компьютеру. Для этого добавьте такую строку в файл /etc/hosts:

127.0.0.1 localhost debian-pc


2. Список сетевых интерфейсов

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


Также можно посмотреть только имена интерфейсов, в папке /sys/class/net:


3. Настройка сетевого интерфейса

Для настройки сетевых интерфейсов в операционных системах, основанных на Debian, используется файл /etc/network/interfaces. Здесь должно находится описание для каждого интерфейса, способ получения IP а другие параметры. В одном файле может быть настроено несколько интерфейсов. Описание каждого интерфейса начинается со слова auto после которого идет имя интерфейса.

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


Перед тем как рассматривать все более подробно, поговорим про опции, которые можно использовать:

  • pre-up - выполнить команду перед запуском интерфейса;
  • post-up - выполнить команду после запуска интерфейса;
  • up - выполнить команду при запуске интерфейса;
  • pre-down - команда перед отключением;
  • post-down - команда после отключения;
  • iface - указывает имя интерфейса;
  • inet - указывает
  • description - создать имя синоним для устройства;
  • address - устанавливает ip адрес для статического соединения;
  • netmask - установка маски сети;
  • broadcast - широковещательный адрес;
  • metric - приоритет для шлюза по умолчанию;
  • gateway - шлюз по умолчанию;
  • hwaddress - установить MAC адрес;
  • mtu - размер одного пакета.

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

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

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

auto eth0
iface eth0 inet dhcp

Но если необходимо, то вы можете установить вручную ip адрес DNS сервера:

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

auto lo
iface lo inet loopback

Здесь мы не получаем адрес по DHCP, но присваиваем локальный адрес 127.0.0.1.

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

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

iface eth0 inet static
address 192.168.1.15
netmask 255.255.255.0
gateway 192.168.1.1
broadcast 192.168.0.255
dns-nameserver 8.8.8.8


Здесь указывается, что мы будем использовать метод получения ip адреса static, а затем расписаны все параметры. Но это еще далеко не все, что можно сделать с помощью файла /etc/network/interfaces. Также вы можете создавать виртуальные интерфейсы.

Настройка виртуальных интерфейсов

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

auto eth0:0
iface eth0:0 inet static
address 192.168.1.101
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8


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

Настройка мостов

Сетевые мосты между виртуальными интерфейсами в системе позволяют настроить полноценный доступ к интернету из виртуальных машин. Они могут применяться для KVM,qemu,XEN и других конфигураций. Для настройки моста используйте:

auto br0
iface br0 inet static
address 192.168.1.20
network 192.168.1.0
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.1
bridge_ports eth0
bridge_stp off
bridge_fd 0
bridge_maxwait 0


Здесь мы указываем имя интерфейса br0, дальше выполняем стандартную настройку получения статического IP адреса, затем связываем этот мост с интерфейсом eth0.

Перезагрузка сети

После внесения всех изменений необходимо перезапустить сеть, чтобы сетевые настройки debian вступили в силу, для этого наберите:

sudo systemctl restart networking

Выводы

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

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

  • IP адрес и маска интерфейса
  • Маршрут или шлюз по умолчанию
  • DNS
  • Имя компьютера

Ну что же, проверим.

Определение состояния интерфейса

Чтобы работать в сети каждое устройство должно иметь сетевой адрес - IP адрес. Без него работа компьютера будет невозможна. IP адрес состоит из 4-х чисел, разделенных точками. Выглядит так: 192.168.1.1, 10.10.23.4, 172.16.0.100.

Адрес у всех компьютеров одинаковый или разный?

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

А для чего необходима маска?

Маска определяет количество сетевых устройств в твоей локальной сети. Например, маска 255.255.255.0 говорит нам, что в сети может быть 254 устройства (и у каждого свой адрес). Для начала проверим настройки сетевого интерфейса, через который и осуществляется связь с внешним миром (интернетом) - ifconfig :

Вывод команды ifconfig

Существует и другая команда - ip address show :

Вывод команды ip adress show

Вывод обеих команд немного отличается. Вторая команда ( ip address show ) выводит информацию обо всех установленных интерфейсах, в то время как первая команда ( ifconfig ) выводит информацию только о “поднятых” (в состоянии UP), то есть работающих в данный момент интерфейсах. Из вывода команд видно, что у нас 3 интерфейса:

  • lo - локальный петлевой интерфейс. Настраивается автоматически и служит для нормальной работы сетевого стека.
  • enp0s3 - Ethernet интерфейс (в некоторых системах отображается как eth)
  • enp0s8 - второй Ethernet интерфейс

А как получить информацию и о неработающих интерфейсах с помощью команды ifconfig ?

Для этого используйте опцию -a ( --all ) - ifconfig -a

В выводе команды также обращайте внимание на счетчики RX packets, TX packets. Если они равны 0, то интерфейс ничего не передает и не принимает, хотя и может быть в состоянии UP. К сожалению, IP адрес в выводах команд не указан, что говорит нам о том, что адрес не настроен.

Попробуем теперь настроить адрес и маску.

Ручная настройка IP адреса

Настроить все сетевые параметры можно 2-мя способами:

  • командами
  • редактированием конфигурационных файлов

При использовании команд все настройки удаляются после перезагрузки системы. Поэтому, если нет необходимости держать выставленные настройки в течении долгого времени, то лучше воспользоваться командами. Сейчас мы воспользуемся командами, а позже рассмотрим как редактировать сами файлы. Выглядит команда так - ifconfig название_интерфейса IP_адрес netmask маска .

Настроим следующие адреса для обоих интерфейсов:

Отображение настроенных адресов

Настройка и просмотр маршрута

Как узнать настроен или не настроен шлюз по умолчанию (маршрут по умолчанию)?

Для этого взглянем на таблицу маршрутизации - route :

Таблица маршрутиазции

Шлюз по умолчанию назначен

Но какой адрес необходимо указывать?

Обычно указывается адрес модема или маршрутизатора, подключенного к провайдеру. Чтобы удалить маршрут используйте del вместо add - route del default gw IP_адрес_шлюза .

Конечно. Для этого добавим новые маршруты в таблицу маршрутизации с помощью команды - route add -net IP_адрес_сети netmask маска_сети dev название_интерфейса .

Вот как выглядят настройки:

Добавление нового маршрута

Мы установили маршрут по умолчанию, но все равно интернет не работает. В чем причина?

Итак, приступим к настройке DNS.

Настройка и просмотр DNS

Для настройки адреса DNS сервера необходимо отредактировать файл /etc/resolv.conf . Открыв файл, запишем в нем следующее:

nameserver IP_адрес_DNS_сервера

Вот как выглядит запись у меня:

Настройки файла

Теперь попробуем проверить работает ли наш DNS сервер. Сделать это можно 2-мя командами: dig и nslookup :

Вывод команды dig


nslookup сайт :

Вывод команды nslookup

Перезагрузка и поднятие интерфейса

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

ifconfig название_интерфейса up

ifup название_интерфейса

ifconfig название_интерфейса down

ifdown название_интерфейса

Перезагрузка, остановка, запуск сетевой службы на Debian/Ubuntu:

/etc/init.d/networking restart

service networking restart

/etc/init.d/networking stop

service networking stop

/etc/init.d/networking start

service networking start

Перезагрузка, остановка, запуск сетевой службы на Red Hat/Fedora/CentOS:

/etc/init.d/network restart

service network restart

/etc/init.d/network stop

service network stop

/etc/init.d/network start

service network start

Настройка с помощью DHCP

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

Если в сети присутствует сервер, то достаточно выполнить команду dhclient . И все, что мы делали до этого вручную будет настроено автоматически.

Настройка сетевого подключения это важнейший шаг при работе с 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 и др.)

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

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