comparison content/Linux/compiling-shrewsoft-vpn-on-pi.md @ 19:0d4d403418d0

add blog post
author Dirk Olmes <dirk@xanthippe.ping.de>
date Mon, 04 Nov 2013 04:31:32 +0100
parents
children 1d9382b0329b
comparison
equal deleted inserted replaced
18:ba3f2e5c6950 19:0d4d403418d0
1 Title: Compiling the Shrew Soft VPN client on Raspberry Pi
2 Date: 2013-11-04
3 Lang: en
4
5 At work we deploy our software on machines that are located at customers sites. To access these machines we have created a VPN infrastructure that allows us to access the machines, deploy updates etc.
6
7 I use [Shrewsoft's VPN client](https://www.shrew.net/software) to connect to the VPN infrastructure. This works so well on Linux that we recently began to replace the commercial VPN client used on Mac OS X with the Shrew Soft client - but that's a different story.
8
9 Part of our infrastructure is a [Zabbix](https://www.zabbix.org/wiki/Main_Page) installation which is used to monitor our software via JMX. Zabbix features nice [screens](https://www.zabbix.com/documentation/2.0/manual/config/visualisation/screens) that can be used to create a dashboard-style overview over the current state of all hosts.
10
11 To give everyone in the office more visibility on how our software is doing I'd like to display custom Zabbix screens on a big display located in the office. A [Raspberry Pi](http://www.raspberrypi.org/) looks like the perfect machine for powering the display - it's cheap, doesn't use much power and should even have a chrome browser to run in kiosk mode.
12
13 Sounds like an interesting pet project so I ordered a Pi and some equipment. When it finally arrived I flashed the standard [NOOBS](http://downloads.raspberrypi.org/NOOBS_latest) starter pack. The main hurdle will be getting the Shrew Soft VPN client to run, I don't want to fiddle with the Linux distro right now. That'll be a hobby project for another day.
14
15 Before attempting to compile the source all prerequisites must be installed:
16
17 apt-get install cmake
18 apt-get install flex
19 apt-get install bison
20 apt-get install libedit-dev
21 apt-get install libssl-dev
22
23 I did not install Qt and friends - the basic command line client will be sufficient for my setup. Connecting to the VPN will be fully automated anyway.
24
25 The next step is to download the sources, unpack the tarball and compile the source. This turned out to be quite smooth using
26
27 cmake -DCMAKE_INSTALL_PREFIX=/usr -DETCDIR=/etc -DNATT=YES
28
29 followed by the typical
30
31 make
32 make install
33
34 sequence.
35
36 Now that the VPN client is installed, I exported the VPN settings from my Linux desktop machine and tried to run the command line client
37
38 ikec -r vpn
39
40 I should have been warned by the smooth compile. Of course the VPN client does not work out of the box, it crashes with
41
42 *** glibc detected *** ikec: double free or corruption (out): 0x0191fa70 ***
43 Aborted
44
45 Seems like I have to start digging the code. But that's another story for another day. Stay tuned.