Debian перезагрузить сетевой интерфейс
Основную настройку сети можно выполнить, редактируя конфигурационный файл 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 :
Существует и другая команда - ip address 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 :
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 и др.)
Для того, чтобы с этим не возникало сложностей - полезно записывать то, что предлагается сконфигурировать при установке дистрибутива.
Читайте также: