GithubHelp home page GithubHelp logo

max-moser / network-manager-wireguard Goto Github PK

View Code? Open in Web Editor NEW
444.0 27.0 55.0 750 KB

NetworkManager VPN Plugin: Wireguard

License: Other

Makefile 2.34% C 89.09% Python 3.14% Shell 0.14% M4 5.29%

network-manager-wireguard's Introduction

Network-Manager VPN Plugin for WireGuard

This project is a VPN Plugin for NetworkManager that handles client-side WireGuard connections.
It is based on the OpenVPN Plugin and was started as a Bachelor's Thesis at SBA Research.

Guide

Compilation

For compilation, the project uses autoconf and related things.

  • ./autogen.sh
  • make

Installation

In order to get the plugin running, its sources have to be compiled and the result has to be installed. This can be done by following these steps:

  • Compile the project
  • sudo make sysconfdir=/etc libdir=/usr/lib install (don't worry; for uninstalling, there is the target uninstall)

Execution

Once the installation is completed, the Plugin can be used per NetworkManager (usually graphically via the applet).

When a new WireGuard connection is created and configured via the NetworkManager GUI (can also be called via nm-connection-editor), it is the Connection Editor Plugin which is executed. When the connection is activated, it is the service plugin that is being called.

A very basic testing suite is provided in the form of the Python script examples/dbus/dbus.py, which looks up the Plugin via name on D-Bus and sends it a Connect() instruction. More or less the same thing (and more) can however be achieved by just using NetworkManager after installing the package, so there should not be a need for this - except for the fact that the script is easily modifiable.

Viewing Logs

The logs that are created by NetworkManager can be viewed with journalctl -u NetworkManager (at least on Arch Linux). For following new input, journalctl also supports the follow flag, much like tail (-f).

Files

Scripts

Over the course of the project, I created some files that are not required for the project itself, but rather for its development.
Here is a brief overview over some of them:

  • includes2strings.py: Searches the input for -I flags (useful for extracting the include dirs from a Makefile)
  • examples/dbus/dbus.py: A small script that tests the availability of the Plugin and its responsiveness to D-Bus messages

Configuration

D-Bus Allowance

D-Bus does not allow just anybody to own any D-Bus service name they like. Thus, it may be necessary to tell D-Bus that it is not forbidden to use the name org.freedesktop.NetworkManager.wireguard.
This can be achieved by placing an appropriate file (like nm-wireguard-service.conf) inside the directory /etc/dbus-1/system.d or similar.

The following is an example for the content of such a file:

<!DOCTYPE busconfig PUBLIC
 "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
 "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">

<busconfig>
	<policy context="default">
		<allow own_prefix="org.freedesktop.NetworkManager.wireguard"/>
		<allow send_destination="org.freedesktop.NetworkManager.wireguard"/>
		<deny own_prefix="org.freedesktop.NetworkManager.openvpn"/>
		<deny send_destination="org.freedesktop.NetworkManager.openvpn"/>
	</policy>
</busconfig>

NetworkManager Plugin Configuration

NetworkManager has to be told where the plugins live in order to be able to call them. This is done via service.name files, which usually reside in /etc/NetworkManager/VPN or /usr/lib/NetworkManager/VPN (e.g. /usr/lib/NetworkManager/VPN/nm-wireguard-service.name).

An example for the content of these files would be:

# This file is obsoleted by a file in /usr/local/lib/NetworkManager/VPN

[VPN Connection]
name=wireguard
service=org.freedesktop.NetworkManager.wireguard
program=/usr/local/libexec/nm-wireguard-service
supports-multiple-connections=false

[libnm]
plugin=/usr/local/lib/NetworkManager/libnm-vpn-plugin-wireguard.so

[GNOME]
auth-dialog=/usr/local/libexec/nm-wireguard-auth-dialog
properties=/usr/local/lib/NetworkManager/libnm-wireguard-properties
supports-external-ui-mode=false
supports-hints=false

Knowledge

Service (the Plugin itself)

The service is responsible for setting up a VPN connection with the supplied parameters. For this, it has to implement a D-Bus interface and listen to incoming requests, which will be sent by NetworkManager in due time (i.e. when the user tells NM to set up the appropriate VPN connection).
If the binary service is not running at the time when NM wants to set up the connection, it will try to start the binary ad hoc.

In principle, this piece of software can be written in any language, but in order to make the implementation sane, there should at least exist convenient D-Bus bindings for the language. Further, there are parts of the code already implemented in C, which might make it more convenient to just stick to that.

Auth-Dialog

The auth-dialog is responsible for figuring out missing bits of required sensitive information (such as passwords).

It reads the required secrets (and bits of data) for the VPN connection from STDIN in a key/value pair format (see below), until the string "DONE" occurs.
If there are still secrets (i.e. passwords) that are required but not supplied (which passwords are required can be determined by looking at the supplied hints flags), the auth-dialog will check if the keyring contains those secrets.
If there are still secrets missing (and user interaction is allowed per flag), a GTK dialog will be built up in order to prompt the user for passwords.

After all is said and done, the binary writes the found secrets to STDOUT (in a line-based format, as seen below) and waits for "QUIT" to be read from STDIN before exiting.

The behaviour of the binary can be modified by passing various options:

  • -u UUID: The UUID of the VPN connection, used for looking up secrets from the keyring
  • -n NAME: The name of the VPN connection, shown on the popup dialog
  • -s SERVICE: Specifies the name of the VPN service, e.g. org.freedesktop.NetworkManager.openvpn (used to check for compatibility)
  • -i: Allow interaction with the user (i.e. allow a GUI dialog to be created)
  • --external-ui-mode: Give a textual description of the dialog instead of creating a GTK dialog
  • -r: Force the creation of a dialog, even if all passwords were already found
  • -t HINT: Give hints about what passwords are required

Example input:

DATA_KEY=key
DATA_VAL=value
DATA_KEY=another-key
DATA_VAL=another-value
SECRET_KEY=password
SECRET_VAL=verysecurepassword
DONE

Example output:

password
verysecurepassword

Connection Editor Plugin

The Connection Editor Plugin is responsible for providing a GUI inside NetworkManager where all relevant properties for a VPN connection can be specified. If you don't know what I'm talking about, just think about the GUI where you entered the information needed to connect to your local Wifi. That's probably pretty similar.

The Editor Plugin is also responsible for providing means of importing and exporting VPN connections from and to external files in a custom format.

NetworkManager integrates the VPN editors by looking up shared objects in the above mentioned configuration file and accessing them at run-time.
This means however that the editor plugin GUI has to be provided by a shared object, which means that the editor cannot be written in just any language.

Storage of the Connections

Saved connections are stored in /etc/NetworkManager/system-connections, with owner root:root and access permissions 0700.
This guarantees that nobody can have a look at the saved system-wide connections (and their stored secrets) that isn't supposed to.

An example of such a system-connection file would be (one can see that the user-input data is stored as key-value pairs with internally used keys in the vpn section):

[connection]
id=wiretest
uuid=8298d5ea-73d5-499b-9376-57409a7a2331
type=vpn
autoconnect=false
permissions=

[vpn]
local-ip4=192.168.1.2/24
local-listen-port=51820
local-private-key=CBomGS37YC4ak+J2+NPuHtmgIk6gC7yQZKHnboJd3F8=
peer-allowed-ips=192.168.1.254
peer-endpoint=8.16.32.11:51820
peer-public-key=GRk7K3A3JCaoVN1ZhFEtEvyU6+g+FdGaCtSObIYvXX0=
service-type=org.freedesktop.NetworkManager.wireguard

[vpn-secrets]
password
verysecurepassword

[ipv4]
dns-search=
method=auto

[ipv6]
addr-gen-mode=stable-privacy
dns-search=
ip6-privacy=0
method=auto

Resources

NM VPN Plugin:
https://developer.gnome.org/libnm-glib/stable/libnm-glib-NMVPNPlugin.html
https://developer.gnome.org/NetworkManager/stable/gdbus-org.freedesktop.NetworkManager.VPN.Plugin.html

Settings VPN (sent via DBus on Connect(a{sa{sv}}) method):
https://developer.gnome.org/libnm/stable/NMSettingVpn.html#nm-setting-vpn-get-data-item

network-manager-wireguard's People

Contributors

daramos avatar depau avatar druco avatar queuecumber avatar strassl avatar tbk avatar vanillajonathan avatar vk496 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

network-manager-wireguard's Issues

Wireguard no peer

I'm using AUR build:https://aur.archlinux.org/packages/networkmanager-wireguard-git/

Here is the configuration in network manager:
wg1

but then when I run wg there is no peer

 feanor  silmaril  ~  $  sudo wg
interface: Wireguard
  public key: aD1sQ+sjgXcl/VZ9B+kParsyyMmSz3Cb4UqDHnUUPDs=
  private key: (hidden)
  listening port: 52651
 feanor  silmaril  ~  $  

and if I checked my external IP it seems that VPN is not working

Here is wg output at the server:

interface: wg0
  public key: 1HCU+sjWkgrviGQcD+Es1v65CqDPWlCr/2RPKuX8vBI=
  private key: (hidden)
  listening port: 51820

peer: aD1sQ+sjgXcl/VZ9B+kParsyyMmSz3Cb4UqDHnUUPDs=
  allowed ips: 10.200.200.2/32
ubuntu@ip-172-31-5-117:~$ 

Can't see any plugin in NM after install

I've installed into Ubuntu 18.04:

sudo apt install autoconf pkg-config libglib2.0-dev libtool intltool libgtk-3-dev libnma-dev libsecret-1-dev libnm-gtk-dev libnm-glib-vpn-dev

Cloned the repo and did:

# git clone https://github.com/max-moser/network-manager-wireguard.git
# cd network-manager-wireguard
# ./autogen.sh
# sudo make sysconfdir=/etc libdir=/usr/lib install

All went fine.

After I restared NM and also restarted the machine.

But a WG vpn-menu is not shown inside NM.

What can I do?

Debian Buster: no libnm-gtk-dev

Debian Buster and Sid do not have libnm-gtk-dev anymore. Is it possible that network manager 1.10 and up do work in another way than before for gnome plugins?

Does not appear in Fedora 35

I've recently installed Fedora 35 and wanted to install this because for me this is a must, but I wasn't able to do. I've tried with these commands so far.

git clone https://github.com/max-moser/network-manager-wireguard.git
cd network-manager-wireguard/
./autogen.sh --without-libnm-glib
./configure --without-libnm-glib --prefix=/usr --sysconfdir=/etc --libdir=/usr/lib/ --libexecdir=/usr/lib/NetworkManager --localstatedir=/var 
make
sudo make install

It compiles and seems to be installed when I check '/usr/lib/NetworkManager', but it does not show in the GUI. Do you have any idea why? I think it may be because the directories I use in the configuration are not good for fedora, but I don't know.

Main DNS field in VPN tab ignoring if add Domain search in IPv4 tab (NM GUI).

Without Domain search:
resolv.conf -> nameserver 1.1.1.1
add NM DNS: 8.8.8.8
Wireguard up
and
resolv.conf -> nameserver 8.8.8.8

With Domain search:
resolv.conf -> nameserver 1.1.1.1
add NM DNS: 8.8.8.8
add IPv4 Domain search: example.com
Wireguard up
and
resolv.conf -> search example.com
nameserver 1.1.1.1

if add Additional DNS in IPv4 tab:
resolv.conf -> nameserver 1.1.1.1
add NM DNS: 8.8.8.8
add IPv4 Domain search: example.com
add IPv4 Additional DNS: 8.8.8.8
Wireguard up
and
resolv.conf -> search example.com
nameserver 8.8.8.8
nameserver 1.1.1.1

error when trying to connect: failed to look up VPN interface index

Jan 16 21:24:53 x NetworkManager[822]: <error> [1642397093.1688] vpn-connection[0x55b2ec100740,6a149415-973d-44d1-90e5-8a21426b5d0c,"wg2",0:(wg2)]: failed to look up VPN interface index for "wg2"
Jan 16 21:24:53 x NetworkManager[822]: <warn>  [1642397093.1688] vpn-connection[0x55b2ec100740,6a149415-973d-44d1-90e5-8a21426b5d0c,"wg2",0]: VPN connection: did not receive valid IP config information

Ubuntu 18.10 Install Path Wrong

I followed the instructions including the fix for Ubuntu 18.04 given in #3

When I try to add the VPN connection using the gnome network settings, I see the following message in place of the configuration dialog

{Error: unable to load VPN connection editor

It seems to work from nm-connection-editor though

Screenshot:

screenshot from 2018-11-25 17-43-32

resolvconf required on ubuntu

The wireguard package on ubuntu does not depend on resolvconf
resulting in the following error

Nov 24 15:51:07 greyfox NetworkManager[58840]: /usr/bin/wg-quick: line 32: resolvconf: command not found

this can be fixed by running

sudo apt install resolvconf

Internet don't work after start wireguard

Hello, I have wireguard server installed with Nyr autoinstall script. Clients on Android and Windows works OK but on linux it's problem. When I start wireguard connection from network manager I lost internet connection. My wireguard.conf file looks like this:

[Interface]
PrivateKey = dsflknsd;lgkmdfvn58fkdjnvlisd4lk=
Address = 10.66.66.2/32,fd42:42:42::2/128
DNS = 94.140.14.14,94.140.15.15

[Peer]
PublicKey = sdgkjno;vnfvlksajdvnlskdnviufdnvkjf=
PresharedKey = skdhlskjvnaeurvl.kfdnvsdgfdgsf=
Endpoint = x.xxx.xxx.xx:yyyyy
AllowedIPs = 0.0.0.0/0,::/0

I type to network manager Wireguard data from that file:

Zrzut ekranu z 2021-10-05 13-47-27
Zrzut ekranu z 2021-10-05 13-47-31
Zrzut ekranu z 2021-10-05 13-47-50
Zrzut ekranu z 2021-10-05 13-47-53

Logs:

➜ journalctl -u NetworkManager
-- Journal begins at Fri 2020-11-13 09:18:04 CET, ends at Tue 2021-10-05 13:57:09 CEST. --
lis 13 09:23:37 marian-dell NetworkManager[351]: <info>  [1605255817.6525] dhcp4 (wlan0): option dhcp_lease_time      => '600'
lis 13 09:23:37 marian-dell NetworkManager[351]: <info>  [1605255817.6526] dhcp4 (wlan0): option domain_name_servers  => '192.168.1.251'
lis 13 09:23:37 marian-dell NetworkManager[351]: <info>  [1605255817.6526] dhcp4 (wlan0): option expiry               => '1605256417'
lis 13 09:23:37 marian-dell NetworkManager[351]: <info>  [1605255817.6527] dhcp4 (wlan0): option host_name            => 'marian-dell'
lis 13 09:23:37 marian-dell NetworkManager[351]: <info>  [1605255817.6527] dhcp4 (wlan0): option ip_address           => '192.168.1.176'
lis 13 09:23:37 marian-dell NetworkManager[351]: <info>  [1605255817.6527] dhcp4 (wlan0): option next_server          => '192.168.1.251'
lis 13 09:23:37 marian-dell NetworkManager[351]: <info>  [1605255817.6527] dhcp4 (wlan0): option requested_broadcast_address => '1'
lis 13 09:23:37 marian-dell NetworkManager[351]: <info>  [1605255817.6527] dhcp4 (wlan0): option requested_domain_name => '1'
lis 13 09:23:37 marian-dell NetworkManager[351]: <info>  [1605255817.6528] dhcp4 (wlan0): option requested_domain_name_servers => '1'
lis 13 09:23:37 marian-dell NetworkManager[351]: <info>  [1605255817.6528] dhcp4 (wlan0): option requested_domain_search => '1'
lis 13 09:23:37 marian-dell NetworkManager[351]: <info>  [1605255817.6528] dhcp4 (wlan0): option requested_host_name  => '1'
lis 13 09:23:37 marian-dell NetworkManager[351]: <info>  [1605255817.6528] dhcp4 (wlan0): option requested_interface_mtu => '1'
lis 13 09:23:37 marian-dell NetworkManager[351]: <info>  [1605255817.6528] dhcp4 (wlan0): option requested_ms_classless_static_routes => '1'
lis 13 09:23:37 marian-dell NetworkManager[351]: <info>  [1605255817.6529] dhcp4 (wlan0): option requested_nis_domain => '1'
lis 13 09:23:37 marian-dell NetworkManager[351]: <info>  [1605255817.6529] dhcp4 (wlan0): option requested_nis_servers => '1'
lis 13 09:23:37 marian-dell NetworkManager[351]: <info>  [1605255817.6529] dhcp4 (wlan0): option requested_ntp_servers => '1'
lis 13 09:23:37 marian-dell NetworkManager[351]: <info>  [1605255817.6529] dhcp4 (wlan0): option requested_rfc3442_classless_static_routes => '1'
lis 13 09:23:37 marian-dell NetworkManager[351]: <info>  [1605255817.6529] dhcp4 (wlan0): option requested_root_path  => '1'
lis 13 09:23:37 marian-dell NetworkManager[351]: <info>  [1605255817.6529] dhcp4 (wlan0): option requested_routers    => '1'
lis 13 09:23:37 marian-dell NetworkManager[351]: <info>  [1605255817.6530] dhcp4 (wlan0): option requested_static_routes => '1'
lis 13 09:23:37 marian-dell NetworkManager[351]: <info>  [1605255817.6530] dhcp4 (wlan0): option requested_subnet_mask => '1'
lis 13 09:23:37 marian-dell NetworkManager[351]: <info>  [1605255817.6530] dhcp4 (wlan0): option requested_time_offset => '1'
lis 13 09:23:37 marian-dell NetworkManager[351]: <info>  [1605255817.6530] dhcp4 (wlan0): option requested_wpad       => '1'
lis 13 09:23:37 marian-dell NetworkManager[351]: <info>  [1605255817.6530] dhcp4 (wlan0): option routers              => '192.168.1.251'
lis 13 09:23:37 marian-dell NetworkManager[351]: <info>  [1605255817.6531] dhcp4 (wlan0): option subnet_mask          => '255.255.255.0'
lis 13 09:23:37 marian-dell NetworkManager[351]: <info>  [1605255817.6531] dhcp4 (wlan0): state changed extended -> extended
lis 13 09:31:55 marian-dell NetworkManager[351]: <info>  [1605256315.6682] dhcp4 (wlan0): option dhcp_lease_time      => '600'
lis 13 09:31:55 marian-dell NetworkManager[351]: <info>  [1605256315.6682] dhcp4 (wlan0): option domain_name_servers  => '192.168.1.251'
lis 13 09:31:55 marian-dell NetworkManager[351]: <info>  [1605256315.6682] dhcp4 (wlan0): option expiry               => '1605256915'
lis 13 09:31:55 marian-dell NetworkManager[351]: <info>  [1605256315.6682] dhcp4 (wlan0): option host_name            => 'marian-dell'
lis 13 09:31:55 marian-dell NetworkManager[351]: <info>  [1605256315.6682] dhcp4 (wlan0): option ip_address           => '192.168.1.176'
lis 13 09:31:55 marian-dell NetworkManager[351]: <info>  [1605256315.6682] dhcp4 (wlan0): option next_server          => '192.168.1.251'
lis 13 09:31:55 marian-dell NetworkManager[351]: <info>  [1605256315.6682] dhcp4 (wlan0): option requested_broadcast_address => '1'
lis 13 09:31:55 marian-dell NetworkManager[351]: <info>  [1605256315.6682] dhcp4 (wlan0): option requested_domain_name => '1'
lis 13 09:31:55 marian-dell NetworkManager[351]: <info>  [1605256315.6682] dhcp4 (wlan0): option requested_domain_name_servers => '1'
lis 13 09:31:55 marian-dell NetworkManager[351]: <info>  [1605256315.6683] dhcp4 (wlan0): option requested_domain_search => '1'
lis 13 09:31:55 marian-dell NetworkManager[351]: <info>  [1605256315.6683] dhcp4 (wlan0): option requested_host_name  => '1'
lis 13 09:31:55 marian-dell NetworkManager[351]: <info>  [1605256315.6683] dhcp4 (wlan0): option requested_interface_mtu => '1'
lis 13 09:31:55 marian-dell NetworkManager[351]: <info>  [1605256315.6683] dhcp4 (wlan0): option requested_ms_classless_static_routes => '1'
lis 13 09:31:55 marian-dell NetworkManager[351]: <info>  [1605256315.6683] dhcp4 (wlan0): option requested_nis_domain => '1'
lis 13 09:31:55 marian-dell NetworkManager[351]: <info>  [1605256315.6683] dhcp4 (wlan0): option requested_nis_servers => '1'
lis 13 09:31:55 marian-dell NetworkManager[351]: <info>  [1605256315.6683] dhcp4 (wlan0): option requested_ntp_servers => '1'
lis 13 09:31:55 marian-dell NetworkManager[351]: <info>  [1605256315.6683] dhcp4 (wlan0): option requested_rfc3442_classless_static_routes => '1'
lis 13 09:31:55 marian-dell NetworkManager[351]: <info>  [1605256315.6683] dhcp4 (wlan0): option requested_root_path  => '1'
lis 13 09:31:55 marian-dell NetworkManager[351]: <info>  [1605256315.6683] dhcp4 (wlan0): option requested_routers    => '1'
lis 13 09:31:55 marian-dell NetworkManager[351]: <info>  [1605256315.6683] dhcp4 (wlan0): option requested_static_routes => '1'
lis 13 09:31:55 marian-dell NetworkManager[351]: <info>  [1605256315.6683] dhcp4 (wlan0): option requested_subnet_mask => '1'
lis 13 09:31:55 marian-dell NetworkManager[351]: <info>  [1605256315.6684] dhcp4 (wlan0): option requested_time_offset => '1'
lis 13 09:31:55 marian-dell NetworkManager[351]: <info>  [1605256315.6684] dhcp4 (wlan0): option requested_wpad       => '1'
lis 13 09:31:55 marian-dell NetworkManager[351]: <info>  [1605256315.6684] dhcp4 (wlan0): option routers              => '192.168.1.251'
lis 13 09:31:55 marian-dell NetworkManager[351]: <info>  [1605256315.6684] dhcp4 (wlan0): option subnet_mask          => '255.255.255.0'
lis 13 09:31:55 marian-dell NetworkManager[351]: <info>  [1605256315.6684] dhcp4 (wlan0): state changed extended -> extended
lis 13 09:40:21 marian-dell NetworkManager[351]: <info>  [1605256821.6870] dhcp4 (wlan0): option dhcp_lease_time      => '600'
lis 13 09:40:21 marian-dell NetworkManager[351]: <info>  [1605256821.6871] dhcp4 (wlan0): option domain_name_servers  => '192.168.1.251'
lis 13 09:40:21 marian-dell NetworkManager[351]: <info>  [1605256821.6871] dhcp4 (wlan0): option expiry               => '1605257421'
lis 13 09:40:21 marian-dell NetworkManager[351]: <info>  [1605256821.6871] dhcp4 (wlan0): option host_name            => 'marian-dell'
lis 13 09:40:21 marian-dell NetworkManager[351]: <info>  [1605256821.6872] dhcp4 (wlan0): option ip_address           => '192.168.1.176'
lis 13 09:40:21 marian-dell NetworkManager[351]: <info>  [1605256821.6872] dhcp4 (wlan0): option next_server          => '192.168.1.251'
lis 13 09:40:21 marian-dell NetworkManager[351]: <info>  [1605256821.6872] dhcp4 (wlan0): option requested_broadcast_address => '1'
lis 13 09:40:21 marian-dell NetworkManager[351]: <info>  [1605256821.6872] dhcp4 (wlan0): option requested_domain_name => '1'
lis 13 09:40:21 marian-dell NetworkManager[351]: <info>  [1605256821.6872] dhcp4 (wlan0): option requested_domain_name_servers => '1'
lis 13 09:40:21 marian-dell NetworkManager[351]: <info>  [1605256821.6873] dhcp4 (wlan0): option requested_domain_search => '1'
lis 13 09:40:21 marian-dell NetworkManager[351]: <info>  [1605256821.6873] dhcp4 (wlan0): option requested_host_name  => '1'
lis 13 09:40:21 marian-dell NetworkManager[351]: <info>  [1605256821.6873] dhcp4 (wlan0): option requested_interface_mtu => '1'
lis 13 09:40:21 marian-dell NetworkManager[351]: <info>  [1605256821.6873] dhcp4 (wlan0): option requested_ms_classless_static_routes => '1'
lis 13 09:40:21 marian-dell NetworkManager[351]: <info>  [1605256821.6873] dhcp4 (wlan0): option requested_nis_domain => '1'
lis 13 09:40:21 marian-dell NetworkManager[351]: <info>  [1605256821.6874] dhcp4 (wlan0): option requested_nis_servers => '1'
lis 13 09:40:21 marian-dell NetworkManager[351]: <info>  [1605256821.6874] dhcp4 (wlan0): option requested_ntp_servers => '1'
lis 13 09:40:21 marian-dell NetworkManager[351]: <info>  [1605256821.6874] dhcp4 (wlan0): option requested_rfc3442_classless_static_routes => '1'
lis 13 09:40:21 marian-dell NetworkManager[351]: <info>  [1605256821.6874] dhcp4 (wlan0): option requested_root_path  => '1'
lis 13 09:40:21 marian-dell NetworkManager[351]: <info>  [1605256821.6874] dhcp4 (wlan0): option requested_routers    => '1'
lis 13 09:40:21 marian-dell NetworkManager[351]: <info>  [1605256821.6874] dhcp4 (wlan0): option requested_static_routes => '1'
lis 13 09:40:21 marian-dell NetworkManager[351]: <info>  [1605256821.6875] dhcp4 (wlan0): option requested_subnet_mask => '1'
lis 13 09:40:21 marian-dell NetworkManager[351]: <info>  [1605256821.6875] dhcp4 (wlan0): option requested_time_offset => '1'
lis 13 09:40:21 marian-dell NetworkManager[351]: <info>  [1605256821.6875] dhcp4 (wlan0): option requested_wpad       => '1'
lis 13 09:40:21 marian-dell NetworkManager[351]: <info>  [1605256821.6876] dhcp4 (wlan0): option routers              => '192.168.1.251'
lis 13 09:40:21 marian-dell NetworkManager[351]: <info>  [1605256821.6876] dhcp4 (wlan0): option subnet_mask          => '255.255.255.0'
lis 13 09:40:21 marian-dell NetworkManager[351]: <info>  [1605256821.6876] dhcp4 (wlan0): state changed extended -> extended
lis 13 09:48:32 marian-dell NetworkManager[351]: <info>  [1605257312.6656] dhcp4 (wlan0): option dhcp_lease_time      => '600'
lis 13 09:48:32 marian-dell NetworkManager[351]: <info>  [1605257312.6656] dhcp4 (wlan0): option domain_name_servers  => '192.168.1.251'
lis 13 09:48:32 marian-dell NetworkManager[351]: <info>  [1605257312.6657] dhcp4 (wlan0): option expiry               => '1605257912'
lis 13 09:48:32 marian-dell NetworkManager[351]: <info>  [1605257312.6657] dhcp4 (wlan0): option host_name            => 'marian-dell'
lis 13 09:48:32 marian-dell NetworkManager[351]: <info>  [1605257312.6657] dhcp4 (wlan0): option ip_address           => '192.168.1.176'
lis 13 09:48:32 marian-dell NetworkManager[351]: <info>  [1605257312.6657] dhcp4 (wlan0): option next_server          => '192.168.1.251'
lis 13 09:48:32 marian-dell NetworkManager[351]: <info>  [1605257312.6657] dhcp4 (wlan0): option requested_broadcast_address => '1'
lis 13 09:48:32 marian-dell NetworkManager[351]: <info>  [1605257312.6658] dhcp4 (wlan0): option requested_domain_name => '1'
lis 13 09:48:32 marian-dell NetworkManager[351]: <info>  [1605257312.6658] dhcp4 (wlan0): option requested_domain_name_servers => '1'
lis 13 09:48:32 marian-dell NetworkManager[351]: <info>  [1605257312.6658] dhcp4 (wlan0): option requested_domain_search => '1'
lis 13 09:48:32 marian-dell NetworkManager[351]: <info>  [1605257312.6658] dhcp4 (wlan0): option requested_host_name  => '1'
lis 13 09:48:32 marian-dell NetworkManager[351]: <info>  [1605257312.6658] dhcp4 (wlan0): option requested_interface_mtu => '1'
lis 13 09:48:32 marian-dell NetworkManager[351]: <info>  [1605257312.6659] dhcp4 (wlan0): option requested_ms_classless_static_routes => '1'
lis 13 09:48:32 marian-dell NetworkManager[351]: <info>  [1605257312.6659] dhcp4 (wlan0): option requested_nis_domain => '1'
lis 13 09:48:32 marian-dell NetworkManager[351]: <info>  [1605257312.6659] dhcp4 (wlan0): option requested_nis_servers => '1'
lis 13 09:48:32 marian-dell NetworkManager[351]: <info>  [1605257312.6659] dhcp4 (wlan0): option requested_ntp_servers => '1'
lis 13 09:48:32 marian-dell NetworkManager[351]: <info>  [1605257312.6659] dhcp4 (wlan0): option requested_rfc3442_classless_static_routes => '1'
lis 13 09:48:32 marian-dell NetworkManager[351]: <info>  [1605257312.6660] dhcp4 (wlan0): option requested_root_path  => '1'
lis 13 09:48:32 marian-dell NetworkManager[351]: <info>  [1605257312.6660] dhcp4 (wlan0): option requested_routers    => '1'
lis 13 09:48:32 marian-dell NetworkManager[351]: <info>  [1605257312.6660] dhcp4 (wlan0): option requested_static_routes => '1'
lis 13 09:48:32 marian-dell NetworkManager[351]: <info>  [1605257312.6660] dhcp4 (wlan0): option requested_subnet_mask => '1'
lis 13 09:48:32 marian-dell NetworkManager[351]: <info>  [1605257312.6660] dhcp4 (wlan0): option requested_time_offset => '1'
lis 13 09:48:32 marian-dell NetworkManager[351]: <info>  [1605257312.6660] dhcp4 (wlan0): option requested_wpad       => '1'
lis 13 09:48:32 marian-dell NetworkManager[351]: <info>  [1605257312.6661] dhcp4 (wlan0): option routers              => '192.168.1.251'
lis 13 09:48:32 marian-dell NetworkManager[351]: <info>  [1605257312.6661] dhcp4 (wlan0): option subnet_mask          => '255.255.255.0'
lis 13 09:48:32 marian-dell NetworkManager[351]: <info>  [1605257312.6661] dhcp4 (wlan0): state changed extended -> extended
lis 13 09:56:50 marian-dell NetworkManager[351]: <info>  [1605257810.6670] dhcp4 (wlan0): option dhcp_lease_time      => '600'
lis 13 09:56:50 marian-dell NetworkManager[351]: <info>  [1605257810.6671] dhcp4 (wlan0): option domain_name_servers  => '192.168.1.251'
lis 13 09:56:50 marian-dell NetworkManager[351]: <info>  [1605257810.6671] dhcp4 (wlan0): option expiry               => '1605258410'
lis 13 09:56:50 marian-dell NetworkManager[351]: <info>  [1605257810.6671] dhcp4 (wlan0): option host_name            => 'marian-dell'
lis 13 09:56:50 marian-dell NetworkManager[351]: <info>  [1605257810.6671] dhcp4 (wlan0): option ip_address           => '192.168.1.176'
lis 13 09:56:50 marian-dell NetworkManager[351]: <info>  [1605257810.6671] dhcp4 (wlan0): option next_server          => '192.168.1.251'
lis 13 09:56:50 marian-dell NetworkManager[351]: <info>  [1605257810.6672] dhcp4 (wlan0): option requested_broadcast_address => '1'
lis 13 09:56:50 marian-dell NetworkManager[351]: <info>  [1605257810.6672] dhcp4 (wlan0): option requested_domain_name => '1'
lis 13 09:56:50 marian-dell NetworkManager[351]: <info>  [1605257810.6672] dhcp4 (wlan0): option requested_domain_name_servers => '1'
lis 13 09:56:50 marian-dell NetworkManager[351]: <info>  [1605257810.6672] dhcp4 (wlan0): option requested_domain_search => '1'
lis 13 09:56:50 marian-dell NetworkManager[351]: <info>  [1605257810.6672] dhcp4 (wlan0): option requested_host_name  => '1'
lis 13 09:56:50 marian-dell NetworkManager[351]: <info>  [1605257810.6672] dhcp4 (wlan0): option requested_interface_mtu => '1'
lis 13 09:56:50 marian-dell NetworkManager[351]: <info>  [1605257810.6673] dhcp4 (wlan0): option requested_ms_classless_static_routes => '1'
lis 13 09:56:50 marian-dell NetworkManager[351]: <info>  [1605257810.6673] dhcp4 (wlan0): option requested_nis_domain => '1'
lis 13 09:56:50 marian-dell NetworkManager[351]: <info>  [1605257810.6673] dhcp4 (wlan0): option requested_nis_servers => '1'
lis 13 09:56:50 marian-dell NetworkManager[351]: <info>  [1605257810.6673] dhcp4 (wlan0): option requested_ntp_servers => '1'
lis 13 09:56:50 marian-dell NetworkManager[351]: <info>  [1605257810.6673] dhcp4 (wlan0): option requested_rfc3442_classless_static_routes => '1'
lis 13 09:56:50 marian-dell NetworkManager[351]: <info>  [1605257810.6673] dhcp4 (wlan0): option requested_root_path  => '1'
lis 13 09:56:50 marian-dell NetworkManager[351]: <info>  [1605257810.6674] dhcp4 (wlan0): option requested_routers    => '1'
lis 13 09:56:50 marian-dell NetworkManager[351]: <info>  [1605257810.6674] dhcp4 (wlan0): option requested_static_routes => '1'
lis 13 09:56:50 marian-dell NetworkManager[351]: <info>  [1605257810.6674] dhcp4 (wlan0): option requested_subnet_mask => '1'
lis 13 09:56:50 marian-dell NetworkManager[351]: <info>  [1605257810.6674] dhcp4 (wlan0): option requested_time_offset => '1'
lis 13 09:56:50 marian-dell NetworkManager[351]: <info>  [1605257810.6675] dhcp4 (wlan0): option requested_wpad       => '1'
lis 13 09:56:50 marian-dell NetworkManager[351]: <info>  [1605257810.6675] dhcp4 (wlan0): option routers              => '192.168.1.251'
lis 13 09:56:50 marian-dell NetworkManager[351]: <info>  [1605257810.6675] dhcp4 (wlan0): option subnet_mask          => '255.255.255.0'
lis 13 09:56:50 marian-dell NetworkManager[351]: <info>  [1605257810.6675] dhcp4 (wlan0): state changed extended -> extended
lis 13 10:05:14 marian-dell NetworkManager[351]: <info>  [1605258314.5850] dhcp4 (wlan0): option dhcp_lease_time      => '600'
lis 13 10:05:14 marian-dell NetworkManager[351]: <info>  [1605258314.5851] dhcp4 (wlan0): option domain_name_servers  => '192.168.1.251'
lis 13 10:05:14 marian-dell NetworkManager[351]: <info>  [1605258314.5851] dhcp4 (wlan0): option expiry               => '1605258914'
lis 13 10:05:14 marian-dell NetworkManager[351]: <info>  [1605258314.5852] dhcp4 (wlan0): option host_name            => 'marian-dell'
lis 13 10:05:14 marian-dell NetworkManager[351]: <info>  [1605258314.5852] dhcp4 (wlan0): option ip_address           => '192.168.1.176'
lis 13 10:05:14 marian-dell NetworkManager[351]: <info>  [1605258314.5852] dhcp4 (wlan0): option next_server          => '192.168.1.251'
lis 13 10:05:14 marian-dell NetworkManager[351]: <info>  [1605258314.5852] dhcp4 (wlan0): option requested_broadcast_address => '1'
lis 13 10:05:14 marian-dell NetworkManager[351]: <info>  [1605258314.5852] dhcp4 (wlan0): option requested_domain_name => '1'
lis 13 10:05:14 marian-dell NetworkManager[351]: <info>  [1605258314.5852] dhcp4 (wlan0): option requested_domain_name_servers => '1'
lis 13 10:05:14 marian-dell NetworkManager[351]: <info>  [1605258314.5853] dhcp4 (wlan0): option requested_domain_search => '1'
lis 13 10:05:14 marian-dell NetworkManager[351]: <info>  [1605258314.5853] dhcp4 (wlan0): option requested_host_name  => '1'
lis 13 10:05:14 marian-dell NetworkManager[351]: <info>  [1605258314.5853] dhcp4 (wlan0): option requested_interface_mtu => '1'
lis 13 10:05:14 marian-dell NetworkManager[351]: <info>  [1605258314.5853] dhcp4 (wlan0): option requested_ms_classless_static_routes => '1'
lis 13 10:05:14 marian-dell NetworkManager[351]: <info>  [1605258314.5853] dhcp4 (wlan0): option requested_nis_domain => '1'
lis 13 10:05:14 marian-dell NetworkManager[351]: <info>  [1605258314.5853] dhcp4 (wlan0): option requested_nis_servers => '1'
lis 13 10:05:14 marian-dell NetworkManager[351]: <info>  [1605258314.5854] dhcp4 (wlan0): option requested_ntp_servers => '1'
lis 13 10:05:14 marian-dell NetworkManager[351]: <info>  [1605258314.5854] dhcp4 (wlan0): option requested_rfc3442_classless_static_routes => '1'
lis 13 10:05:14 marian-dell NetworkManager[351]: <info>  [1605258314.5854] dhcp4 (wlan0): option requested_root_path  => '1'
lis 13 10:05:14 marian-dell NetworkManager[351]: <info>  [1605258314.5854] dhcp4 (wlan0): option requested_routers    => '1'
lis 13 10:05:14 marian-dell NetworkManager[351]: <info>  [1605258314.5854] dhcp4 (wlan0): option requested_static_routes => '1'
lis 13 10:05:14 marian-dell NetworkManager[351]: <info>  [1605258314.5854] dhcp4 (wlan0): option requested_subnet_mask => '1'
lis 13 10:05:14 marian-dell NetworkManager[351]: <info>  [1605258314.5855] dhcp4 (wlan0): option requested_time_offset => '1'
lis 13 10:05:14 marian-dell NetworkManager[351]: <info>  [1605258314.5855] dhcp4 (wlan0): option requested_wpad       => '1'
lis 13 10:05:14 marian-dell NetworkManager[351]: <info>  [1605258314.5855] dhcp4 (wlan0): option routers              => '192.168.1.251'
lis 13 10:05:14 marian-dell NetworkManager[351]: <info>  [1605258314.5855] dhcp4 (wlan0): option subnet_mask          => '255.255.255.0'
lis 13 10:05:14 marian-dell NetworkManager[351]: <info>  [1605258314.5855] dhcp4 (wlan0): state changed extended -> extended
lis 13 10:13:39 marian-dell NetworkManager[351]: <info>  [1605258819.5777] dhcp4 (wlan0): option dhcp_lease_time      => '600'
lis 13 10:13:39 marian-dell NetworkManager[351]: <info>  [1605258819.5778] dhcp4 (wlan0): option domain_name_servers  => '192.168.1.251'
lis 13 10:13:39 marian-dell NetworkManager[351]: <info>  [1605258819.5778] dhcp4 (wlan0): option expiry               => '1605259419'
lis 13 10:13:39 marian-dell NetworkManager[351]: <info>  [1605258819.5778] dhcp4 (wlan0): option host_name            => 'marian-dell'
lis 13 10:13:39 marian-dell NetworkManager[351]: <info>  [1605258819.5778] dhcp4 (wlan0): option ip_address           => '192.168.1.176'
lis 13 10:13:39 marian-dell NetworkManager[351]: <info>  [1605258819.5779] dhcp4 (wlan0): option next_server          => '192.168.1.251'
lis 13 10:13:39 marian-dell NetworkManager[351]: <info>  [1605258819.5779] dhcp4 (wlan0): option requested_broadcast_address => '1'
lis 13 10:13:39 marian-dell NetworkManager[351]: <info>  [1605258819.5779] dhcp4 (wlan0): option requested_domain_name => '1'
lis 13 10:13:39 marian-dell NetworkManager[351]: <info>  [1605258819.5779] dhcp4 (wlan0): option requested_domain_name_servers => '1'
lis 13 10:13:39 marian-dell NetworkManager[351]: <info>  [1605258819.5779] dhcp4 (wlan0): option requested_domain_search => '1'
lis 13 10:13:39 marian-dell NetworkManager[351]: <info>  [1605258819.5780] dhcp4 (wlan0): option requested_host_name  => '1'
lis 13 10:13:39 marian-dell NetworkManager[351]: <info>  [1605258819.5780] dhcp4 (wlan0): option requested_interface_mtu => '1'
lis 13 10:13:39 marian-dell NetworkManager[351]: <info>  [1605258819.5780] dhcp4 (wlan0): option requested_ms_classless_static_routes => '1'
lis 13 10:13:39 marian-dell NetworkManager[351]: <info>  [1605258819.5780] dhcp4 (wlan0): option requested_nis_domain => '1'
lis 13 10:13:39 marian-dell NetworkManager[351]: <info>  [1605258819.5780] dhcp4 (wlan0): option requested_nis_servers => '1'
lis 13 10:13:39 marian-dell NetworkManager[351]: <info>  [1605258819.5780] dhcp4 (wlan0): option requested_ntp_servers => '1'
lis 13 10:13:39 marian-dell NetworkManager[351]: <info>  [1605258819.5781] dhcp4 (wlan0): option requested_rfc3442_classless_static_routes => '1'
lis 13 10:13:39 marian-dell NetworkManager[351]: <info>  [1605258819.5781] dhcp4 (wlan0): option requested_root_path  => '1'
lis 13 10:13:39 marian-dell NetworkManager[351]: <info>  [1605258819.5781] dhcp4 (wlan0): option requested_routers    => '1'
lis 13 10:13:39 marian-dell NetworkManager[351]: <info>  [1605258819.5781] dhcp4 (wlan0): option requested_static_routes => '1'
lis 13 10:13:39 marian-dell NetworkManager[351]: <info>  [1605258819.5781] dhcp4 (wlan0): option requested_subnet_mask => '1'
lis 13 10:13:39 marian-dell NetworkManager[351]: <info>  [1605258819.5782] dhcp4 (wlan0): option requested_time_offset => '1'
lis 13 10:13:39 marian-dell NetworkManager[351]: <info>  [1605258819.5782] dhcp4 (wlan0): option requested_wpad       => '1'
lis 13 10:13:39 marian-dell NetworkManager[351]: <info>  [1605258819.5782] dhcp4 (wlan0): option routers              => '192.168.1.251'
lis 13 10:13:39 marian-dell NetworkManager[351]: <info>  [1605258819.5782] dhcp4 (wlan0): option subnet_mask          => '255.255.255.0'
lis 13 10:13:39 marian-dell NetworkManager[351]: <info>  [1605258819.5782] dhcp4 (wlan0): state changed extended -> extended
lis 13 10:22:00 marian-dell NetworkManager[351]: <info>  [1605259320.5805] dhcp4 (wlan0): option dhcp_lease_time      => '600'
lis 13 10:22:00 marian-dell NetworkManager[351]: <info>  [1605259320.5805] dhcp4 (wlan0): option domain_name_servers  => '192.168.1.251'
lis 13 10:22:00 marian-dell NetworkManager[351]: <info>  [1605259320.5806] dhcp4 (wlan0): option expiry               => '1605259920'
lis 13 10:22:00 marian-dell NetworkManager[351]: <info>  [1605259320.5806] dhcp4 (wlan0): option host_name            => 'marian-dell'
lis 13 10:22:00 marian-dell NetworkManager[351]: <info>  [1605259320.5806] dhcp4 (wlan0): option ip_address           => '192.168.1.176'
lis 13 10:22:00 marian-dell NetworkManager[351]: <info>  [1605259320.5806] dhcp4 (wlan0): option next_server          => '192.168.1.251'
lis 13 10:22:00 marian-dell NetworkManager[351]: <info>  [1605259320.5806] dhcp4 (wlan0): option requested_broadcast_address => '1'
lis 13 10:22:00 marian-dell NetworkManager[351]: <info>  [1605259320.5806] dhcp4 (wlan0): option requested_domain_name => '1'
lis 13 10:22:00 marian-dell NetworkManager[351]: <info>  [1605259320.5807] dhcp4 (wlan0): option requested_domain_name_servers => '1'
lis 13 10:22:00 marian-dell NetworkManager[351]: <info>  [1605259320.5807] dhcp4 (wlan0): option requested_domain_search => '1'
lis 13 10:22:00 marian-dell NetworkManager[351]: <info>  [1605259320.5807] dhcp4 (wlan0): option requested_host_name  => '1'
lis 13 10:22:00 marian-dell NetworkManager[351]: <info>  [1605259320.5807] dhcp4 (wlan0): option requested_interface_mtu => '1'
lis 13 10:22:00 marian-dell NetworkManager[351]: <info>  [1605259320.5807] dhcp4 (wlan0): option requested_ms_classless_static_routes => '1'
lis 13 10:22:00 marian-dell NetworkManager[351]: <info>  [1605259320.5807] dhcp4 (wlan0): option requested_nis_domain => '1'
lis 13 10:22:00 marian-dell NetworkManager[351]: <info>  [1605259320.5807] dhcp4 (wlan0): option requested_nis_servers => '1'
lis 13 10:22:00 marian-dell NetworkManager[351]: <info>  [1605259320.5807] dhcp4 (wlan0): option requested_ntp_servers => '1'
lis 13 10:22:00 marian-dell NetworkManager[351]: <info>  [1605259320.5808] dhcp4 (wlan0): option requested_rfc3442_classless_static_routes => '1'
lis 13 10:22:00 marian-dell NetworkManager[351]: <info>  [1605259320.5808] dhcp4 (wlan0): option requested_root_path  => '1'
lis 13 10:22:00 marian-dell NetworkManager[351]: <info>  [1605259320.5808] dhcp4 (wlan0): option requested_routers    => '1'
lis 13 10:22:00 marian-dell NetworkManager[351]: <info>  [1605259320.5808] dhcp4 (wlan0): option requested_static_routes => '1'
lis 13 10:22:00 marian-dell NetworkManager[351]: <info>  [1605259320.5808] dhcp4 (wlan0): option requested_subnet_mask => '1'
lis 13 10:22:00 marian-dell NetworkManager[351]: <info>  [1605259320.5808] dhcp4 (wlan0): option requested_time_offset => '1'
lis 13 10:22:00 marian-dell NetworkManager[351]: <info>  [1605259320.5808] dhcp4 (wlan0): option requested_wpad       => '1'
lis 13 10:22:00 marian-dell NetworkManager[351]: <info>  [1605259320.5808] dhcp4 (wlan0): option routers              => '192.168.1.251'
lis 13 10:22:00 marian-dell NetworkManager[351]: <info>  [1605259320.5809] dhcp4 (wlan0): option subnet_mask          => '255.255.255.0'
lis 13 10:22:00 marian-dell NetworkManager[351]: <info>  [1605259320.5809] dhcp4 (wlan0): state changed extended -> extended
lis 13 10:30:08 marian-dell NetworkManager[351]: <info>  [1605259808.5684] dhcp4 (wlan0): option dhcp_lease_time      => '600'
lis 13 10:30:08 marian-dell NetworkManager[351]: <info>  [1605259808.5684] dhcp4 (wlan0): option domain_name_servers  => '192.168.1.251'
lis 13 10:30:08 marian-dell NetworkManager[351]: <info>  [1605259808.5685] dhcp4 (wlan0): option expiry               => '1605260408'
lis 13 10:30:08 marian-dell NetworkManager[351]: <info>  [1605259808.5685] dhcp4 (wlan0): option host_name            => 'marian-dell'
lis 13 10:30:08 marian-dell NetworkManager[351]: <info>  [1605259808.5685] dhcp4 (wlan0): option ip_address           => '192.168.1.176'
lis 13 10:30:08 marian-dell NetworkManager[351]: <info>  [1605259808.5685] dhcp4 (wlan0): option next_server          => '192.168.1.251'
lis 13 10:30:08 marian-dell NetworkManager[351]: <info>  [1605259808.5685] dhcp4 (wlan0): option requested_broadcast_address => '1'
lis 13 10:30:08 marian-dell NetworkManager[351]: <info>  [1605259808.5685] dhcp4 (wlan0): option requested_domain_name => '1'
lis 13 10:30:08 marian-dell NetworkManager[351]: <info>  [1605259808.5685] dhcp4 (wlan0): option requested_domain_name_servers => '1'
lis 13 10:30:08 marian-dell NetworkManager[351]: <info>  [1605259808.5685] dhcp4 (wlan0): option requested_domain_search => '1'
lis 13 10:30:08 marian-dell NetworkManager[351]: <info>  [1605259808.5685] dhcp4 (wlan0): option requested_host_name  => '1'
lis 13 10:30:08 marian-dell NetworkManager[351]: <info>  [1605259808.5686] dhcp4 (wlan0): option requested_interface_mtu => '1'
lis 13 10:30:08 marian-dell NetworkManager[351]: <info>  [1605259808.5686] dhcp4 (wlan0): option requested_ms_classless_static_routes => '1'
lis 13 10:30:08 marian-dell NetworkManager[351]: <info>  [1605259808.5686] dhcp4 (wlan0): option requested_nis_domain => '1'
lis 13 10:30:08 marian-dell NetworkManager[351]: <info>  [1605259808.5686] dhcp4 (wlan0): option requested_nis_servers => '1'
lis 13 10:30:08 marian-dell NetworkManager[351]: <info>  [1605259808.5686] dhcp4 (wlan0): option requested_ntp_servers => '1'
lis 13 10:30:08 marian-dell NetworkManager[351]: <info>  [1605259808.5686] dhcp4 (wlan0): option requested_rfc3442_classless_static_routes => '1'
lis 13 10:30:08 marian-dell NetworkManager[351]: <info>  [1605259808.5686] dhcp4 (wlan0): option requested_root_path  => '1'
lis 13 10:30:08 marian-dell NetworkManager[351]: <info>  [1605259808.5686] dhcp4 (wlan0): option requested_routers    => '1'
lis 13 10:30:08 marian-dell NetworkManager[351]: <info>  [1605259808.5686] dhcp4 (wlan0): option requested_static_routes => '1'
lis 13 10:30:08 marian-dell NetworkManager[351]: <info>  [1605259808.5687] dhcp4 (wlan0): option requested_subnet_mask => '1'
lis 13 10:30:08 marian-dell NetworkManager[351]: <info>  [1605259808.5687] dhcp4 (wlan0): option requested_time_offset => '1'
lis 13 10:30:08 marian-dell NetworkManager[351]: <info>  [1605259808.5687] dhcp4 (wlan0): option requested_wpad       => '1'
lis 13 10:30:08 marian-dell NetworkManager[351]: <info>  [1605259808.5687] dhcp4 (wlan0): option routers              => '192.168.1.251'
lis 13 10:30:08 marian-dell NetworkManager[351]: <info>  [1605259808.5687] dhcp4 (wlan0): option subnet_mask          => '255.255.255.0'
lis 13 10:30:08 marian-dell NetworkManager[351]: <info>  [1605259808.5687] dhcp4 (wlan0): state changed extended -> extended
lis 13 10:38:31 marian-dell NetworkManager[351]: <info>  [1605260311.5794] dhcp4 (wlan0): option dhcp_lease_time      => '600'
lis 13 10:38:31 marian-dell NetworkManager[351]: <info>  [1605260311.5794] dhcp4 (wlan0): option domain_name_servers  => '192.168.1.251'
lis 13 10:38:31 marian-dell NetworkManager[351]: <info>  [1605260311.5795] dhcp4 (wlan0): option expiry               => '1605260911'
lis 13 10:38:31 marian-dell NetworkManager[351]: <info>  [1605260311.5795] dhcp4 (wlan0): option host_name            => 'marian-dell'
lis 13 10:38:31 marian-dell NetworkManager[351]: <info>  [1605260311.5795] dhcp4 (wlan0): option ip_address           => '192.168.1.176'
lis 13 10:38:31 marian-dell NetworkManager[351]: <info>  [1605260311.5795] dhcp4 (wlan0): option next_server          => '192.168.1.251'
lis 13 10:38:31 marian-dell NetworkManager[351]: <info>  [1605260311.5795] dhcp4 (wlan0): option requested_broadcast_address => '1'
lis 13 10:38:31 marian-dell NetworkManager[351]: <info>  [1605260311.5795] dhcp4 (wlan0): option requested_domain_name => '1'
lis 13 10:38:31 marian-dell NetworkManager[351]: <info>  [1605260311.5795] dhcp4 (wlan0): option requested_domain_name_servers => '1'
lis 13 10:38:31 marian-dell NetworkManager[351]: <info>  [1605260311.5795] dhcp4 (wlan0): option requested_domain_search => '1'
lis 13 10:38:31 marian-dell NetworkManager[351]: <info>  [1605260311.5795] dhcp4 (wlan0): option requested_host_name  => '1'

When I use GUI app for wireguard like Quomui or Wiregui it works OK.
OS: Archlinux 5.14.9-arch2-1, GNOME

Edit.
I find similar issue here link but when I add that line /usr/bin/ip route flush table 51820 to my postUP field in Network Manager GUI I have working internet on VPN but it don't work via wireguard. It shows my actual IP.

Regards,
Przemek

Cannot make

I get this error - make: *** No targets specified and no makefile found. Stop. after doing make, even though both Makefile.am and Makefile.in are present in the folder

I am using Fedora 35 with Gnome

Internet traffic not routed through VPN

I've set Peer -> Allowed IPs to 0.0.0.0/0. The connection is accepted and sudo wg on my server shows a successful handshake.

But the default gateway on my client is not updated so internet traffic is not routed through the VPN. Should this not happen automatically or am I missing some setting?

Ubuntu 21.10
Gnome 40.4.0
Wayland

Perhaps related https://askubuntu.com/questions/1039615/traffic-not-routed-through-vpn-connection-when-connected-by-network-manager

Ipv6 not supported yet?

Getting a segfault if ipv6 added into the configuration

мая 25 12:49:36 arch-xps13 NetworkManager[406]: <info>  [1527241776.7203] vpn-connection[0x55e9eda24590,1780bc0a-c782-4a29-91e2-194ea9b9bd53,"AzireVPN",0]: VPN plugin: state changed: starting (3)
мая 25 12:49:36 arch-xps13 NetworkManager[406]: <info>  [1527241776.7204] vpn-connection[0x55e9eda24590,1780bc0a-c782-4a29-91e2-194ea9b9bd53,"AzireVPN",0]: VPN connection: (ConnectInteractive) reply received
мая 25 12:49:36 arch-xps13 NetworkManager[406]: <info>  [1527241776.7205] vpn-connection[0x55e9eda24590,1780bc0a-c782-4a29-91e2-194ea9b9bd53,"AzireVPN",0]: VPN connection: (IP Config Get) reply received.
мая 25 12:49:36 arch-xps13 NetworkManager[406]: <info>  [1527241776.7207] vpn-connection[0x55e9eda24590,1780bc0a-c782-4a29-91e2-194ea9b9bd53,"AzireVPN",19:(AzireVPN)]: VPN connection: (IP4 Config Get) reply recei>
мая 25 12:49:36 arch-xps13 kernel: nm-wireguard-se[20254]: segfault at 0 ip 00007fab54e30661 sp 00007ffffdf9b528 error 4 in libc-2.27.so[7fab54cd6000+1b3000]
мая 25 12:49:36 arch-xps13 systemd[1]: Started Process Core Dump (PID 20264/UID 0).
мая 25 12:49:37 arch-xps13 NetworkManager[406]: <info>  [1527241777.2608] vpn-connection[0x55e9eda24590,1780bc0a-c782-4a29-91e2-194ea9b9bd53,"AzireVPN",19:(AzireVPN)]: VPN service disappeared
мая 25 12:49:37 arch-xps13 systemd-coredump[20265]: Process 20254 (nm-wireguard-se) of user 0 dumped core.
                                                       
                                                       Stack trace of thread 20254:
                                                       #0  0x00007fab54e30661 __strlen_avx2 (libc.so.6)
                                                       #1  0x00007fab556c352f n/a (libgio-2.0.so.0)
                                                       #2  0x00007fab556c35fb n/a (libgio-2.0.so.0)
                                                       #3  0x00007fab556c309f n/a (libgio-2.0.so.0)
                                                       #4  0x00007fab556c5ea3 g_dbus_message_to_blob (libgio-2.0.so.0)
                                                       #5  0x00007fab556b9d4f n/a (libgio-2.0.so.0)
                                                       #6  0x00007fab556bd101 g_dbus_connection_send_message (libgio-2.0.so.0)
                                                       #7  0x00007fab556c11ab g_dbus_connection_emit_signal (libgio-2.0.so.0)
                                                       #8  0x00007fab55a57b69 n/a (libnm.so.0)
                                                       #9  0x00007fab532721c8 ffi_call_unix64 (libffi.so.6)
                                                       #10 0x00007fab53271c2a ffi_call (libffi.so.6)
                                                       #11 0x00007fab553b9273 g_cclosure_marshal_generic (libgobject-2.0.so.0)
                                                       #12 0x00007fab553b8a4d g_closure_invoke (libgobject-2.0.so.0)
                                                       #13 0x00007fab553cbbca n/a (libgobject-2.0.so.0)
                                                       #14 0x00007fab553d46f6 g_signal_emit_valist (libgobject-2.0.so.0)
                                                       #15 0x00007fab553d560c g_signal_emit_by_name (libgobject-2.0.so.0)
                                                       #16 0x00007fab559f9c37 nm_vpn_service_plugin_set_ip6_config (libnm.so.0)
                                                       #17 0x000056012b8c5505 n/a (nm-wireguard-service)
                                                       #18 0x00007fab550decb3 n/a (libglib-2.0.so.0)
                                                       #19 0x00007fab550de1d6 g_main_context_dispatch (libglib-2.0.so.0)
                                                       #20 0x00007fab550de5b1 n/a (libglib-2.0.so.0)
                                                       #21 0x00007fab550de8e2 g_main_loop_run (libglib-2.0.so.0)
                                                       #22 0x000056012b8c5122 n/a (nm-wireguard-service)
                                                       #23 0x00007fab54cf906b __libc_start_main (libc.so.6)
                                                       #24 0x000056012b8c524a n/a (nm-wireguard-service)
                                                       
                                                       Stack trace of thread 20256:
                                                       #0  0x00007fab54dc3ea9 __poll (libc.so.6)
                                                       #1  0x00007fab550de523 n/a (libglib-2.0.so.0)
                                                       #2  0x00007fab550de8e2 g_main_loop_run (libglib-2.0.so.0)
                                                       #3  0x00007fab556cd348 n/a (libgio-2.0.so.0)
                                                       #4  0x00007fab55106a2a n/a (libglib-2.0.so.0)
                                                       #5  0x00007fab53b02075 start_thread (libpthread.so.0)
                                                       #6  0x00007fab54dce53f __clone (libc.so.6)
                                                       
                                                       Stack trace of thread 20255:
                                                       #0  0x00007fab54dc3ea9 __poll (libc.so.6)
                                                       #1  0x00007fab550de523 n/a (libglib-2.0.so.0)
                                                       #2  0x00007fab550de63e g_main_context_iteration (libglib-2.0.so.0)
                                                       #3  0x00007fab550de692 n/a (libglib-2.0.so.0)
                                                       #4  0x00007fab55106a2a n/a (libglib-2.0.so.0)
                                                       #5  0x00007fab53b02075 start_thread (libpthread.so.0)
                                                       #6  0x00007fab54dce53f __clone (libc.so.6)

Unable to reconnect after hibernation

Had the same issue after hibernation as #12

After hibernation normally the connection should be kept, in my case it was lost i could not reconnect, when i tried to i have this error

(interface name)]: failed to look up VPN interface index for "interface name"

Displayed in the status of NetworkManager service

systemctl status networkmanager.service

connecting directly with wg-quick work

i had to restart the nm service to get it to work again, i will try to reproduce the bug with more precision and post back

Wireguard's stateless feature (connect before going online, killswitch)

Wireguard have the stateless feature, we could initiate a connection without any network connectivity and thus gain a kill switch feature (no data are leaked while connecting to a network and before the vpn is initiated).

With w-quick, we could initiate a wireguard connection while being offline, and when we go online (connect to an internet network) the vpn link just work directly without further manipulation.

This is not possible with network manager. i know that network manager disconnect network on sleep/hibernation because of its architecture.

Is it possible to have:

  • Allowing connection to wireguard before any network connectivity
  • Eventually add the wireguard's stateless feature (keep connection after sleep/hibernation)

Thanks a lot !

Quarterly Snapshots?

It would be nice to build packages based on snapshots vs version -9999 or -git . Think we can get a starter snapshot and quarterly snapshots for the year until we can see release numbers?

Conversion to embeddable library

Hello,

I saw that you already integrated the embeddable library, did you start work on using it yet? I can't find a branch on this repository with work on that. I want to make sure we are not working in parallel on the same thing without knowing of the duplicate effort.

Wireguard VPN didn't work through network manager

Hello. I can't connect to VPN server using network-manager-wireguard, but when I connect using CLI connection is established (command sudo wg-quick up wg0). System: Ubuntu 22.04.2 LTS I looked at the logs and found this
image
Π‘an anyone suggest what's wrong?

Can't enable VPN connection in menu

Hi!)
I can not activate the connection, the toggle switch immediately switches to the off state

VIDEO

Ubuntu Desktop 22.04
I gave rights to user for bla-bla.conf but it doesn work, I can add connection via import file menu, but can't activate it there

ΠΌΠ°Ρ€ 05 19:22:23 ubuntult NetworkManager[839]: [1678033343.4919] vpn[0x55a2763521b0,16490d4a-1f1f-4fc4-bcf7-a9cf8d825bee,"IPHOST>
ΠΌΠ°Ρ€ 05 19:22:23 ubuntult NetworkManager[839]: [1678033343.4936] audit: op="connection-activate" uuid="16490d4a-1f1f-4fc4-bcf7-a>
ΠΌΠ°Ρ€ 05 19:22:23 ubuntult NetworkManager[9378]: [#] ip link add IPHOSTER-WRG type wireguard
ΠΌΠ°Ρ€ 05 19:22:23 ubuntult NetworkManager[9378]: [#] wg setconf IPHOSTER-WRG /dev/fd/63
ΠΌΠ°Ρ€ 05 19:22:23 ubuntult NetworkManager[839]: [1678033343.6118] manager: (IPHOSTER-WRG): new WireGuard device (/org/freedesktop>
ΠΌΠ°Ρ€ 05 19:22:23 ubuntult NetworkManager[9378]: [#] ip -4 address add 10.8.0.3/24 dev IPHOSTER-WRG
ΠΌΠ°Ρ€ 05 19:22:23 ubuntult NetworkManager[9378]: [#] ip link set mtu 1420 up dev IPHOSTER-WRG
ΠΌΠ°Ρ€ 05 19:22:23 ubuntult NetworkManager[9404]: [#] resolvconf -a tun.IPHOSTER-WRG -m 0 -x
ΠΌΠ°Ρ€ 05 19:22:23 ubuntult NetworkManager[839]: [1678033343.6694] device (IPHOSTER-WRG): state change: unmanaged -> unavailable (>
ΠΌΠ°Ρ€ 05 19:22:23 ubuntult NetworkManager[839]: [1678033343.6720] device (IPHOSTER-WRG): state change: unavailable -> disconnecte>
ΠΌΠ°Ρ€ 05 19:22:23 ubuntult NetworkManager[839]: [1678033343.6757] device (IPHOSTER-WRG): Activation: starting connection 'IPHOSTE>
ΠΌΠ°Ρ€ 05 19:22:23 ubuntult NetworkManager[839]: [1678033343.6982] device (IPHOSTER-WRG): state change: disconnected -> prepare (r>
ΠΌΠ°Ρ€ 05 19:22:23 ubuntult NetworkManager[839]: [1678033343.6993] device (IPHOSTER-WRG): state change: prepare -> config (reason >
ΠΌΠ°Ρ€ 05 19:22:23 ubuntult NetworkManager[839]: [1678033343.7002] device (IPHOSTER-WRG): state change: config -> ip-config (reaso>
ΠΌΠ°Ρ€ 05 19:22:23 ubuntult NetworkManager[839]: [1678033343.7011] device (IPHOSTER-WRG): state change: ip-config -> ip-check (rea>
ΠΌΠ°Ρ€ 05 19:22:23 ubuntult NetworkManager[839]: [1678033343.7537] device (IPHOSTER-WRG): state change: ip-check -> secondaries (r>
ΠΌΠ°Ρ€ 05 19:22:23 ubuntult NetworkManager[839]: [1678033343.7542] device (IPHOSTER-WRG): state change: secondaries -> activated (>
ΠΌΠ°Ρ€ 05 19:22:23 ubuntult NetworkManager[839]: [1678033343.7562] device (IPHOSTER-WRG): Activation: successful, device activated.
ubuntult NetworkManager[9378]: [#] wg set IPHOSTER-WRG fwmark 51820
ΠΌΠ°Ρ€ 05 19:22:23 ubuntult NetworkManager[9378]: [#] ip -6 route add ::/0 dev IPHOSTER-WRG table 51820
ΠΌΠ°Ρ€ 05 19:22:23 ubuntult NetworkManager[9378]: [#] ip -6 rule add not fwmark 51820 table 51820
ΠΌΠ°Ρ€ 05 19:22:23 ubuntult NetworkManager[9378]: [#] ip -6 rule add table main suppress_prefixlength 0
ΠΌΠ°Ρ€ 05 19:22:23 ubuntult NetworkManager[9378]: [#] nft -f /dev/fd/63
ΠΌΠ°Ρ€ 05 19:22:23 ubuntult NetworkManager[9378]: [#] ip -4 route add 0.0.0.0/0 dev IPHOSTER-WRG table 51820
ΠΌΠ°Ρ€ 05 19:22:23 ubuntult NetworkManager[9378]: [#] ip -4 rule add not fwmark 51820 table 51820
ΠΌΠ°Ρ€ 05 19:22:23 ubuntult NetworkManager[9378]: [#] ip -4 rule add table main suppress_prefixlength 0
ΠΌΠ°Ρ€ 05 19:22:23 ubuntult NetworkManager[9378]: [#] sysctl -q net.ipv4.conf.all.src_valid_mark=1
ΠΌΠ°Ρ€ 05 19:22:23 ubuntult NetworkManager[9378]: [#] nft -f /dev/fd/63
ΠΌΠ°Ρ€ 05 19:22:23 ubuntult nm-wireguard-se[9375]: g_variant_new_string: assertion 'g_utf8_validate (string, -1, NULL)' failed
ΠΌΠ°Ρ€ 05 19:22:23 ubuntult nm-wireguard-se[9375]: g_variant_builder_add_value: assertion '!GVSB(builder)->expected_type || g_variant_is_o>
ΠΌΠ°Ρ€ 05 19:22:23 ubuntult NetworkManager[839]: [1678033343.8861] vpn[0x55a2763521b0,16490d4a-1f1f-4fc4-bcf7-a9cf8d825bee,"IPHOST>
ΠΌΠ°Ρ€ 05 19:22:23 ubuntult NetworkManager[839]: [1678033343.8863] vpn[0x55a2763521b0,16490d4a-1f1f-4fc4-bcf7-a9cf8d825bee,"IPHOST>
ΠΌΠ°Ρ€ 05 19:22:23 ubuntult NetworkManager[9485]: [#] ip -4 rule delete table 51820
ΠΌΠ°Ρ€ 05 19:22:23 ubuntult NetworkManager[9485]: [#] ip -4 rule delete table main suppress_prefixlength 0
ΠΌΠ°Ρ€ 05 19:22:23 ubuntult NetworkManager[9485]: [#] ip -6 rule delete table 51820
ΠΌΠ°Ρ€ 05 19:22:24 ubuntult NetworkManager[9485]: [#] ip -6 rule delete table main suppress_prefixlength 0
ΠΌΠ°Ρ€ 05 19:22:24 ubuntult NetworkManager[9485]: [#] ip link delete dev IPHOSTER-WRG
ΠΌΠ°Ρ€ 05 19:22:24 ubuntult NetworkManager[839]: [1678033344.0547] device (IPHOSTER-WRG): state change: activated -> unmanaged (re>
ΠΌΠ°Ρ€ 05 19:22:24 ubuntult NetworkManager[9485]: [#] resolvconf -d tun.IPHOSTER-WRG -f
ΠΌΠ°Ρ€ 05 19:22:24 ubuntult NetworkManager[9485]: [#] nft -f /dev/fd/63
`

Wireguard VPN connection should not go down when underlying wired/wifi connection goes down.

Wireguard has ability to automatically restore connection once client (or server!) changes its IP. Regular wg-quick works fine when I disconnect from one network and connect to another - all my SSH sessions are stalled for a second but then they work fine. This plugins disconnects the WireGuard VPN connection when the underlying connection is down.

(Might be that this is something NM does for every VPN and there is nothing to do about it?)

Multiple DNS handling

Impossible to indicate more than one DNS server in the config. Not suitable for mixed IPv4 & IPv6 configs.

PreDown not executed when %i is used (kill switch)

Turns out I didn't understand fully how the killswicth feature worked at the time.

I'm trying to use the kill switch feature, so as recommended by the Wireguard man page, my PostUp and PreDown commands are the followings:

PostUp = iptables -I OUTPUT ! -o %i -m mark ! --mark $(wg show %i fwmark) -m addrtype ! --dst-type LOCAL -j REJECT && ip6tables -I OUTPUT ! -o %i -m mark ! --mark $(wg show %i fwmark) -m addrtype ! --dst-type LOCAL -j REJECT
PreDown = iptables -D OUTPUT ! -o %i -m mark ! --mark $(wg show %i fwmark) -m addrtype ! --dst-type LOCAL -j REJECT && ip6tables -D OUTPUT ! -o %i -m mark ! --mark $(wg show %i fwmark) -m addrtype ! --dst-type LOCAL -j REJECT

Using the command iptables -L -nv I can look at if the policies have been written or not, the PostUp always works, but the PreDown doesn't.

Oddly enough, if I replace the %i in PreDown by the raw values it works, but it's a very dirty workaround, example:

# Doesn't work
PreDown = iptables -D OUTPUT ! -o %i -m mark ! --mark $(wg show %i fwmark) -m addrtype ! --dst-type LOCAL -j REJECT && ip6tables -D OUTPUT ! -o %i -m mark ! --mark $(wg show %i fwmark) -m addrtype ! --dst-type LOCAL -j REJECT
# Works
PreDown = iptables -D OUTPUT ! -o wg0 -m mark ! --mark 0xca6c -m addrtype ! --dst-type LOCAL -j REJECT && ip6tables -D OUTPUT ! -o wg0 -m mark ! --mark 0xca6c -m addrtype ! --dst-type LOCAL -j REJECT

PostDown has the same problem, I've looked at this project's C code and it seems like the portion handling the *Up and *Down commands is the same, any idea why this particular command isn't executed properly?

Cannot activate VPN if IPv6 disabled in the Kernel

Hello,

I disabled IPv6 in the Kernel by adding these lines in /etc/sysctl.conf:

net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6=1

When I want to start wireguard VPN, the connection is failing and I have this error messages in syslog:

NetworkManager[7487]: [#] wg set wg0 fwmark 51820
NetworkManager[7487]: [#] ip -6 route add ::/0 dev wg0 table 51820
NetworkManager[7532]: Error: IPv6 is disabled on nexthop device.
NetworkManager[1766]: <info>  [1670406156.5651] device (wg0): state change: ip-check -> secondaries (reason 'none', sys-iface-state: 'external')
NetworkManager[1766]: <info>  [1670406156.5655] device (wg0): state change: secondaries -> activated (reason 'none', sys-iface-state: 'external')
NetworkManager[7487]: [#] ip link delete dev wg0

Here is the IPv6 configuration of wireguard in NetworkManager:

[ipv6]
addr-gen-mode=stable-privacy
dns-search=
ignore-auto-routes=true
ip6-privacy=0
method=disabled

Here is the IPv6 configuration of my network interface:

[ipv6]
addr-gen-mode=stable-privacy
dns-search=
ip6-privacy=0
method=disabled

checking for LIBNM_GLIB... no - Fedora 31, Debian 10, MX-Linux

I have this problem when you tried to install it, could you help me? I tried to install it on debian 10 and fedora 31 and I have the same problem, I could only install it on arch linux

image

The libnm-glib library, deprecated in favor of libnm since NetworkManager 1.0

can not compile

hello,

I can not compile the package on my mint 18.1.

I get:

configure: error: Package requirements (gio-unix-2.0 >= 2.40 gmodule-2.0) were not met:

No package 'gio-unix-2.0' found
No package 'gmodule-2.0' found

And I already isntalled libglib2.0-dev, libgtk2.0-dev, libgnomeui-dev, but it is still not working.

What can I do to compile the package?
Thanks.

DNS Seems Broken

cc @Druco

When I use wg-quick DNS settings work fine, but when I use network-manager it doesn't seem to work. Examining the log I think the problem is

Nov 27 11:48:10 lilith NetworkManager[25167]: [#] ip link add Wireguard type wireguard
Nov 27 11:48:10 lilith NetworkManager[25167]: [#] wg setconf Wireguard /dev/fd/63
Nov 27 11:48:10 lilith NetworkManager[25167]: <info>  [1543337290.4677] manager: (Wireguard): new Generic device (/org/freedesktop/NetworkManager/Devices/79)
Nov 27 11:48:10 lilith NetworkManager[25167]: <info>  [1543337290.4814] devices added (path: /sys/devices/virtual/net/Wireguard, iface: Wireguard)
Nov 27 11:48:10 lilith NetworkManager[25167]: <info>  [1543337290.4814] device added (path: /sys/devices/virtual/net/Wireguard, iface: Wireguard): no ifupdown configuration found.
Nov 27 11:48:10 lilith NetworkManager[25167]: [#] ip address add 10.2.2.1/8 dev Wireguard
Nov 27 11:48:10 lilith NetworkManager[25167]: [#] ip link set mtu 1420 dev Wireguard
Nov 27 11:48:10 lilith NetworkManager[25167]: [#] ip link set Wireguard up
Nov 27 11:48:10 lilith nm-wireguard-se[11054]: g_variant_new_string: assertion 'g_utf8_validate (string, -1, NULL)' failed
Nov 27 11:48:10 lilith nm-wireguard-se[11054]: g_variant_builder_add_value: assertion '!GVSB(builder)->expected_type || g_variant_is_of_type (value, GVSB(builder)->expected_type)' failed

you can see there is a failed assertion around where the call to wg-quick should be setting DNS using resolvconf. The output of wg-quick directly (for comparison) is

[#] ip link add wg0 type wireguard
[#] wg setconf wg0 /dev/fd/63
[#] ip address add 10.2.2.1/8 dev wg0
[#] ip link set mtu 1420 dev wg0
[#] ip link set wg0 up
[#] resolvconf -a tun.wg0 -m 0 -x

The settings in my configuration file are the same as the ones entered into the networkmanager GUI

Add build deb packages

Add CI for automatically build deb packages, I create in 5 minutes Dockerfile for build deb package with Ubuntu 21.10 and it working! Im
add it for use other users!

git clone https://github.com/max-moser/network-manager-wireguard.git
cd network-manager-wireguard

create Dockerfile:

FROM ubuntu:21.10 as builder
ARG DEBIAN_FRONTEND=noninteractive
RUN echo "resolvconf resolvconf/linkify-resolvconf boolean false" | debconf-set-selections
RUN apt update && apt install -y wireguard git dh-autoreconf libglib2.0-dev intltool build-essential libgtk-3-dev libnma-dev libsecret-1-dev network-manager-dev resolvconf checkinstall
WORKDIR /build
COPY . .
RUN ./autogen.sh --without-libnm-glib
RUN ./configure --without-libnm-glib --prefix=/usr --sysconfdir=/etc --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/NetworkManager --localstatedir=/var
RUN checkinstall --install=no --pkgname=network-manager-wireguard --pkgversion=0.1 --requires=network-manager-gnome,wireguard -D make install
FROM scratch
COPY --from=builder /build/*.deb /

Run:
DOCKER_BUILDKIT=1 docker build -o type=local,dest=packages .
Install:
dpkg -i packages/network-manager-wireguard_0.1-1_amd64.deb

traffic not routed through vpn when connected with network-manager.

when i connect via network-manager, I can access the VPN server itself via vpn network, but all traffic still goes as there is no vpn. When connected via wg-quick everything works as expected.

Output of ip r and route -n when connected from NetworkManager:

default via 192.168.0.1 dev wlo1 proto dhcp metric 600 
10.100.100.0/24 dev usa proto kernel scope link src 10.100.100.2 metric 50 
169.254.0.0/16 dev wlo1 scope link metric 1000 
192.168.0.0/24 dev wlo1 proto kernel scope link src 192.168.0.100 metric 600 

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    600    0        0 wlo1
10.100.100.0    0.0.0.0         255.255.255.0   U     50     0        0 usa
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 wlo1
192.168.0.0     0.0.0.0         255.255.255.0   U     600    0        0 wlo1

When connected with wg-quick up:

default via 192.168.0.1 dev wlo1 proto dhcp metric 600 
169.254.0.0/16 dev wlo1 scope link metric 1000 
192.168.0.0/24 dev wlo1 proto kernel scope link src 192.168.0.100 metric 600

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    600    0        0 wlo1
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 wlo1
192.168.0.0     0.0.0.0         255.255.255.0   U     600    0        0 wlo1

Does not happen with other VPN plugins as pptp, openvpn.

Redundant functionality with NM

A lot of the functionality of the plugin exposes details of wg-quick even though NM offers comparable facilties:

  • Pre/post up/down are not needed: NM uses dispatcher scripts;
  • DNS is useless on distributions that don't ship resolvconf, while NM's own DNS handling works
  • MTU is not needed while NM can handle it

And so on. In the end a lot of functionality is duplicated, and in some cases (like DNS) does not even work on all systems.

The plugin should leverage first what NM offers.

failed to look up VPN interface index for "(interface name)"

I'm using a conf file without a local listen port, so I made a quick patch so it wouldn't require it. Whenever I start the VPN, in I get 'activation of connection failed', and in journalctl I get:
(interface name)]: failed to look up VPN interface index for "interface name"
To clarify, I'm not sure if this happens with conf files with a local listen port, however it is a valid config so it should work anyway.

Error in autogen.sh

Something is missing ...

sudo ./autogen.sh

configure.ac:92: warning: macro 'AM_GLIB_GNU_GETTEXT' not found in library
configure.ac:92: warning: macro 'AM_GLIB_GNU_GETTEXT' not found in library
configure.ac:19: installing './compile'
configure.ac:19: installing './config.guess'
configure.ac:19: installing './config.sub'
configure.ac:7: installing './install-sh'
configure.ac:7: installing './missing'
Makefile.am: installing './depcomp'
parallel-tests: installing './test-driver'
configure.ac:92: warning: macro 'AM_GLIB_GNU_GETTEXT' not found in library
configure.ac:92: error: possibly undefined macro: AM_GLIB_GNU_GETTEXT
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
autoreconf: /usr/bin/autoconf failed with exit status: 1

=========================================================
Linux Mint 19.1

AllowedIPs not working properly

Hello!

I am running Ubuntu 20.04 LTS with NetworkManager version 1.22.10

The WireGuard configuration is :

[Interface]
PrivateKey = removed
Address = 10.200.85.2/32
MTU = 1412
DNS = 10.200.85.1

[Peer]
PublicKey = removed
Endpoint = removed
AllowedIPs = 0.0.0.0/0

When starting the VPN through NetworkManager, this works as expected, and all traffic is routed through the VPN. However, I only want traffic for 10.x.x.x routed through the VPN. If I set AllowedIPs = 10.0.0.0/8 in the NetworkManager WireGuard dialog box, nothing is routed through the VPN. This latter change works fine and as expected when using sudo wg-quick up from the command line.

When the VPN is started from NetworkManager:

jhuber@t5610:~$ sudo wg
interface: APC-Wireguard
  public key: <removed>
  private key: (hidden)
  listening port: 60669

peer: <removed>
  endpoint: x.x.x.x:51820
  allowed ips: 10.0.0.0/8
  latest handshake: 13 seconds ago
  transfer: 380 B received, 372 B sent
jhuber@t5610:~$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    100    0        0 enp0s25
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 enp0s25
192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 enp0s25
jhuber@t5610:~$ ip route get 10.0.15.113
10.0.15.113 via 192.168.0.1 dev enp0s25 src 192.168.0.31 uid 1000 

When the VPN is started from the command line with sudo wg-quick up /home/jhuber/Desktop/APC-Wireguard.conf:

jhuber@t5610:~$ sudo wg
interface: APC-Wireguard
  public key: <removed>
  private key: (hidden)
  listening port: 51548

peer: <removed>
  endpoint: x.x.x.x:51820
  allowed ips: 10.0.0.0/8
  latest handshake: 8 seconds ago
  transfer: 7.42 KiB received, 4.99 KiB sent
jhuber@t5610:~$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    100    0        0 enp0s25
10.0.0.0        0.0.0.0         255.0.0.0       U     0      0        0 APC-Wireguard
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 enp0s25
192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 enp0s25
jhuber@t5610:~$ ip route get 10.0.15.113
10.0.15.113 dev APC-Wireguard src 10.200.85.2 uid 1000 

Comparing the two, there seems to be a route missing for APC-Wireguard when the VPN is started from within NetworkManager. Manually adding this missing route on the IPV4 tab for the WireGuard VPN in NetworkManager seems to solve the issue.

Gentoo ebuild

I've forked your repo and create gentoo ebuild:

net-misc/networkmanager-wireguard/networkmanager-wireguard-0.0.1.ebuild

# Distributed under the terms of the GNU General Public License v3

EAPI=6
GNOME_ORG_MODULE="NetworkManager-${PN##*-}"

inherit gnome2 user autotools

DESCRIPTION="NetworkManager Wireguard plugin"
HOMEPAGE="https://github.com/max-moser/network-manager-wireguard"

SRC_URI="https://github.com/inpos/network-manager-wireguard/archive/${P}.tar.gz"

LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="amd64 ~arm x86"
IUSE="gtk test"

S="${WORKDIR}/network-manager-wireguard-${P}"

RDEPEND="
	>=dev-libs/glib-2.53:2
	>=net-misc/networkmanager-1.7.0:=
	>=net-vpn/wireguard-0.0.20180420
	gtk? (
		>=app-crypt/libsecret-0.18
		>=gnome-extra/nm-applet-1.7.0
		>=x11-libs/gtk+-3.4:3
	)
"
DEPEND="${RDEPEND}
	sys-devel/gettext
	>=dev-util/intltool-0.35
	virtual/pkgconfig
"

pkg_setup() {
	enewgroup nm-wireguard
	enewuser nm-wireguard -1 -1 -1 nm-wireguard
}

src_prepare() {
	eautoreconf
	gnome2_src_prepare
}

src_configure() {
	# --localstatedir=/var needed per bug #536248
	gnome2_src_configure \
		--localstatedir=/var \
		--disable-more-warnings \
		--disable-static \
		--with-dist-version=Gentoo \
		$(use_with gtk gnome)
}

Cannot autoconf in Ubuntu 21.10

After installing all the needed deps I got this output:

You should update your 'aclocal.m4' by running aclocal.
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether UID '1000' is supported by ustar format... yes
checking whether GID '1000' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking whether to enable maintainer-specific portions of Makefiles... yes
checking whether make supports nested variables... (cached) yes
checking for gcc-ar... gcc-ar
checking for gcc-ranlib... gcc-ranlib
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking how to print strings... printf
checking whether make supports the include directive... yes (GNU style)
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... (cached) gcc-ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /usr/bin/dd
checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
checking for mt... mt
checking if mt is a manifest tool... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking whether gcc understands -c and -o together... (cached) yes
checking dependency style of gcc... (cached) gcc3
checking for glib-compile-resources... /usr/bin/glib-compile-resources
checking for ANSI C header files... (cached) yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking paths.h usability... yes
checking paths.h presence... yes
checking for paths.h... yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking syslog.h usability... yes
checking syslog.h presence... yes
checking for syslog.h... yes
checking for unistd.h... (cached) yes
checking for mode_t... yes
checking for pid_t... yes
checking whether time.h and sys/time.h may both be included... yes
checking whether gcc needs -traditional... no
checking for working memcmp... yes
checking for select... yes
checking for socket... yes
checking for uname... yes
checking for library containing dlopen... none required
checking whether NLS is requested... yes
checking for intltool >= 0.35... 0.51.0 found
checking for intltool-update... /usr/bin/intltool-update
checking for intltool-merge... /usr/bin/intltool-merge
checking for intltool-extract... /usr/bin/intltool-extract
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for perl... /usr/bin/perl
checking for perl >= 5.8.1... 5.32.1
checking for XML::Parser... ok
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking for LC_MESSAGES... yes
checking for CFPreferencesCopyAppValue... no
checking for CFLocaleCopyCurrent... no
checking libintl.h usability... yes
checking libintl.h presence... yes
checking for libintl.h... yes
checking for ngettext in libc... yes
checking for dgettext in libc... yes
checking for bind_textdomain_codeset... yes
checking for msgfmt... (cached) /usr/bin/msgfmt
checking for dcgettext... yes
checking if msgfmt accepts -c... yes
checking for gmsgfmt... (cached) /usr/bin/msgfmt
checking for xgettext... (cached) /usr/bin/xgettext
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for glib-2.0 >= 2.32... yes
checking for gtk+-3.0 >= 3.4... yes
checking for libnma >= 1.7.0... yes
checking for libsecret-1 >= 0.18... yes
checking for NetworkManager >= 1.7.0
			libnm-util >= 1.7.0
			libnm-glib >= 1.7.0
			libnm-glib-vpn >= 1.7.0... no
configure: error: Package requirements (NetworkManager >= 1.7.0
			libnm-util >= 1.7.0
			libnm-glib >= 1.7.0
			libnm-glib-vpn >= 1.7.0) were not met:

No package 'NetworkManager' found
No package 'libnm-util' found
No package 'libnm-glib' found
No package 'libnm-glib-vpn' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables LIBNM_GLIB_CFLAGS
and LIBNM_GLIB_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

I can install the libs, but that missing NetworkManager is fishy.

Stopped working with Ubuntu 22.04

This was working great with Ubuntu 21.04. After upgrading to 22.04, not so much.

Attempting to connect will fail instantly.

Syslog shows a bunch of this-

Apr 29 14:00:18 xps13 NetworkManager[919]: <info>  [1651266018.5816] device (TestVPN): state change: unmanaged -> unavailable (reason 'connection-assumed', sys-iface-state: 'external')
Apr 29 14:00:18 xps13 NetworkManager[919]: <info>  [1651266018.5820] device (TestVPN): state change: unavailable -> disconnected (reason 'connection-assumed', sys-iface-state: 'external')
Apr 29 14:00:18 xps13 NetworkManager[919]: <info>  [1651266018.5825] device (TestVPN): Activation: starting connection 'TestVPN' (ab322800-5c4a-43d4-afc4-ec17f863b26c)
Apr 29 14:00:18 xps13 NetworkManager[919]: <info>  [1651266018.5826] device (TestVPN): state change: disconnected -> prepare (reason 'none', sys-iface-state: 'external')
Apr 29 14:00:18 xps13 NetworkManager[919]: <info>  [1651266018.5827] device (TestVPN): state change: prepare -> config (reason 'none', sys-iface-state: 'external')
Apr 29 14:00:18 xps13 NetworkManager[919]: <info>  [1651266018.5829] device (TestVPN): state change: config -> ip-config (reason 'none', sys-iface-state: 'external')
Apr 29 14:00:18 xps13 NetworkManager[919]: <info>  [1651266018.5835] device (TestVPN): state change: ip-config -> ip-check (reason 'none', sys-iface-state: 'external')

And this

Apr 29 14:00:18 xps13 nm-wireguard-se[26362]: g_variant_new_string: assertion 'g_utf8_validate (string, -1, NULL)' failed
Apr 29 14:00:18 xps13 nm-wireguard-se[26362]: g_variant_builder_add_value: assertion '!GVSB(builder)->expected_type || g_variant_is_of_type (value, GVSB(builder)->expected_type)' failed
Apr 29 14:00:18 xps13 NetworkManager[919]: <warn>  [1651266018.6279] vpn[0x55f4bc24c0a0,9ebb3b96-f86b-4c48-8c45-527e1895a6e8,"TestVPN",if:11,dev:3:(TestVPN)]: config: no VPN gateway address received
Apr 29 14:00:18 xps13 NetworkManager[919]: <warn>  [1651266018.6280] vpn[0x55f4bc24c0a0,9ebb3b96-f86b-4c48-8c45-527e1895a6e8,"TestVPN",if:11,dev:3:(TestVPN)]: did not receive valid IP config information

Other devices are still able to connect (android, ios, etc) just this latest Ubuntu update has me scratching my head.

If it helps, this is NetworkManager is 1.36.4.

Correct Instructions for Ubuntu (tested on 18.10)

./configure --prefix=/usr --sysconfdir=/etc --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/NetworkManager --localstatedir=/var
sudo make install

Withthis, everything fell into place. I copied from another nm-plugin, I think it was l2tp and the instructions were for Debian, but worked well on Ubuntu.
The only caveat is that it still created /eyc/NetworkManager/VPN/nm-wireguard-service.name but it worked because this file was also copied to /usr/lib/NetworkManager/VPN.

configuration problem

when i try to add a vpn or a new connection wireguard option appears but the some tabs are missing, it's the standard connection editor
image

i built the plugin with --without-libnm-glib since i only had libnm-dev package not glib and vpn packages in my distro's package repository. Do you think that might be the problem? If it's i'll build other packages manually too

Get official into GNOME

You are still listed as a third-party on the GNOME network site.

Seeing that Wireguard is supposed to be the next new and secure VPN solution, a proper integration and installation by default would be great… πŸ˜„

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.