I have a weird problem with IPSec. I searched the Internet for days now, tried different things, but all without the much desired success. I hope somebody here is able to give me a clue or little hint on it.
Currently I'm using a Raspberry Pi (RPi) to terminate an IPSec tunnel to another location. The system is running on "Raspbian" (aka Debian Wheezy). I intend to replace the system by a newly purchased Beaglebone Black (BBB). I installed Arch Linux and configured the system identical to the RPi (setkey and racoon). The tunnel is being established, no errors whatsoever, both sides say that the tunnel is up, but no traffic is going through (i.e. I see packets crossing the tunnel, but they seem to just disappear to nowhere).
I grazed the Internet for days now and haven't found any clue why this is the case. I'm close to giving up as I have no idea anymore what to do.
Based on research on the Internet I tried the following things (obviously without any luck):
- Added a route manually (even though on the RPi it works without setting any routes)
- Changed the encryption algorithm (from AES to 3DES)
- Changed the hash algorithm (from SHA1 to MD5)
- Turned off NAT traversal (I prefer having the tunnel running via UDP though)
If I ping a machine on "the other side" and sniff what is happening within the tunnel on both, the RPi and the BBB, I see the following:
RPi: ESP packets are going to "the other side" and packets are coming back. Ping and any other communication is working properly.
BBB: ESP packets are going to "the other side", but no packets are coming back.
If I start a ping from "the other side" to my side, the BBB shows ESP packets coming in, but somehow they are not processed. No answers are received back, nor are any reply packets sent. To me it looked like some ruleset might block everything. I installed iptables and ... no rules defined, default policy is "ACCEPT".
This is so unsatisfying! And I have no clue what the problem might be. I really hope someone can shed some light into this behaviour.
Thanks
Criena