- Network Manager настройка сети в командной строке Debian 11
- Введение
- Установка
- Изучение информации
- Работа с сетевыми устройств
- Работа с соединениями
- Настройка
- Настройка DNS для существующего соединения
- Настройка статического IP для существующего соединения
- Заключение
- Добавить комментарий Отменить ответ
- Linux setup network manager
- Features
- Documentation
- Wired Networks are Unmanaged
- Enabling Interface Management
- «Auto Ethernet» and «Auto eth0»
- FAQ
- See Also
- External Links
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 адресе доменов.
Для того чтобы поменять 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 для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.
Linux setup network manager
NetworkManager attempts to keep an active network connection available at all times.
The point of NetworkManager is to make networking configuration and setup as painless and automatic as possible. If using DHCP, NetworkManager is intended to replace default routes, obtain IP addresses from a DHCP server and change nameservers whenever it sees fit. In effect, the goal of NetworkManager is to make networking Just Work .
- For basic or simple configurations (e.g. workstation), the regular way to configure the network was using interfaces configuration file at /etc/network/interfaces. Details are described in NetworkConfiguration. It still may be used.
- Another way to configure: leverage on Systemd
- A daemon running as root: network-manager.
- A front-end: nmcli and nmtui (enclosed in package network-manager), nm-tray, network-manager-gnome (nm-applet), plasma-nm.
Additionally, there are various plugins available that enable NetworkManager to handle other, special connections like different types of VPN connections.
NetworkManager will only handle interfaces not declared in /etc/network/interfaces (see README file).
NetworkManager keeps connection information on known individual networks in configuration files called profiles. Those are stored at /etc/NetworkManager/system-connections/. For options in these files refer to the manpage on nm-settings: man nm-settings or online. They can be edited (as root) using a text editor or the nm-connection-editor (enclosed in network-manager-gnome).
For changes in configuration to become effective, you may have to restart the NetworkManager daemon:
sudo service network-manager restart
Starting with Debian 11 (bullseye), use:
sudo service NetworkManager restart
Features
The features of NetworkManager are described on its homepage.
Documentation
Wired Networks are Unmanaged
As of Debian 6.0 «Squeeze», NetworkManager does not manage any interface defined in /etc/network/interfaces by default.
allow-hotplug eth0 iface eth0 inet dhcp
[main] plugins=ifupdown,keyfile [ifupdown] managed=false
Enabling Interface Management
sudo service network-manager restart
Starting with Debian 11 (bullseye), use:
sudo service NetworkManager restart
«Auto Ethernet» and «Auto eth0»
- Auto Ethernet means «Select an Ethernet interface automatically»
- Auto eth0 means «autoconfigure the eth0 interface».
FAQ
A) Use nm-connection-editor or configure /etc/network/interfaces as described in NetworkConfiguration. Q. How can I configure DNS for NetworkManager?
A) The short answer is to use nm-connection-editor. For the long answer see the corresponding entry in NetworkConfiguration. Q. Why can’t I see NetworkManager with my new user account ?
A) Make sure human users are in the netdev group (see /usr/share/doc/network-manager-gnome/README.Debian). Q. How to set up a connection sharing («hotspot») for a wired interface ?
A) First make sure to install dnsmasq-base (but not dnsmasq unless you disable the system daemon in /etc/default/dnsmasq). Then use nm-connection-editor and setup a new profile using «shared to other computer» as the method for IPv4 (not possible from Gnome3’s gnome-control-center). This hides all the complexity (dnsmasq, iptables, sysctl). Finally, use that profile for the network interface connected to the shared network. For Wi-Fi interfaces, a hotspot functionality is provided which uses the same functionality besides setting up an ad-hoc WiFi network. Q. How can I set up OpenVPN using NetworkManager?
A) Using the network-manager-openvpn-gnome package, it is possible to configure all aspects of OpenVPN, including importing configs from the service provider and automatically starting for specific connections (via nm-connection-editor).
See Also
External Links
- https://wiki.gnome.org/Projects/NetworkManager – Project homepage and GNOME front-end (with some documentation)
- nmtui(1) – Interactive text client
- nmcli(1) – Command-line client