Wireguard Configuration in Nodegrid 5.2 and newer

Wireguard Configuration in Nodegrid 5.2 and newer

Overview

Wireguard is a current tunnel solution which is part of current Linux distributions. The Solutions are making its way into the some business applications and is for example currently supported by 128 Technologie and Perimeter81.

Advantages:

- Uses a current elliptic curve algorithm for the encryption
- Uses RSA keys and optional PSK's for authentication
- Roaming of End Points is en integrated part of the solution
- Easy to set up
- Good Client support, with native support for Windows, MacOS, Linux, iOS and Android
- Native support for tunnel interfaces to allow for Multicast traffic
- Support for IPv6 and IPv4 over the same interface
- Part of the Linux kernel ensures long term support

Disadvantages

- IP Addresses of endpoints systems are getting logged, in some environments this is undesirable due to local laws or regulations
- No native User authentication mechanisms are build in
- Relatively new protocol/solution

Wireguard is supported in the admin CLI and GUI on Nodegrid devices since version 5.2 and allows for the establishment of an easy site to site tunnel.  Here are the required options:

Interface Options
Description
Interface Name
Label assigned to describe the Interface
Interface Type
Specifies if the Nodegrid will act as the Server or Client
Status
Specifies if the Interface is Enabled or Disabled
Internal Address
The local IP address range which will be allowed
Listening Port (Server only)
The local UDP port

Peer Options
Description
Peer Name
Label assigned to describe the Peer
Allowed IPs
The endpoint address range which will be allowed
Public Key
The public key generated on the Peer
External Address (Client only)
The remote endpoint IP address 
Listening Port (Client only)
The remote UDP port
Keepalive
Keep alivechecks for the tunnel in seconds

Configuration via WebUI
  1. Log in as admin to the Nodegrid Serial Console Web interface
  2. Navigate to Network :: Wireguard 
  3. Click Add to create interface 
  4. Set the Interface Name as desired
  5. Select Interface Type: Server or Clinet
  6. Click Generate Keypair
  7. Set the Listen Port (if Server selected)
  8. Set Internal Address
  9. Set Optional settings if appropriate
  10. Click Save 
  11. Click the interface name just created
  12. Click Add to configure a Peer 
  13. Set Peer Name as desired
  14. Set Allowed IPs and Keepalive
  15. Set the External Address and Listening Port (if Client selected on Interface)
  16. Copy the Public Key from the Peer
  17. Click Save 
  18. Repeat steps 8-13 to add additional Peers as needed
  19. Copy the Nodegrid's Public Key to each Peer as needed
Configuration via CLI:
  1. Log as admin via SSH or console port
  2. Type the following commands:
[admin@nodegrid /]# cd /settings/wireguard/
[admin@nodegrid {wireguard}]# set 
dns_server=        interface_name=    listening_port=    public_key=
external_address=  interface_type=    mtu=               routing_rules=
fwmark=            internal_address=  private_key=       status=

once all parameters are configured, type:
[admin@nodegrid {wireguard}]# commit
[admin@nodegrid wireguard]# cd Interface_Name/
[admin@nodegrid Server_Interface]# cd peers/
[admin@nodegrid peers]# add
[admin@nodegrid {peers}]# set 
allowed_ips=       keepalive=         peer_name=         
external_address=  listening_port=    public_key=  

once all parameters are configured, type:
[admin@nodegrid {peers}]# commit
    • Related Articles

    • Wireguard Configuration

      Wireguard Configuration Last Tested in Nodegrid Version 4.1.9 Overview Wireguard is a current tunnel solution which is part of current Linux distributions. The Solutions are making its way into the some business applications and is for example ...
    • IPSec VPN support

      Version 0.1 (02 May 2018) Virtual Private Network (VPN) Overview A Virtual Private Network (VPN) is used to provide a secure means of communication among remote computers across networks, such as the Internet or a public WAN in general. VPN creates ...
    • System Configuration Checksum

      Nodegrid system configuration checksum is a feature which creats a checksum for all the configuration files inside Nodegrid. This provides administrators a quick tool to verify periodically if the configuration has changed, and can be used for ...
    • Network Configuration via CLI

      Example of configuring the ETH0 interface via CLI (please, replace the network values with your own information). Log in as admin to the Nodegrid console port or HDMI Type the following commands (in bold): [admin@nodegrid /]# cd ...
    • How to increase the partition size of a Nodegrid appliance running NG v4.1.7 or newer, NG v4.2.5 or newer, or NG v5.0.x

      It is possible to upgrade to some versions of Nodegrid OS without going through the recommended intermediate versions of NG v4.1.6 or v4.2.4. This article applies to systems running the following versions: NG v4.1.7 or newer NG v4.2.5 or newer NG ...