# The &kvpnc; Handbook

## Introduction

KVpnc is a KDE frontend for various vpn clients. It supports Cisco VPN (vpnc), IPSec (FreeS/WAN (OpenS/WAN), racoon), PPTP (pptpclient), OpenVPN, L2TP (FreeS/WAN, Openswan, strongSwan, ipsec-tools), Vtun and OpenSSH.

## Getting help

- General

  The project page can be found at: https://www.gna.org/projects/kvpnc.

- Contact the kvpnc team:

  - Bug report - To report bugs or wishes use the bugtracker page at: https://gna.org/bugs/?group=kvpnc

  - A list of planned features (TODO list) can be found here: http://cvs.gna.org/viewcvs/*checkout*/kvpnc/kvpnc/TODO?rev=HEAD&content-type=text/plain (in English).

  - Mailing list

    - kvpnc-user - this list is for users of KVpnc who want to discuss about KVpnc.

    - kvpnc-devel - this list is related to development of KVpnc.

    - kvpnc-cvs - this list shows the commit to the CVS tree (readonly).

## Using &kvpnc;

The following picture shows the mainwindow of &kvpnc;. Screenshot of the main window of &kvpnc; Screenshot of mainwindow

## How I create an connection

### Cisco Concentrator

A connection to a cisco concentrator will be often found at universities. The students can fetch the cisco client for use with it. Normally the administrator provides a configuration file (*.pcf), which also can be included in the client.

The original cisco client has some problems:

- Needs a propriarity kernel module (can be build against own kernel)

- console only

You need: Username, password, VPN ID, IP address or hostname of the VPN gateway and preshared secret (PSK) if you dont have a cisco profile file (*.pcf).

To setup a connection to the Cisco concentrator you need to do the following steps:

1. Import the pcf file given from administrator (if available go to step 4)

2. Create a new profile with type cisco

3. Set gateway (hostname or IP address of the cisco concentrator) at general profile settings

4. Set at PSK profile settings (Pre shared key) the group password if you want to store it

5. Set at user settings the user name and password (if you want to store it)

### IPSec

...

### OpenVPN

...

### PPTP

PPTP is a old VPN protocol designed by Microsoft. Today its known to be insecure. Reasons are unencrypted control channel and design mistakes.

## &kvpnc; features

KVpnc provides a lot of features:

- Easy to use KDE gui

- Docking in kicker

- Can be used to generate configuration files for the supported vpn clients

- Localized GUI

  - Bulgarian

  - Chinese

  - Dutch

  - French

  - German

  - Hungarian

  - Italian

  - Slovak

  - Polish

  - Portuguese Brazilian

  - Russian

  - Spanish

- VPN connection to Cisco concentrator

- VPN connection to VPN servers by using IPsec

- FreeS/WAN (Linux 2.4.x) or racoon (Linux 2.6.x/BSD) use

- Multiple profiles

- Preshared secret support

- X509 certificate support

- Cisco PCF file import

- PKCS12 certificate import

- Ping test

- Automatically sets routes and firewall rules (iptables)

- Automatically detects network device (can be overridden)

- Log file writing

- Supports different debug levels for kvpnc, racoon and vpnc

- PPTP support (pptpclient)

- OpenVPN support

- DCOP interface

- User notification on sucessful connection/disconnection

- NAT-T support (racoon/FreeSWAN/OpenVPN/vpnc)

- Log viewer

- Tool checking

- Retrieve dns servers from peer (PPTP)

- Special user-defined server certificate option (FreeS/WAN)

- Additional network routes support

- Support for Debian resolv.conf (vpnc)

- Colorized log output

- User notifications

- Deletes/keeps generated config files

- Checking of /dev/net/tun and creating missing device entry

- Stores size and position of the mainwindow

## Command Reference

### The main &kvpnc; window

#### The File Menu

&Ctrl;Top File Connect

- Establish connection using the currently chosen profile &kvpnc;

&Ctrl;Bottom File Disconnect

- Disconnects from the currently used connection profile &kvpnc;

&Ctrl;Q File Quit

- Quits the application definitively and do not store into the kicker &kvpnc;

#### The Profile Menu

N Profile New profile

- Creates a new profile &kvpnc;

S Profile Save profile

- Saves the currently chosen profile &kvpnc;

D Profile Delete profile

- Deletes the currently chosen profile &kvpnc;

I Profile Import a Cisco PCF profile

- Imports a Cisco PCF profile &kvpnc;

C Profile Import a certificate file

- Imports a certificate file &kvpnc;

&Ctrl;C Profile Show debugging console

- Shows the debugging console &kvpnc;

&Ctrl;T Profile Show tools informations

- Shows the found tools, paths, and if working whether or not &kvpnc;

&Ctrl;L Profile Show log

- Shows the logfile &kvpnc;

#### The Help Menu

&help.menu.documentation;

## Questions and Answers

&reporting.bugs; &updating.documentation;

If compilation fails.

There may be many reaons for the compilation to fail : lack of development tools and/or files, unstable code version ... Please try to search the web for your error and if you don't find an answer, then contact the team.

What I have to do to get IPSec working?

Please install and configure FreeS/WAN (Linux 2.4.x)/ipsec-tools (Linux 2.6.x) first.

Then do the following steps:

1. Import certificate (if X.509 is needed and it is PKCS12 which is ended with .p12).

2. Setup a new connection (gateway, ...)

3. Setup authentication (username,password/certificate/pre shared key) of the newly created connection.

What I need for PPTP?

You need a kernel with MPPE support and the pptpclient.

## Credits and License

&kvpnc;

Program copyright 2004-2005 Christoph Thielecke crissi99@gmx.de

Contributors:

- KDE developers for great KDE.

- KDevelop developers for great KDevelop.

- Maurice Massar vpnc@unix-ag.uni-kl.de for his vpnc.

- Laurent Montel montel@kde.org for patches.

- Peter Kussmann peter.kussmann@gmx.de for various test environments and new ideas.

- D. Klinkenberg d.klinkenberg@gmx.net for intensive testing PPTP functionality, usebility hints, tests and bug hunting.

- All other people which report bugs.

Packagers:

- Carsten Schöne cs@linux-adminstrator.com for building SuSE packages.

- Christoph Thielecke crissi99@gmx.de - german translation

- Witek Strzelczyk witek_strzelczyk@go2.pl - polish translation

- Tomas Olah tomas.olah@alert.sk - slovak translation

- Lapo Luchini lapo@lapo.it - italian translation

- Karoly Barcza kbarcza@blackpanther.hu - hungary translation

- Luk De Ketelaere balboy@kvirc.net and Jorgen Kessler jkesseler@home.nl - dutch translation

- Atanas M. bugar@developer.bg - bulgarian translation

- Juanjo Avarez Martinez juanjux@ yahoo.es - Spanish translation

- He Shi Jun hax.sfo@gmail.com and Marius Pacha marius@matux.de - Chinese translation

- Ahinu ahinu@wanadoo.fr , Florian Fainelliflorian@alphacore.net and Damien Raude-Morvan drazzib@drazzib.com - French translation

- Valeriy Girchenko valeragir@mail.ru - Russian translation

- Marc Serra Romero mad93@majomo.com - Catalan translation

- Bülent SENER bsener@inonu.edu.tr - Turkish translation

&underFDL; &underGPL;

Documentation copyright 2004 Christoph Thielecke crissi99@gmx.de

## Installation

### How to obtain &kvpnc;

- Download

  Get it from the filesection (http://download.gna.org/kvpnc/).

  Packages for various distributions are available there. You dont need to compile it, if there is a package for your distribution.

- KDE3

  The latest development code can be obtain from subversion respository. Simply do:

  `svn co svn://svn.gna.org/svn/kvpnc/trunk kvpnc`

  `cd kvpnc`

  `make -f admin/Makefile.common`

  `./configure`

  `make`

  `su`

  `make install`

  `exit`

  Note to Gentoo and non usual KDE prefix users :

  You have to export the KDEDIR variable in order to compile and install kvpnc properly, usually it is done by :

  `KDEDIR=/usr/kde/3.x/`

  `./configure`

  Then continue as previously explained

- KDE4

  The latest development code can be obtain from KDE subversion respository. Simply do:

  `svn co svn://anonsvn.kde.org/home/kde/trunk/playground/network/kvpnc kvpnc-kde4`

  `cd kvpnc-kde4`

  `cmake .`

  `make`

  `su`

  `make install`

  `exit`

  Note to Gentoo and non usual KDE prefix users :

  You have to export the KDEDIR variable in order to compile and install kvpnc properly, usually it is done by :

  `KDEDIR=/usr/kde/3.x/`

  `./configure`

  Then continue as previously explained

### Requirements

In order to successfully use &kvpnc;, you need &kde; >= 3.1.

The following tools are optional but minimal one of them is required for normal use.

- vpnc >= 0.2-rm+zomb-pre9 (0.3.x strongly recommended) - Cisco VPN

- FreeS/WAN (OpenS/WAN too) - IPSec VPN Linux 2.4/2.6

- strongSwan - http://www.strongswan.org/

- Openswan - http://www.openswan.org/

- racoon - (ipsec-tools) > = 1.xIPSec VPN Linux 2.6

- pptpclient - PPTP VPN

- l2tpd - http://l2tpd.sourceforge.net

- xl2tpd - http://www.xelerance.com/software/xl2tpd/

- openl2tp - http://www.openl2tp.org/

- OpenVPN.- VPN based on SSL

- Vtun - http://vtun.sourceforge.net/

- OpenSSH - http://openssh.net/

&kvpnc; can be found at &kvpnc; home page.

You can find a list of changes at Changelog.

### Compilation and Installation

To compile kvpnc simply do:

tar xvfj kvpnc-<version>.tar.bz2

cd kvpnc-<version>

make -f admin/Makefile.common (optional)

./configure [--prefix=...] (KDE3)

cmake . (KDE4)

make

su

make install

### Configuration

### Creating a new profile

- 1. Click on "New profile..." from Profile menu.

  2. Select the type of connection, hostname of the vpn server. Also fill in remote network, username, password, pres shared key (PSK) or certificate if nessary.

  3. Click "Ok" for creating the new profile.

&documentation.index;