Master Controller/VPN
From ESCTL
< Master Controller(Difference between revisions)
(→Cisco configuration) |
|||
(5 intermediate revisions by one user not shown) | |||
Line 2: | Line 2: | ||
==== Install the VPN client ==== | ==== Install the VPN client ==== | ||
− | * apt-get install vpnc | + | * sudo apt-get install vpnc |
− | * vi /etc/vpnc/default.conf | + | * sudo vi /etc/vpnc/default.conf |
<pre> | <pre> | ||
IPSec gateway vpn-hosted.esctl.co.uk | IPSec gateway vpn-hosted.esctl.co.uk | ||
Line 10: | Line 10: | ||
IPSec secret ******* | IPSec secret ******* | ||
IKE Authmode psk | IKE Authmode psk | ||
− | Xauth username | + | Xauth username x-esctl-vpn-customername |
Xauth password ********* | Xauth password ********* | ||
</pre> | </pre> | ||
− | * vi /etc/vpnc/vpnc-script | + | * sudo vi /etc/vpnc/vpnc-script |
** Change the first line from "#!/bin/sh" to "#!/bin/bash" | ** Change the first line from "#!/bin/sh" to "#!/bin/bash" | ||
** Change line (approx.) 55 to add /usr/bin to the PATH= line (Needed for 'basename' and 'expr') | ** Change line (approx.) 55 to add /usr/bin to the PATH= line (Needed for 'basename' and 'expr') | ||
Line 22: | Line 22: | ||
* mkdir download | * mkdir download | ||
* cd download | * cd download | ||
+ | |||
+ | Either: | ||
* wget https://github.com/dcantrell/vpncwatch/archive/master.zip -O vpncwatch.zip | * wget https://github.com/dcantrell/vpncwatch/archive/master.zip -O vpncwatch.zip | ||
* unzip ../vpncwatch.zip | * unzip ../vpncwatch.zip | ||
* cd vpncwatch-master | * cd vpncwatch-master | ||
+ | Or: | ||
+ | * git clone https://github.com/dcantrell/vpncwatch.git | ||
+ | * cd vpncwatch | ||
+ | and then: | ||
* make | * make | ||
− | * cp -p vpncwatch /usr/local/bin/ | + | * sudo cp -p vpncwatch /usr/local/bin/ |
Create /etc/init.d/vpncwatch as follows: | Create /etc/init.d/vpncwatch as follows: | ||
Line 75: | Line 81: | ||
: | : | ||
</pre> | </pre> | ||
− | * chmod a+x /etc/init.d/vpncwatch | + | * sudo chmod a+x /etc/init.d/vpncwatch |
− | * update-rc.d vpncwatch defaults | + | * sudo update-rc.d vpncwatch defaults |
+ | |||
+ | ==== Cisco configuration ==== | ||
+ | |||
+ | The following config snippet may be of use | ||
+ | <pre> | ||
+ | username x-esctl-vpn-customername privilege 0 secret secretpassword | ||
+ | |||
+ | crypto isakmp client configuration group esctl-customername | ||
+ | key evenmoresecretpassword | ||
+ | domain hosted.esctl.co.uk | ||
+ | pool esctl-customername | ||
+ | acl esctl-vpn | ||
+ | save-password | ||
+ | netmask 255.255.255.254 | ||
+ | |||
+ | crypto isakmp profile VPN-esctl-customername | ||
+ | match identity group esctl-customername | ||
+ | client authentication list AUTHEN_esctl | ||
+ | isakmp authorization list AUTHOR_esctl | ||
+ | client configuration address respond | ||
+ | keepalive 20 retry 10 | ||
+ | |||
+ | ip local pool esctl-customername 10.11.12.13 | ||
+ | |||
+ | ! for ease of admin, match '13' above to '113' below | ||
+ | crypto dynamic-map VPN-CRYPTOMAP 113 | ||
+ | set transform-set set2 | ||
+ | set isakmp-profile VPN-esctl-customername | ||
+ | reverse-route | ||
+ | |||
+ | </pre> | ||
=== Other hosted configuration === | === Other hosted configuration === | ||
Line 105: | Line 142: | ||
hosts allow = 10.249.1.11 | hosts allow = 10.249.1.11 | ||
</pre> | </pre> | ||
+ | |||
+ | Also set RSYNC_ENABLE=inetd in /etc/default/rsync to suppress the warning that would otherwise be given. |
Latest revision as of 19:13, 27 April 2016
Contents |
[edit] VPN
[edit] Install the VPN client
- sudo apt-get install vpnc
- sudo vi /etc/vpnc/default.conf
IPSec gateway vpn-hosted.esctl.co.uk IPSec ID esctl-customername IPSec secret ******* IKE Authmode psk Xauth username x-esctl-vpn-customername Xauth password *********
- sudo vi /etc/vpnc/vpnc-script
- Change the first line from "#!/bin/sh" to "#!/bin/bash"
- Change line (approx.) 55 to add /usr/bin to the PATH= line (Needed for 'basename' and 'expr')
[edit] Configure the keepalive script
- mkdir download
- cd download
Either:
- wget https://github.com/dcantrell/vpncwatch/archive/master.zip -O vpncwatch.zip
- unzip ../vpncwatch.zip
- cd vpncwatch-master
Or:
- git clone https://github.com/dcantrell/vpncwatch.git
- cd vpncwatch
and then:
- make
- sudo cp -p vpncwatch /usr/local/bin/
Create /etc/init.d/vpncwatch as follows:
#! /bin/sh ### BEGIN INIT INFO # Provides: vpncwatch # Required-Start: # Required-Stop: # Should-Start: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Checks vpnclient is still running # Description: Checks vpnclient is still running, and restarts it # if not. ### END INIT INFO PATH=/sbin:/bin:/usr/local/bin . /lib/init/vars.sh . /lib/lsb/init-functions do_start () { [ "$VERBOSE" != no ] && log_action_begin_msg "Starting vpncwatch" /usr/local/bin/vpncwatch -c 10.249.1.1 /usr/sbin/vpnc ES=$? [ "$VERBOSE" != no ] && log_action_end_msg $ES exit $ES } case "$1" in start|"") do_start ;; restart|reload|force-reload|status) echo "Error: argument '$1' not supported" >&2 exit 3 ;; stop) /usr/bin/killall vpncwatch ;; *) echo "Usage: vpncwatch [start|stop]" >&2 exit 3 ;; esac :
- sudo chmod a+x /etc/init.d/vpncwatch
- sudo update-rc.d vpncwatch defaults
[edit] Cisco configuration
The following config snippet may be of use
username x-esctl-vpn-customername privilege 0 secret secretpassword crypto isakmp client configuration group esctl-customername key evenmoresecretpassword domain hosted.esctl.co.uk pool esctl-customername acl esctl-vpn save-password netmask 255.255.255.254 crypto isakmp profile VPN-esctl-customername match identity group esctl-customername client authentication list AUTHEN_esctl isakmp authorization list AUTHOR_esctl client configuration address respond keepalive 20 retry 10 ip local pool esctl-customername 10.11.12.13 ! for ease of admin, match '13' above to '113' below crypto dynamic-map VPN-CRYPTOMAP 113 set transform-set set2 set isakmp-profile VPN-esctl-customername reverse-route
[edit] Other hosted configuration
rsync is already installed, but requires configuring with /etc/xinetd.d/rsync:
# default: on service rsync { disable = no socket_type = stream protocol = tcp user = root wait = no server = /usr/bin/rsync server_args = --daemon }
and /etc/rsyncd.conf:
read only = true list = false [backup] path = / uid = root gid = root hosts allow = 10.249.1.11
Also set RSYNC_ENABLE=inetd in /etc/default/rsync to suppress the warning that would otherwise be given.