Все операционные системы предоставляют команды и интерфейс для настройки сети из командной строки. В дистрибутивах Linux нам даже это не нужно, потому что мы можем сами редактировать конфигурационные файлы и вносить необходимые изменения. В некоторых случаях настройка через конфигурационные файлы будет проще, чем с помощью графических утилит, потому что вы можете полностью все контролировать.
В этой статье будет рассмотрена настройка сети Debian 9. Мы разберем как настроить имя хоста, сетевые интерфейсы и получить IP адреса для них. Эта инструкция подойдет как для обычных компьютеров, так и для серверов.
Содержание статьи
- 1. Имя компьютера
- 2. Список сетевых интерфейсов
- 3. Настройка сетевого интерфейса
- Перезагрузка сети
- Выводы
1. Имя компьютера
Чтобы посмотреть текущее имя хоста вы можете использовать команду hostname:
hostname
Установить новое имя хоста очень просто, для этого достаточно передать его команде hostname в качестве параметра:
hostname debian-pc-1
После перезагрузки имя хоста не сохранится, поэтому вам нужно отредактировать файл /etc/hostname и добавить туда новое имя хоста, уже это имя останется даже после перезагрузки:
vi /etc/hostname
Осталось только связать новое имя хоста с локальным IP адресом, чтобы иметь возможность обращаться по нему к компьютеру. Для этого добавьте такую строку в файл /etc/hosts:
vi /etc/hosts
2. Список сетевых интерфейсов
Перед тем как мы сможем настроить сеть нужно посмотреть какие сетевые интерфейсы подключены к вашей системе и какие имена им присвоены. Для этого наберите:
ip addr
Также можно посмотреть только имена интерфейсов, в папке /sys/class/net:
ls /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:
Но если необходимо, то вы можете установить вручную ip адрес DNS сервера:
Для локального интерфейса настройка будет выполняться таким образом:
Здесь мы не получаем адрес по DHCP, но присваиваем локальный адрес 127.0.0.1.
Настройка статического IP адреса
Если вы хотите установить именно статический IP, то здесь все будет немного сложнее. Нам нужно знать не только этот свободный IP адрес, но и шлюз, маску сети и DNS сервер. Для настройки используется такой набор строк:
Здесь указывается, что мы будем использовать метод получения ip адреса static, а затем расписаны все параметры. Но это еще далеко не все, что можно сделать с помощью файла /etc/network/interfaces. Также вы можете создавать виртуальные интерфейсы.
Настройка виртуальных интерфейсов
В некоторых случаях нам может понадобиться создать виртуальный интерфейс. Это позволяет добавить еще один IP адрес к интерфейсу. Чтобы создать такой интерфейс достаточно дописать его номер после двоеточия:
Имя интерфейса, для которого создается виртуальный интерфейс должно совпадать с реальным.
Настройка мостов
Сетевые мосты между виртуальными интерфейсами в системе позволяют настроить полноценный доступ к интернету из виртуальных машин. Они могут применяться для KVM,qemu,XEN и других конфигураций. Для настройки моста используйте:
Здесь мы указываем имя интерфейса br0, дальше выполняем стандартную настройку получения статического IP адреса, затем связываем этот мост с интерфейсом eth0.
Перезагрузка сети
После внесения всех изменений необходимо перезапустить сеть, чтобы сетевые настройки debian вступили в силу, для этого наберите:
sudo systemctl restart networking
Выводы
В этой статье мы рассмотрели как выполняется настройка сети Debian 9. Конечно, это еще далеко не все, что возможно настроить, но с помощью этих команд можно в большинстве случаев заставить работать сеть. настройка сети из консоли debian дело сложное, в графическом интерфейсе все делается намного проще, с помощью NetworkManager все настраивается автоматически. Надеюсь, эта информация была полезной для вас.
Сейчас уже нужно привыкать настраивать сеть через systemd-networkd.
Спасибо за статью. Однозначно в закладки. Всегда нужно уметь настраивать систему "ручками".
нет описания переименования интерфейса с enp0s3 в eth0
В статье про udev есть.
В настройку сети должно быть включена настройка обзора сети Windows шар и наоборот. Обмен файлами. Ибо цель сети - получения интернета как такогвого и обмен файлами с возможностью печати. Какой тогда смысл просто настроить адреса?
Статья полезная, но после прочтения хотелось вообще снести Debian к едрени фени.
Для просмотра сетевых интерфейсов выполните команду "ip addr".
Вывод:
lo
enp0s3
А теперь давайте настроим интерфейс eth0!!!!! Прекрасно!
-Откуда он взялся?
- А-а-а! eth0!? Дык статья же есть, о udev! Вам, что поисковик выдаёт не все статьи?
Хоть бы как-то намекнули, что eth0 это enp0s3.
А так, спасибо за статью.Это лучшее, то смог найти за 3 дня в сети.
Стас а зачем тебе Линукс ставь форточку)
почему в debian 9 вы настраиваете через ifupdown? в 9-ке реализована настройка netplan.
пытался установить debian 10.
установил через нет инстол.
но после перезагрузки почему-то выбивает интернет. пару-тройку секунд сеть работает а потом там выключается.
это про подключение телефона как модема напрямую кабелем.
wi-fi аналогично видит сети вожу пароль пытается подключиться но не может пароль правильный сбой сети происходит. как мне решить эти проблемы???
поиски google конкретно эта проблема нигде не могу встретить.
Доброго времени суток всем.
Ситуация следующая: рабочий пк с виндоус с кучей блокировок и всем сопутствующим.
мне хочется свободы, на ссд установил дебиан. загуржаюсь с него.
есть провод (локалка, инет-не работает из под линукс маршрутизатор блочит) интересует только локалка-она работает.
к интернету подключаюсь через мобильный(модем) -тоже работает.
Как сделать что бы они могли работать вместе, прописать маршрут или сделать мост?
добился одновременного подклбючения, но работает только что то одно.
В разделе про настройку статического адреса... В конфиге надо писать "dns-nameserverS" и broadcast адрес слегка вводит в заблуждение. Ясное дело, что это не предназначено для тупого копи-паста, но всё же... всего одна буква в конфиге может доставить серьёзный головняк.
Пишу лишь ради повышения качества контента, а не чтобы ткнуть носом в опечатку. Автор создал крайне полезный ресурс. Большой респект Вам и процветания. Очень часто использую Ваши статьи в качестве шпаргалок.
Тут не описан момент, когда вы настраиваете несколько роутеров, грубо говоря меняется (шлюз, подсеть) происходит отключение от роутера с которым система стартовала и подключение к новому роутеру, Угадайте что будет > IP-адрес компьютер не получит, тут или ручками, или надо что то шаманить и Это не поможет:
sudo ip link set dev enp5s0 down
sudo ip link set dev enp5s0 up
sudo dhclient -r enp5s0
sudo systemctl daemon-reload
sudo service networking restart
Пойду почитаю на эту тему.
А это нормально, что до изменений в файле interfaces содержится только настройка loopback ? Хотя сеть работает и адрес получен по DHCP. Не должно ли в файле изначально быть следующих строчек?
auto eth0
iface eth0 inet dhcp
По логике, если мне нужно настроить статику, я должен удалить "dhcp" и прописать "static" , а удалять там нечего. Значит ли это, что конфигурировать нужно где-то в другом месте? Debian 11.
Скорее всего, настройкой сети занимается NetworkManager и по умолчанию он использует DHCP даже если это не настроено. Когда вы добавите конфигурацию статического IP, будет использоваться уже она.