GroupVPN installation - pragmagrid/ipop GitHub Wiki

Preparation:

  1. You will need a proper configuration file to join the PRAGMA IPOP overlay. To obtain this configuration file, please send an email to Saumitra Aditya [[email protected]] and CC Renato Figueiredo [[email protected]]. Please include in your email your name, affiliation, and the number of computers you are going to connect to the PRAGMA IPOP network.

Installation Instructions- Ubuntu Linux

These instructions are for Ubuntu 14.04 or higher or Debian Wheezy (64-bit). Visit the downloads page to get packages for additional platforms.

Download and configure GroupVPN

  1. Download GroupVPN and extract for Ubuntu or CentOS

    wget https://github.com/ipop-project/downloads/releases/download/v15.01.0/ipop-15.01.0_ubuntu14.tar.gz
    tar xvzf ipop-15.01.0_ubuntu14.tar.gz
    cd ipop-15.01.0_ubuntu14
    
    wget https://github.com/ipop-project/downloads/releases/download/v15.01.01/ipop-15.01.01_centos7.tar.gz
    tar xvzf ipop-15.01.01_centos7.tar.gz
    cd ipop-15.01.01_centos7
    
  2. Replace the default configuration file, config.json, in the IPOP folder with the new one you received. If you received more than one configuration file, each file is to be used on a separate PC. Do not duplicate a configuration file on multiple PCs as this will cause errors.

Running GroupVPN

  1. First, launch the ipop-tincan program

    sudo sh -c './ipop-tincan-x86_64 1> out.log 2> err.log &'
    

    Note: For 32-bit ubuntu machine use "ipop-tincan-x86" in place of "ipop-tincan-x86_64".

  2. Second, start the GroupVPN controller

    chmod 755 gvpn_controller.py
    
    ./gvpn_controller.py -c config.json &> log.txt &
    
  3. Check on the current status of your network using netcat

    echo -e '\x02\x01{"m":"get_state"}' | netcat -q 1 -u 127.0.0.1 5800
    
  4. Check the network devices and ip address for your device

/sbin/ifconfig ipop
ipop      Link encap:Ethernet  HWaddr 2e:08:ac:aa:60:6b
       inet addr:10.254.0.18  Bcast:10.254.0.255  Mask:255.255.255.0
       inet6 addr: fe80::2c08:acff:feaa:606b/64 Scope:Link
       inet6 addr: fd50:dbc:41f2:4a3c:deb0:b0e:179:b030/64 Scope:Global
       UP BROADCAST RUNNING NOARP MULTICAST  MTU:1280  Metric:1
       RX packets:185162 errors:0 dropped:0 overruns:0 frame:0
       TX packets:21727 errors:0 dropped:0 overruns:0 carrier:0
       collisions:0 txqueuelen:500
       RX bytes:33721111 (33.7 MB)  TX bytes:19202048 (19.2 MB)

  1. Verify connectivity by pinging the UF node.

    Once you have successfully connected to IPOP network, a test node deployed at UF is reachable at IP address 10.254.0.1. In the command console run the following command.

ping 10.254.0.1

Stopping GroupVPN

  1. Kill GroupVPN

    pkill ipop-tincan-x86_64
    ps aux | grep gvpn_controller.py
    kill <pid-of-gvpn_controller.py>
    

    Note: For 32-bit ubuntu machine use "ipop-tincan-x86" in place of "ipop-tincan-x86_64".


Running GroupVPN in Watchdog mode

It is common practice to use a watchdog process to monitor and respawn long running processes. We have designed a simple watchdog process that spawns ipop-tincan and respawns it up to three times if necessary.

Our watchdog process automatically starts the ipop-tincan, so that you do not have to run it separately. The path of the binary with the file name should be specified in configuration file as below.

"tincan_path": "./ipop-tincan-x86_64"

If the ipop-tincan crashes or is not responding, the watchdog process terminates the ipop-tincan process and starts it as a new process.

sudo ./watchdog.py -c config.json

Installation Instructions- Windows(tested on Windows 7)

Installation of dependencies

  1. Install MS Visual C++ x86 Redistributable Packages for Visual Studio 2010

  2. Install MS Visual C++ x86 Redistributable Packages for Visual Studio 2013. (Both are currently required.)

  3. Install Python 2.7 for Windows.

  4. Install tap-installer from OpenVPN.

  5. Rename the newly installed tap-device to 'ipop'.


Install GroupVPN

  1. Download GroupVPN for Windows.

  2. Extract 'ipop-15.01.0-x86_win7.zip', preferably to your system root folder, e.g., _C:_. You should have a directory similar to c:\ipop-15.01.0-x86_win7.

  3. You will need the configuration file you requested by email before you proceed to the next step.

  4. Replace the default configuration file, config.json, in the IPOP folder with the new one you received. If you received more than one configuration file, each file is to be used on a separate PC. Do not duplicate a configuration file on multiple PCs as this will cause errors.

  5. Open a Windows command console with administrative privileges, by right clicking on Command Prompt and selecting Run as administrator.

    https://github.com/ipop-project/documentation/wiki/RunAs.png

  6. Change your current working directory to the directory containing the IPOP executables and run the following command.

setup_interface.bat
  1. In the same command console, install IPOP Service using the following command.
IPoPSvc --install
[https://github.com/ipop-project/documentation/wiki/SvcInstalled.png](https://github.com/ipop-project/documentation/wiki/SvcInstalled.png)

Run GroupVPN

  1. To run in the native mode as a Windows service start the service from the Windows Service Control Manager or run the command
net start IPoPService
  1. Verify connectivity by pinging the UF node.

    Once you have successfully connected to IPOP network, a test node deployed at UF is reachable at IP address 10.254.0.1. In the command console run the following command.

ping 10.254.0.1

The output should indicate if the host is reachable and the time taken to contact it. Please note, that it can take up to a minute for the IPOP service to fully initialize and the ping test to work.

  1. (Optional) The service, by default, is not configured to start automatically. You are required to either manually start the service each time the computer boots, or change the service start mode to Automatic (Delayed Start). This start mode allows Windows to automatically start the service at the appropriate time whenever the computer is booted. https://github.com/ipop-project/documentation/wiki/AutoDelayedStart.png

Stop IPOP GroupVPN software

  1. The IPOP VPN is stopped by running the net stop command or stopping the service via the Windows Service Control Manager.
net stop IPoPService

Troubleshooting

  1. If you are experiencing difficulties connecting to the network successfully, further literature is available at IPOP-Project website. If you are still facing issues, feel free to send a email to Saumitra Aditya [[email protected]].