Existem duas implementações do código de rede IPSec para o Linux. O primeiro foi o driver KLIPS do FreeS / WAN para os kernels 2.4. O segundo foi o próprio driver IPSec nativo do 2.6. Durante as primeiras versões 2.6, o IPSec nativo teve problemas bastante sérios, o que levou o driver IPSec do KLIPS a ser portado para o 2.6.
O suporte no nível do kernel é apenas uma parte do quebra-cabeça, o IPSec requer um daemon de espaço do usuário para troca de chaves. Existem alguns destes para o Linux. O OpenS / WAN desce diretamente do FreeS / WAN e pode usar o IPSec nativo 2.6 ou os módulos KLIPS (sendo preferidos os KLIPS). O strongSwan é um fork do FreeS / WAN para usar somente IPSec nativo. Há também portas dos daemons BSD IKE para o driver IPSec nativo 2.6: racoon / ipsec-tools de Free / NetBSD e isakmpd do OpenBSD.