arch-wiki-md-repo
Version:
All arch-wiki articles in markdown format, updated every two days.
81 lines (55 loc) • 3.36 kB
Markdown
[](https://www.unix-ag.uni-kl.de/~massar/vpnc/) is a VPN client for Cisco hardware VPNs.
* [1 Installation](
* [2 Configuration](
* [3 Starting](
* [4 Troubleshooting](
[](/index.php/Install "Install") the [vpnc](https://www.archlinux.org/packages/?name=vpnc) package.
The vpnc configuration files are in `/etc/vpnc`. It contains a `default.conf` file that you can copy and modify for your setup.
Executing `vpnc --long-help` will provide the names and descriptions of the various configuration options. For instance, in that output you will see
```
--gateway <ip/hostname>
IP/name of your IPSec gateway
conf-variable: IPSec gateway<ip/hostname>
```
which translates into a line like this in your configuration file:
```
IPSec gateway gateway.example.com
```
The `vpnc` package comes with a [systemd](/index.php/Systemd
In case the vpnc client crashes with:
```
May 15 09:11:38 ntrp-mimacom systemd-coredump[5858]: Process 5814 (vpnc) of user 0 dumped core.
Stack trace of thread 5814:
```
you will need to monkey patch the the software because an assertion is failing with the latest updates..
Download the sources from [http://svn.unix-ag.uni-kl.de/vpnc/trunk/](http://svn.unix-ag.uni-kl.de/vpnc/trunk/) and patch the file vpnc.c with the following:
```
Index: vpnc.c
===================================================================
--- vpnc.c (revision 550)
+++ vpnc.c (working copy)
@@ -1206,7 +1206,7 @@
assert(a->af == isakmp_attr_16);
assert(a->u.attr_16 == IKE_LIFE_TYPE_SECONDS || a->u.attr_16 == IKE_LIFE_TYPE_K);
assert(a->next != NULL);
- assert(a->next->type == IKE_ATTRIB_LIFE_DURATION);
+ /* assert(a->next->type == IKE_ATTRIB_LIFE_DURATION); */
if (a->next->af == isakmp_attr_16)
value = a->next->u.attr_16;
```
Temporary workaround found here: [https://bbs.archlinux.org/viewtopic.php?id=225556](https://bbs.archlinux.org/viewtopic.php?id=225556)
Remember to change the PREFIX to /user instead /user/local so you overwrite the broken binary.