Ein sehr verbreiteter Client für IPSec-VPN’s ist sicherlich der Shrew Soft VPN Client (momentan aktuell: 2.1.7). Wer (wie ich) jetzt längere Zeit daran verzweifelt ist, dieses Ding unter Ubuntu (ab 10.x) an’s Laufen zu bekommen, der sei getröstet – es gibt Hoffnung! 🙂
Problem ist, dass augenscheinlich die Errichtung der Tunnel und die Etablierung der SA’s funktioniert, aber trotz korrektem Routing einfach kein Paket durch den Tunnel geht. Wer dann noch ein wenig mit tcpdump spielt, der wird schnell feststellen, dass die Pakete zwar in den Tunnel hinein, aber aus dem darunterliegenden Default-Interface wieder herauskommen. Das kann dann also nicht funktionieren.
Ursache sind zwei neue Sicherheitseinstellungen, die bei Ubuntu im Default gesetzt sind. Man findet sie in „/etc/sysctl.d/10-network-security.conf“. Dort muss man
net.ipv4.conf.default.rp_filter=1
net.ipv4.conf.all.rp_filter=1
auf 0 setzen:
net.ipv4.conf.default.rp_filter=0
net.ipv4.conf.all.rp_filter=0
Danach ein entspanntes „/sbin/sysctl -p“ (mit root-Rechten), und es funktioniert.