Import OpenVPN file with NetworkManager or Linux
  • 30 Nov 2023
  • 3 Minutes to read
  • Dark
    Light

Import OpenVPN file with NetworkManager or Linux

  • Dark
    Light

Article summary

This page explains how to import the .opvn (OpenVPN config) file using a GUI or Command Line Interface (CLI) method in Linux.

Tutorial Details
Difficulty levelEasy
Requirements
  • Root privileges
  • Linux terminal
  • Network Manager
  • OS compatibilityAlma • Alpine • Arch • CentOS • Debian • Fedora • Linux • macOS • Mint • openSUSE • Pop!_OS • RHEL • Rocky • Stream • SUSE • Ubuntu

    Install OpenVPN Plugin

    Type the following apt-get command or apt command to install the Gnome NetworkManager OpenVPN plugin under Debian or Ubuntu Linux. For example:
    $ sudo apt install network-manager-openvpn-gnome openvpn-systemd-resolved
    Sample output:

    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    The following additional packages will be installed:
      libnm-glib-vpn1 libnss-resolve libpkcs11-helper1 network-manager-openvpn openvpn
    Suggested packages:
      resolvconf easy-rsa
    The following NEW packages will be installed:
      libnm-glib-vpn1 libnss-resolve libpkcs11-helper1 network-manager-openvpn network-manager-openvpn-gnome openvpn openvpn-systemd-resolved
    0 upgraded, 7 newly installed, 0 to remove and 0 not upgraded.
    Need to get 747 kB of archives.
    After this operation, 2,345 kB of additional disk space will be used.
    Do you want to continue? [Y/n] y
    Get:1 http://in.archive.ubuntu.com/ubuntu artful/main amd64 libnm-glib-vpn1 amd64 1.8.4-1ubuntu3 [13.8 kB]
    Get:2 http://in.archive.ubuntu.com/ubuntu artful/universe amd64 libnss-resolve amd64 234-2ubuntu12 [110 kB]
    Get:3 http://in.archive.ubuntu.com/ubuntu artful/main amd64 libpkcs11-helper1 amd64 1.22-2 [44.2 kB]
    Get:4 http://in.archive.ubuntu.com/ubuntu artful/main amd64 openvpn amd64 2.4.3-4ubuntu1 [469 kB]
    Get:5 http://in.archive.ubuntu.com/ubuntu artful/main amd64 network-manager-openvpn amd64 1.2.10-0ubuntu2 [30.6 kB]
    Get:6 http://in.archive.ubuntu.com/ubuntu artful/universe amd64 network-manager-openvpn-gnome amd64 1.2.10-0ubuntu2 [71.0 kB]
    Get:7 http://in.archive.ubuntu.com/ubuntu artful/universe amd64 openvpn-systemd-resolved amd64 1.2.6-1 [8,626 B]
    Fetched 747 kB in 3s (206 kB/s)                      
    Preconfiguring packages …
    Selecting previously unselected package libnm-glib-vpn1:amd64.
    (Reading database ... 197667 files and directories currently installed.)
    Preparing to unpack .../0-libnm-glib-vpn1_1.8.4-1ubuntu3_amd64.deb …
    Unpacking libnm-glib-vpn1:amd64 (1.8.4-1ubuntu3) …
    Selecting previously unselected package libnss-resolve:amd64.
    Preparing to unpack .../1-libnss-resolve_234-2ubuntu12_amd64.deb …
    Unpacking libnss-resolve:amd64 (234-2ubuntu12) …
    Selecting previously unselected package libpkcs11-helper1:amd64.
    Preparing to unpack .../2-libpkcs11-helper1_1.22-2_amd64.deb …
    Unpacking libpkcs11-helper1:amd64 (1.22-2) …
    Selecting previously unselected package openvpn.
    Preparing to unpack .../3-openvpn_2.4.3-4ubuntu1_amd64.deb …
    Unpacking openvpn (2.4.3-4ubuntu1) …
    Selecting previously unselected package network-manager-openvpn.
    Preparing to unpack .../4-network-manager-openvpn_1.2.10-0ubuntu2_amd64.deb …
    Unpacking network-manager-openvpn (1.2.10-0ubuntu2) …
    Selecting previously unselected package network-manager-openvpn-gnome.
    Preparing to unpack .../5-network-manager-openvpn-gnome_1.2.10-0ubuntu2_amd64.deb …
    Unpacking network-manager-openvpn-gnome (1.2.10-0ubuntu2) …
    Selecting previously unselected package openvpn-systemd-resolved.
    Preparing to unpack .../6-openvpn-systemd-resolved_1.2.6-1_amd64.deb …
    Unpacking openvpn-systemd-resolved (1.2.6-1) …
    Setting up libnm-glib-vpn1:amd64 (1.8.4-1ubuntu3) …
    Processing triggers for ureadahead (0.100.0-20) …
    Setting up libpkcs11-helper1:amd64 (1.22-2) …
    Setting up openvpn (2.4.3-4ubuntu1) …
    Processing triggers for libc-bin (2.26-0ubuntu2) …
    Processing triggers for systemd (234-2ubuntu12) …
    Setting up libnss-resolve:amd64 (234-2ubuntu12) …
    First installation detected…
    Checking NSS setup…
    Processing triggers for man-db (2.7.6.1-2) …
    Processing triggers for dbus (1.10.22-1ubuntu1) …
    Setting up openvpn-systemd-resolved (1.2.6-1) …
    Setting up network-manager-openvpn (1.2.10-0ubuntu2) …
    Setting up network-manager-openvpn-gnome (1.2.10-0ubuntu2) …
    Processing triggers for libc-bin (2.26-0ubuntu2) ...
    

    For RHEL/CentOS and co use the dnf command/yum command to install openvpn including network-manager-openvpn-gnome packages.

    Method 1—Import OpenVPN config file from command line with NetworkManager

    Open the Terminal application. The syntax is:
    $ sudo nmcli connection import type openvpn file /path/to/your.ovpn
    For example:
    $ sudo nmcli connection import type openvpn file /home/vivek/ubuntu16.04LTS.ovpn
    Sample outputs:
    Connection 'ubuntu16.04LTS' (989b8c5a-0851-48ae-813c-c74eb593014d) successfully added.

    Your connection is called ‘ubuntu16.04LTS’ and to make connection to the OpenVPN server, run:
    $ nmcli connection up ubuntu16.04LTS
    Sample outputs:
    Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/27)

    To see OpenVPN connection details:
    $ nmcli connection show ubuntu16.04LTS

    To see IPv4/IPv6 OpenVPN client IP and other info, run:

    $ nmcli connection show ubuntu16.04LTS | egrep -i 'IP4|IPV6'
    $ nmcli connection show ubuntu16.04LTS | egrep -i 'IP4'
    Sample outputs:
    IP4.ADDRESS[1]:                         10.8.0.8/24
    IP4.GATEWAY:                            10.8.0.1
    IP4.DNS[1]:                             10.8.0.1
    

    Verify it with the ping command i.e. send ping-pong requests to OpenVPN gateway:
    $ ping -c 4 10.8.0.1
    Sample outputs:

    PING vpn (10.8.0.1) 56(84) bytes of data.
    64 bytes from vpn (10.8.0.1): icmp_seq=1 ttl=64 time=288 ms
    64 bytes from vpn (10.8.0.1): icmp_seq=2 ttl=64 time=279 ms
    64 bytes from vpn (10.8.0.1): icmp_seq=3 ttl=64 time=172 ms
    64 bytes from vpn (10.8.0.1): icmp_seq=4 ttl=64 time=77.5 ms
     
    --- vpn ping statistics —
    4 packets transmitted, 4 received, 0% packet loss, time 3004ms
    rtt min/avg/max/mdev = 77.547/204.609/288.526/86.425 ms
    

    Method 2—Import a .ovpn file with Network Manager GUI

    Open Network Manager from Gnome settings option and select Network tab and click on the VPN + symbol:
    image.png

    From the Add VPN windows, click on the Import from file… option:
    image.png

    Navigate to your .ovpn file (/home/vivek/ubuntu16.04LTS.ovpn) and click Open:
    image.png

    Click on the Add button:
    image.png

    Finally, click on off button to turn on the VPN:
    image.png

    If the connection stays on you should be connected to the VPN.


    Was this article helpful?

    What's Next