Mercurial > hg > Blog
annotate content/Linux/compiling-shrewsoft-vpn-on-pi.md @ 111:bb513b8b0caf
Blog Post about Jenkins and self signed certificates
author | Dirk Olmes <dirk.olmes@codedo.de> |
---|---|
date | Mon, 04 Apr 2022 15:36:16 +0200 |
parents | 1d9382b0329b |
children |
rev | line source |
---|---|
19 | 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: | |
98
1d9382b0329b
Specify the syntax on markdown blocks to avoid broken output that has class=err
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
19
diff
changeset
|
16 |
1d9382b0329b
Specify the syntax on markdown blocks to avoid broken output that has class=err
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
19
diff
changeset
|
17 :::shell |
19 | 18 apt-get install cmake |
19 apt-get install flex | |
20 apt-get install bison | |
21 apt-get install libedit-dev | |
22 apt-get install libssl-dev | |
23 | |
24 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. | |
25 | |
26 The next step is to download the sources, unpack the tarball and compile the source. This turned out to be quite smooth using | |
27 | |
98
1d9382b0329b
Specify the syntax on markdown blocks to avoid broken output that has class=err
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
19
diff
changeset
|
28 :::shell |
19 | 29 cmake -DCMAKE_INSTALL_PREFIX=/usr -DETCDIR=/etc -DNATT=YES |
30 | |
31 followed by the typical | |
32 | |
98
1d9382b0329b
Specify the syntax on markdown blocks to avoid broken output that has class=err
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
19
diff
changeset
|
33 :::shell |
19 | 34 make |
35 make install | |
36 | |
37 sequence. | |
38 | |
39 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 | |
40 | |
98
1d9382b0329b
Specify the syntax on markdown blocks to avoid broken output that has class=err
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
19
diff
changeset
|
41 :::shell |
1d9382b0329b
Specify the syntax on markdown blocks to avoid broken output that has class=err
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
19
diff
changeset
|
42 ikec -r vpn |
19 | 43 |
44 I should have been warned by the smooth compile. Of course the VPN client does not work out of the box, it crashes with | |
45 | |
98
1d9382b0329b
Specify the syntax on markdown blocks to avoid broken output that has class=err
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
19
diff
changeset
|
46 :::shell |
19 | 47 *** glibc detected *** ikec: double free or corruption (out): 0x0191fa70 *** |
48 Aborted | |
49 | |
50 Seems like I have to start digging the code. But that's another story for another day. Stay tuned. |