Linux настройка сети network manager

Настройка сети в Ubuntu 18.04 через Network Manager

Утилиты и команды для настройки сети в Ubuntu 18.04. В данном посте я расматриваю способы подключения через Network Manager, Wicd, WPA Supplicant.

Существует несколько способо управлять сетью в Ubuntu. Через Wicd, Network Manager, WPA Supplicant, ifupdown, ifconfig и т.д. Я рекомендую использовать Wicd. Потому что большинство задач он решает. Особенно для ноутбуков.

Network Manager может потребоваться, если вы хотите одновременно подключится по wifi и по локальной сети, или раздвать интернет с wifi в локальную сеть. При этом у wicd убрать управление Ethernet и дать это управление Network Manager.

Network Manager — пакет, который позволяет подключаться к WiFi и управлять сетевыми подключениями. Он позволяет автоматически выполнять переподключение к WiFi, если сеть недоступна по какой-то причине.
nmcli — Команда управления Network Manager
nm-tray — Иконка в трее
nm-connection-editor — Интерфейс для управлением соединений
ifupdown — Стандартный пакет для /etc/network/interfaces

Dnsmasq — это кэширующий DNS сервер

Resolvconf — программа, которая может обновлять список рекурсивных DNS серверов. При этом она умеет передавать Dnsmasq новые списки через файл /var/run/dnsmasq/resolv.conf

Настройка через Network Manager

apt install network-manager dnsmasq resolvconf

Измените файл /etc/NetworkManager/NetworkManager.conf

[main] #auth-polkit=false plugins=ifupdown,keyfile systemd-resolved=false rc-manager=resolvconf dns=default [ifupdown] managed=false [device] wifi.scan-rand-mac-address=no

В файле /usr/lib/NetworkManager/conf.d/10-globally-managed-devices.conf пропишите строчку:

Linux настройка сети network manager unmanaged-devices=*,except:type:wifi,except:type:gsm,except:type:cdma,except:type:ethernet,interface-name:lxc*,interface-name:docker*,interface-name:virtual*,interface-name:veth*

Этот файл задает какие интерфейсы будут управляться Network Manager. Запрещаем управлять мостами lxc, lxd, docker и virtualbox. Возможно нужно прописать еще. Локальной сетью и wifi разрешаем управлять. Более подробнее о командах здесь

Читайте также:  Линукс лучше чем виндовс чем лучше чем виндовс

Отключите управление сетью через systemd

systemctl disable systemd-networkd.socket systemctl disable systemd-networkd.service systemctl disable systemd-resolved systemctl disable networkd-dispatcher systemctl disable cloud-init apt-get purge cloud-init rm -rf /etc/cloud/ && sudo rm -rf /var/lib/cloud/

Настройка dnsmasq и resolvconf

Если используете Network Manager, то настройте dnsmasq.

cp /etc/dnsmasq.conf /etc/dnsmasq.conf.example echo "" > /etc/dnsmasq.conf

Создайте файл /etc/resolv.dnsmasq

nameserver 8.8.8.8 nameserver 8.8.4.4 nameserver 1.1.1.1

В /etc/dnsmasq.conf пропишите:

port=53 listen-address=0.0.0.0 no-dhcp-interface= bind-interfaces expand-hosts local-ttl=1 no-negcache # Динамические настройки DNS resolv-file=/var/run/dnsmasq/resolv.conf # Настройки DNS по умолчанию #resolv-file=/etc/resolv.dnsmasq conf-dir=/etc/dnsmasq.d cache-size=150 max-cache-ttl=600 min-cache-ttl=60 # Одновременный запрос ко всем DNS серверам # all-servers # Запрещаем резолвить домены без точки (нужно для Docker Swarm) domain-needed # Для отладки #log-queries

Но лучше всегда задавать DNS параметры через менеджер подключений, такие как wicd или network manager. Чтобы он через resolvconf обновлял DNS сервера.

Если вы хотите прописать свои хосты в системе, вы можете использовать файл /etc/hosts или создать новый файл в папке /etc/dnsmasq.d/examle.domain со следующим содержанием:

# Example address=/.example/127.0.0.2 address=/ns.example/127.0.0.1 address=/test.example/127.0.0.5

Данный файл говорит dnsmasq резолвить домен .examle, учитывая wildcard запросы.

Также dnsmasq переодически будет проверять файл /var/run/dnsmasq/resolv.conf на наличие новых записей. Wicd и Network Manager будут помещать туда DNS сервера при подключении.

Также есть инструкция для настройки dnsmaq для Docker swarm.

Команды Network Managment

Посмотреть список устройств, которыми можно управлять nmcli d

DEVICE TYPE STATE CONNECTION wlp3s0 wifi connected MyWiFi enp2s0 ethernet connected Eth0 lxcbr0 bridge unmanaged -- virtualbox bridge unmanaged -- lo loopback unmanaged --

Если стоит unmanaged, то Network Managment не может управлять устройством.

Посмотреть список соединений nmcli c

NAME UUID TYPE DEVICE MyWiFi 118f13de-b635-4332-9ef4-8151dfb5068f wifi wlp3s0 Eth0 f74f8a7a-ca6c-4d94-9c57-0ce7b37fd439 ethernet enp2s0

Это список соединений, для подключений. Этот список можно расширять через команды консоли, или через интерфейс nm-connection-editor.

Читайте также:  Current user in linux command

Подключиться к определенной сети:

Локальная сеть в Network Manager

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

nmcli connection add type ethernet con-name Eth0 ifname enp2s0 nmcli c m Eth0 ipv4.route-metric 100 nmcli c m Eth0 ipv4.dns 8.8.8.8 8.8.4.4 nmcli c m Eth0 ipv4.ignore-auto-dns yes nmcli c m Eth0 connection.autoconnect-priority 999 

Обратите внимание на параметр route-metric 100 в конфигах.

Route metric — это приоритет в таблице машрутизации, куда будут отправлены пакеты для выхода в интернет (Маршрутизация по умолчанию). Чем меньше число, тем выше приоритет.

Далее вы можете установить статический IP Адрес

nmcli c m Eth0 ipv4.method manual nmcli c m Eth0 ipv4.address1 192.168.1.5/24,192.168.1.1

Установка статического IP адреса

nmcli c m Eth0 ipv4.addresses "192.168.1.25/24" nmcli c m Eth0 ipv4.gateway "192.168.1.1" nmcli c m Eth0 ipv4.method manual

Подключение по WiFi через Network Manager

Просмотрите список доступных WiFi сетей:

Подключитесь к сети, используя логин и пароль:

nmcli device wifi connect "YourWifiNetwork" password "YourWifiPassword"

Установите параметры подключения

nmcli c m YourWifiNetwork ipv4.route-metric 10 nmcli c m YourWifiNetwork ipv4.ignore-auto-dns yes nmcli c m YourWifiNetwork ipv4.dns 8.8.8.8 8.8.4.4 

Количество попыток подключения к wifi если он не доступен:

nmcli c m YourWifiNetwork connection.autoconnect-retries 3 nmcli c m YourWifiNetwork connection.autoconnect-priority 0

Подключение к wifi через это соединение выполняется командой:

nmcli c up YourWifiNetwork

После этой команды, соединение будет автоматически подниматься, после появления WiFi сети

Графический интерфейс

Чтобы настраивать network manager мышкой, установите два пакета:

apt install nm-tray network-manager-gnome

Управление через WiFi Wicd

Wicd управляет WiFi. В принципе этого достаточно для ноутбука.

После его установки нужно запретить Network Manager управлять WiFi.

Для этого в файле /usr/lib/NetworkManager/conf.d/10-globally-managed-devices.conf нужно дописать вконце type:wifi и убрать except:type:wifi вначале.

Linux настройка сети network manager unmanaged-devices=*,except:type:gsm,except:type:cdma,except:type:ethernet,interface-name:lxc*,interface-name:docker*,interface-name:virtual*,interface-name:veth*,type:wifi 

и перезапустить Network Manager

service network-manager restart

Добавьте Wicd в автозапуск. Создайте файл nano ~/.config/autostart/wicd-tray.desktop

[Desktop Entry] Categories=Application;Network; Comment=Display network connection status in the system tray Comment[en_US]=Display network connection status in the system tray Comment[he]=הצגת מצב חיבור רשת במגש מערכת Exec=wicd-gtk --tray GenericName=Network Manager Icon=wicd-gtk Icon[en_US]=wicd-gtk Name=Wicd Network Manager Tray Name[en_US]=Wicd Network Manager Tray Terminal=false Type=Application Version=1.0 X-GNOME-Autostart-enabled=true X-KDE-autostart-after=panel

Подключение к WiFi через WPA Supplicant

touch /root/wifi.sh chmod +x /root/wifi.sh

Посмотрите название вашего Wi Fi модуля:

Читайте также:  Ping linux запретить фрагментацию

Он может называться как wlp3s0 или wlan0.

Измените содержимое файла /root/wifi.sh и укажите в нем название вашего Wi Fi модуля. Вместо mynetwork и passphrase укажите свои данные.

wpa_passphrase mynetwork passphrase > /root/wifi.conf wpa_supplicant -i wlan0 -c /root/wifi.conf & sleep 10 ip addr add 192.168.1.150/24 dev wlan0 ip route add 192.168.1.0/24 dev wlan0 metric 100 ip route add default via 192.168.1.1 dev wlan0 metric 10 echo "nameserver 8.8.8.8" > /etc/resolv.conf echo "Connected"

Способ через ip addr

ip addr add 192.168.1.150/24 dev eth0 ip route add 192.168.1.0/24 dev eth0 metric 100 ip route add default via 192.168.1.1 dev eth0 metric 10

Старый способ создания сети через interfaces

Данный способ не рекомендуется использовать. У меня не работал.

Пропишите в /etc/network/interfaces настройте Localhost и Ethernet соединение

# ifupdown has been replaced by netplan(5) on this system. See # /etc/netplan for current configuration. # To re-enable ifupdown on this system, you can run: # sudo apt install ifupdown # Localhost auto lo iface lo inet loopback # Ethernet #allow-hotplug enp2s0 auto enp2s0 iface enp2s0 inet dhcp metric 100

allow-hotplug — Позволяет перезапускать интерфейс, если он упадет
auto enp2s0 — Автоматическое подключение интерфейса при старте системы

Отключите systemd network daemon

systemctl stop systemd-networkd.socket systemd-networkd networkd-dispatcher systemd-networkd-wait-online systemctl disable systemd-networkd.socket systemd-netword networkd-dispatcher systemd-networkd-wait-online
systemctl enable networking systemctl restart networking

Источник

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