IPSec (FreeS/WAN) anyone??

Federico Voges fvoges
Mon May 17 11:48:37 PDT 2004


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,

On Tue, 24 Jun 2003 10:28:03 -0400, Matthew Carpenter wrote:

>First off, please describe your testing in depth.  FreeS/WAN gateways do not
>use the tunnel by default so pinging through the tunnel from one of the
>gateways won't work.  If you wish to test the tunnel you need to ping through
>the tunnel using appropriately addressed hosts on either side of the gateways.
>

Searching the freeswan site again, I found that piece of info. BTW it
should be mentioned in the quick start page and in the configuration
page of the documentation ;)

After doing some ugly scripting to deal with my sub-optimal setup
(dynamic IP on both ends), the VPN is now working.

Let me describe the situation:

192.168.10.0/24     192.168.10.1 - dyn. IP
BUE-NET ------------- BUE-GW (postgres server) [ADSL modem] ---------+
                                                                     |
                                                                   INET
192.168.11.0/24     192.168.11.1 - dyn. IP                           |
NQN-NET ------------- NQN-GW [ADSL modem] ---------------------------+

I have 3 tunnels: net-net and net-gw (one for each end so ping works as
expected).

The hack I'm using right know is this:

* Every morning (about 6:00am) I force NET-GW to reconnect (adsl-stop,
wait, adsl-start)
* ip-up.local (both ends) has some really ugly stuff(tm) in it:

#!/bin/bash

# Test connection status. Thanks Telefonica for a great service (not!)
# Sometimes we connect but we don't get a default gateway....
route -n|grep -q "^0\.0\.0\.0"
if [ $? -ne 0 ]; then 
  echo "No default route. Dropping connection..."
  killall -HUP pppd
  exit 1
fi

# Test connection status. Thanks Telefonica for a great service (not!)
# Sometimes we get a connection to a black hole.....
ping -c 5 -w 5 200.69.192.31 >& /dev/null
if [ $? -ne 0 ]; then 
  echo "Can't ping to a known internet host. Dropping connection..."
  killall -HUP pppd
  exit 1
fi

# Stop FreeS/WAN
/usr/sbin/rcipsec stop >& /dev/null
sleep 3
# make sure ipsec is dead otherwise it won't start again
/usr/bin/killall pluto >& /dev/null
rm /var/run/pluto.pid >& /dev/null
rmmod -r ipsec >& /dev/null

# Update DDNS
echo "Updating DDNS..."
/usr/bin/lynx -dump "SOME-SECRET-URL-:)" 
if [ $? != 0 ]; then
   # Danger! This could cause an endless loop ;)
   echo "Ooops! Couldn't update DDNS! Dropping connection..."
   /usr/bin/killall -HUP pppd
   exit 1
fi

# The TTL for the dynamic DNS A record is 6secs, let's wait 7secs
sleep 7

# Let's restart IP Sec on the other GW (so it uses the new IP address)
ssh OTHER-GW /usr/local/sbin/ipsec_hack.sh

# We restart IP Sec in our side
/usr/sbin/rcipsec start
- ---EOF---

/usr/local/sbin/ipsec_hack.sh
#!/bin/bash

/bin/logger -i -t "ipsec_hack" "Start"
/bin/logger -i -t "ipsec_hack" "Stopping ipsec"
/etc/init.d/ipsec stop >& /dev/null
/bin/sleep 3
/sbin/rmmod -r ipsec >& /dev/null
/bin/rm /var/run/pluto.pid >& /dev/null
/bin/sleep 3
/bin/logger -i -t "ipsec_hack" "Sarting ipsec"
/etc/init.d/ipsec start >& /dev/null
- ---EOF---

The trick is restarting FreeS/WAN on the other side after updating the
dynamic DNS but before restarting FreeS/WAN on this side. If IP Sec is
running on this side all traffic to the other gw will go thorugh the
NET-GW tunnel which is down.

I know, it's a mess. But it's working ;)

Thinking agin, I've realized that I'll probably need just one tunnel.

BUE-GW is the router/firewall and is running the PostgreSQL server. The
desktops on both LANs (BUE-NET & NQN-NET) run the ERP software that
connects to BUE-GW.

So, I think I'd only need a net-gw tunnel from NQN-NET to BUE-GW. 

As I said, both ends have dynamic IP (ADSL). I hope to switch to static
IP (still using ADSL) as soon as the telco start offering the service.
That will be just on BUE-GW (different telcos on each end and only one
plans to offer static IP).

I have no other choice for the inet conection (except a leased line
that are waaay too expensive here).

Is my current setup too ugly?? Do you have any sugestion to improve
it??

Once I get a static IP, what changes would I have to make? 

TIA!

>Secondly, if you are interested in a fairly decent Web-GUI for FreeS/WAN,
>there is a pretty good WebMin module available.  Install WebMIN if you haven't
>already (www.webmin.com) and then install the FreeS/WAN module. 
> 

I have it installed, it comes with SCO Linux 4.0 (yup, first and only
license sold in Argentina). But it's incomplete (ie: no tunnel status
page), and it's not being developed (last version si about 2 years
old).
Federico Voges
Socio gerente

Intrasoft
Malabia 2137 14 A
(1425) Buenos Aires
Argentina

Te/Fax: 54-11-4833-5182
e-mail: fvoges at intrasoft.com.ar
Web: http://www.intrasoft.com.ar

-----BEGIN PGP SIGNATURE-----
Version: PGP SDK 3.0

iQA/AwUBPviTQBRcJRaVKt4XEQKpSgCgh+rpanmJOO55rZIfV3A7/NntinwAoNT2
HV9ijaxRie3YIq1rRJ13IKKt
=jErK
-----END PGP SIGNATURE-----





More information about the Linux-users mailing list