Настройка сети через командную строку линукс

Network Manager настройка сети в командной строке Debian 11

Здравия всем! В этой статье я расскажу как настраивать сеть из консоли с помощью утилиты Network Manager.

Введение

После установки Home Assistant на свеже установленный Debian 11 столкнулся с проблемами с сетью на хостовой машине. Начал разбираться и понял, что Network Manager, который нужен для Home Assistant, не всегда точно настраивается. Решил написать для себя памятку как его настраивать из командной строки Linux.

Установка

apt install network-manager

В системе появляется служба NetworkManager

# service NetworkManager status ● NetworkManager.service - Network Manager Loaded: loaded (/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2022-08-19 13:10:14 MSK; 15min ago Docs: man:NetworkManager(8) Main PID: 8676 (NetworkManager) Tasks: 3 (limit: 2340) Memory: 4.4M CPU: 583ms CGroup: /system.slice/NetworkManager.service └─8676 /usr/sbin/NetworkManager --no-daemon авг 19 13:17:26 debian NetworkManager[8676]: [1660904246.1858] device (ens18): state cha> авг 19 13:17:26 debian NetworkManager[8676]: [1660904246.1890] device (ens18): state cha> авг 19 13:17:26 debian NetworkManager[8676]: [1660904246.1924] device (ens18): state cha> авг 19 13:17:26 debian NetworkManager[8676]: [1660904246.1941] dhcp4 (ens18): activation> авг 19 13:17:26 debian NetworkManager[8676]: [1660904246.4858] dhcp4 (ens18): state chan> авг 19 13:17:26 debian NetworkManager[8676]: [1660904246.4885] device (ens18): state cha> авг 19 13:17:26 debian NetworkManager[8676]: [1660904246.4915] device (ens18): state cha> авг 19 13:17:26 debian NetworkManager[8676]: [1660904246.4926] device (ens18): state cha> авг 19 13:17:26 debian NetworkManager[8676]: [1660904246.4978] policy: set 'Supervisor e> авг 19 13:17:26 debian NetworkManager[8676]: [1660904246.5216] device (ens18): Activatio>

Изучение информации

Работа с сетевыми устройств

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

# nmcli device DEVICE TYPE STATE CONNECTION ens18 ethernet подключено Supervisor ens18 docker0 bridge без управления -- hassio bridge без управления -- veth09a87b9 ethernet без управления -- veth6e7e60d ethernet без управления -- veth7c2ed85 ethernet без управления -- veth82dbf2f ethernet без управления -- veth82f0817 ethernet без управления -- veth9e73789 ethernet без управления -- lo loopback без управления --

Посмотреть информацию по конкретному устройству команда:

# nmcli device show ens18 GENERAL.DEVICE: ens18 GENERAL.TYPE: ethernet GENERAL.HWADDR: DA:38:AB:49:51:E6 GENERAL.MTU: 1500 GENERAL.STATE: 100 (подключено) GENERAL.CONNECTION: Supervisor ens18 GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/3 WIRED-PROPERTIES.CARRIER: вкл. IP4.ADDRESS[1]: 192.168.1.37/24 IP4.GATEWAY: 192.168.1.1 IP4.ROUTE[1]: dst = 0.0.0.0/0, nh = 192.168.1.1, mt = 100 IP4.ROUTE[2]: dst = 192.168.1.0/24, nh = 0.0.0.0, mt = 100 IP4.DNS[1]: 192.168.1.1

Работа с соединениями

Для получения списка всех соединений команда:

# nmcli connection NAME UUID TYPE DEVICE Supervisor ens18 3beb0614-186b-4323-8dcd-80b0b4a70ebb ethernet ens18 Проводное соединение 1 187a4f3b-6e09-3b76-946b-5c1dbc8fc016 ethernet --

Для получения информации по конкретному соединению команда:

nmcli connection show NAME
nmcli connection show "Supervisor ens18" connection.id: Supervisor ens18 connection.uuid: 3beb0614-186b-4323-8dcd-80b0b4a70ebb connection.stable-id: -- connection.type: 802-3-ethernet connection.interface-name: ens18 connection.autoconnect: да .

Настройка

Настройка DNS для существующего соединения

Часто бывает, что Network Manager не переносит текущий DNS сервер, и следовательно, теряется связь с интернетом, компьютер не может получить информацию об IP адресе доменов.

Читайте также:  Linux string command line

Для того чтобы поменять DNS воспользуемся командой

nmcli connection modify "Supervisor ens18" ipv4.DNS 192.168.1.1

Если нужно прописать более одного DNS сервера, перечислим их через запятую

nmcli connection modify "Supervisor ens18" ipv4.DNS 192.168.1.1,192.168.1.10

Для применения изменений нужно перезапустить сервис

service NetworkManager restart

Настройка статического IP для существующего соединения

Проверим текущий статус соединения. Нас интересует строчка ipv4.method, и ipv4.addresses

# nmcli connection show "Supervisor ens18" connection.id: Supervisor ens18 connection.uuid: 3beb0614-186b-4323-8dcd-80b0b4a70ebb . ipv4.method: auto ipv4.dns: 192.168.1.3,192.168.1.33 ipv4.dns-search: -- ipv4.dns-options: -- ipv4.dns-priority: 100 ipv4.addresses: -- ipv4.gateway: -- ipv4.routes: -- .

Как видно, нам вначале нужно установить ipv4.addresses

 nmcli connection modify "Supervisor ens18" ipv4.address 192.168.1.49/24

и только потом менять метод на ручной:

nmcli connection modify "Supervisor ens18" ipv4.method manual

При выполнение этой команды, пропадет соединение. По этому не применяйте её при удаленном соединении!

Также нам нужно еще установить шлюз по умолчанию

nmcli connection modify "Supervisor ens18" ipv4.gateway 192.168.1.1

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

nmcli connection down "Supervisor ens18" nmcli connection up "Supervisor ens18"

Заключение

Network Manager это очень мощная утилита, которая имеет внешнее управление через API. Поэтому оно используется в Home Assistant Supervisor. И теперь у меня есть под рукой мануал, как быстро настроить сеть и не лезть за этим в поисковик.

Добавить комментарий Отменить ответ

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Источник

Оцените статью
Adblock
detector