...
Настройка сети из командной строки
Для выключения автоматической настройки сети следует отключить NetworkManager, для чего выполнить команду:
Информация |
---|
sudo systemctl --now mask NetworkManager |
Традиционно, настройка сети TCP/IP из командной строки выполняется с использованием инструментов ifup и ifdown, входящих в пакет ifupdown, и предназначенных для высокоуровневого конфигурирования сети.
При этом можно выделить два типичных случая
- Для систем, работающих в постоянной сети (например, для серверов), следует сохранять как можно более простую конфигурацию ;
- Для систем с динамически меняющимися сетями IP-адресами (например, для мобильных компьютеров) рекомендуется дополнительно использовать для настройки пакет resolvconf, упрощающий переключение конфигураций при смене сетевого адреса.
Пакет ifupdown содержит две три команды: ifup(8) and ifdown(8)команды ifup и ifdown, которые обеспечивают настройки сетевых интерфейсов в соответствии с конфигурационным файлом /etc/network/interfaces, и команда ifquery, проверяющая корректность конфигурационного файла /etc/network/interfaces.
При этом список включенных интерфейсов хранится в файле /run/network/ifstate
Сценарий изменения настройки сетевого интерфейса (на примере интерфейса eth0):
остановить Остановить сетевой интерфейс командой
Информация sudo ifdown eth0 Эта команда удалит запись об интерфейсе eth0 из файла /run/network/ifstate. (Могут выдаваться сообщения об ошибке, однако эта команда в целом безопасна.)
внести Внести изменения в файл /etc/network/interfaces в секцию, относящуюся к интерфейсу eth0.
Проверить корректность файла:
Информация sudo ifquery eth0 Повторно запустить интерфейс командой:
Информация sudo ifup eth0
Допускается вносить изменения в файл /etc/network/interfaces заранее, после чего перезапускать интерфейс одной командой:
...
Предупреждение |
---|
Не следует использовать низкоуровневые конфигурационные команды как, например, ifconfig(8) и ip(8) для переключения сетевых интерфейсов во включенное (up) состояние. |
Типичной ошибкой при использовании команд ifdown/ifup является сохранение ранее назначенный параметров сетевого соединения, что выглядит как игнорирование изменений, внесённых в файл /etc/network/interfaces.
Для проверки полного состояния сетевого интерфейса следует вместо устаревшей команды ifconfig следует использовать современную команду ip из пакета iproute2:
проверить все сетевые адреса, назначенные сетевому интерфейсу:
Информация ip address show dev eth0 очистить все сетевые адреса, назначенные сетевому интерфейсу:
Информация ip address flush dev eth0
Сетевые интерфейсы со статическими адресами
...
Информация |
---|
nameserver 192.168.11.1 |
...
Мобильный режим
В мобильном режиме используется сетевой менеджер
...
connman, а файл /etc/resolv.conf заменяется на ссылку на файл /var/run/connman/resolv.conf.
...
Сетевой менеджер connman поддерживает собственный интерфейс командной строки connmanctl.
Описание команд commanctl доступно в системе документации:
Информация |
---|
man commmanctl |
Для отключения автоматической настройки сети необходимо выполнить команды:
Для режима настольного компьютера:
панель | ||||
---|---|---|---|---|
| ||||
sudo systemctl mask network-manager.service sudo systemctl mask NetworkManager.service sudo rm -f /etc/xdg/autostart/nm-applet.desktop sudo rm -f /etc/resolv.conf |
Для мобильного режима:
панель | ||||
---|---|---|---|---|
| ||||
sudo systemctl mask connman.service sudo rm -f /etc/resolv.conf |
и после этого прописывать настройки сети в файле /etc/network/interfaces
Пример /etc/network/interfaces:
Подсказка | ||
---|---|---|
| ||
|
Для повторного включения автоматичеcкой настройки сети необходимо выполнить команды:
Для режима настольного компьютера:
панель | ||||
---|---|---|---|---|
| ||||
sudo systemctl unmask network-manager.service sudo systemctl unmask NetworkManager.service sudo cp -f /usr/share/applications/nm-applet.desktop /etc/xdg/autostart |
Для мобильного режима:
панель | ||||
---|---|---|---|---|
| ||||
sudo systemctl unmask connman.service |
...