
Tengo algunos problemas (preguntas) relacionados con la implementación de IPsec en el kernel de Linux y su interfaz de espacio de usuario.
- La pregunta más importante es ¿cuál es el proyecto oficial real para la implementación de IPsec en el kernel de Linux? Por lo que entendí, la implementación es una bifurcación del proyecto Kame, pero un amigo dijo que esto no es cierto. ¿Cuáles son su sitio web oficial y su repositorio?
- ¿En qué parte de la fuente de documentación del kernel encuentro algunas notas relacionadas?
- ¿Qué interfaz de espacio de usuario se utiliza más? ¿ip-tools o el paquete iproute2? ¿Estos dos tienen el mismo enfoque o uno de ellos tiene mayores gastos generales?
- Por lo que he visto, los tutoriales para el modo de transporte IPsec de iproute2 se relacionan con la utilidad "setkey" para cargar el archivo de configuración. ¿Se utiliza realmente "setkey" para el paquete iproute2 o me han engañado? ¿Está "setkey" pegado a "racoon" de ip-tools o es una aplicación general para cargar configuraciones? ¿Qué hace realmente "setkey" (estoy muy confundido acerca de esto)?
Respuesta1
- La pila IPsec integrada en el kernel de Linux desde 2.6 (NETKEY) se basó originalmente en la pila KAME (al menos en lo que respecta a la API). El código fuente es parte delrepositorio del kernel, donde se encuentran los componentes principales en la
net/xfrm
carpeta, incluida la implementación de la interfaz de configuración Netlink/XFRM. La alternativa yestandarizado(pero algo extendida) La implementación de la interfaz PF_KEYv2 se encuentra en lanet/key
carpeta. - No hay mucha documentación. Pero revisa la
Documentation/networking
carpeta. - Si realiza la configuración manual de políticas y SA de IPsec (codificación manual), lo recomendaríaiproute2. Utiliza la interfaz Netlink/XFRM más potente y el paquete lo instalan la mayoría de las distribuciones de forma predeterminada. Pero normalmente usarías la clave automática proporcionada por un usuario.IKEdemonios como strongSwan, Open/libreswan o racoon (ipsec-tools), de esa manera no tiene que instalar SA y políticas manualmente y obtiene claves de cifrado/integridad efímeras establecidas a través de Diffie-Hellman durante IKE. También es posible la negociación automática regular de nuevas claves, lo que se denomina cambio de claves.
setkey
es proporcionado por elherramientas-ipsecpaquete para codificación manual, no hay relación con eliproute2paquete. Coniproute2usaría elip xfrm
comando para configurar manualmente las SA y las políticas. Ambos comandos interactúan directamente con el SAD y el SPD (verRFC 4301) en el kernel para administrar manualmente las políticas y SA de IPsec.setkey
, comoracoon
y otras herramientas basadas en BSD, utiliza la interfaz PF_KEYv2, por lo que es menos potente que elip xfrm
comando. Por ejemplo, los números de secuencia extendidos o las marcas no se pueden configurar con PF_KEYv2 en Linux.