Linux wifi 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 wifi 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 сервера.

Читайте также:  Ps4 интернет через wifi

Если вы хотите прописать свои хосты в системе, вы можете использовать файл /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.

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

Локальная сеть в 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 сетей:

Читайте также:  Передача файлов между ноутбуками через 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 wifi 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 модуля:

Он может называться как 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 — Автоматическое подключение интерфейса при старте системы

Читайте также:  Линукс wi fi интернет

Отключите 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

Источник

Configure WiFi Connections

This section explains how to establish a WiFi connection. It covers creating and modifying connections as well as directly connecting.

Establish a Wireless Connection

This section will show how to establish a wifi connection to the wireless network. Note that directly connecting will implicitly create a connection (that can be seen with “nmcli c”). The naming of such will follow “SSID N” pattern, where N is a number.

First, determine the name of the WiFi interface:

$ nmcli d DEVICE TYPE STATE CONNECTION . wlan0 wifi disconnected -- 

Make sure the WiFi radio is on (which is its default state):

Then, list the available WiFi networks:

$ nmcli d wifi list * SSID MODE CHAN RATE SIGNAL BARS SECURITY . my_wifi Infra 5 54 Mbit/s 89 ▂▄▆█ WPA2 

As an example, to connect to the access point ‘my_wifi’, you would use the following command:

$ nmcli d wifi connect my_wifi password

is the password for the connection which needs to have 8-63 characters or 64 hexadecimal characters to specify a full 256-bit key.

Connect to a Hidden Network

A hidden network is a normal wireless network that simply does not broadcast it’s SSID unless solicited. This means that its name cannot be searched and must be known from some other source.

Issue the following command to create a connection associated with a hidden network :

$ nmcli c add type wifi con-name ifname wlan0 ssid $ nmcli c modify wifi-sec.key-mgmt wpa-psk wifi-sec.psk

Now you can establish a connection by typing:

is an arbitrary name given to the connection and is the password to the network. It needs to have between 8-63 characters or 64 hexadecimal characters in order to specify a full 256-bit key.

Further Information

You will find further information and more detailed examples on following pages:

Источник

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