在我的项目中,需要以编程方式对数据包实施IPsec
。目前,我的系统使用n etfilter
队列捕获数据包,并将数据包准备为mangled
。从这一点开始,我对如何为这些数据包实现IPsec毫无头绪。
在我的研究过程中,我遇到了一个名为xfrm
的Linux内核库,但是缺少文档来牢牢掌握它(https://www.google.com/search?client=ubuntu&channel=fs&q=how+to+use+xfrm+c&ie=utf-8&oe=utf-8#channel=fs&q=linux+ipsec+xfrm+example)。如果您有任何专家为我提供一些示例来IPsec
执行xfrm
或任何其他方法来实施IPsec
,我将非常感谢。
非常感谢
答案 0 :(得分:0)
In kernel space look at this files
[Sasi@localhost linux]$ ls -l net/ipv4/xfrm4_*
-rw-r--r--. 1 root root 3957 Apr 19 20:09 net/ipv4/xfrm4_input.c
-rw-r--r--. 1 root root 3773 Apr 19 20:09 net/ipv4/xfrm4_mode_beet.c
-rw-r--r--. 1 root root 2135 Apr 19 20:09 net/ipv4/xfrm4_mode_transport.c
-rw-r--r--. 1 root root 3024 Apr 19 20:09 net/ipv4/xfrm4_mode_tunnel.c
-rw-r--r--. 1 root root 2494 Apr 19 20:09 net/ipv4/xfrm4_output.c
-rw-r--r--. 1 root root 7530 Apr 19 20:09 net/ipv4/xfrm4_policy.c
-rw-r--r--. 1 root root 6523 Apr 19 20:09 net/ipv4/xfrm4_protocol.c
-rw-r--r--. 1 root root 2494 Apr 19 20:09 net/ipv4/xfrm4_state.c
-rw-r--r--. 1 root root 2765 Apr 19 20:09 net/ipv4/xfrm4_tunnel.c
[Sasi@localhost linux]$ ls -l net/xfrm/*
-rw-r--r--. 1 root root 2246 Apr 19 20:09 net/xfrm/Kconfig
-rw-r--r--. 1 root root 342 Apr 19 20:09 net/xfrm/Makefile
-rw-r--r--. 1 root root 14094 Apr 19 20:09 net/xfrm/xfrm_algo.c
-rw-r--r--. 1 root root 766 Apr 19 20:09 net/xfrm/xfrm_hash.c
-rw-r--r--. 1 root root 3179 Apr 19 20:09 net/xfrm/xfrm_hash.h
-rw-r--r--. 1 root root 8683 Apr 19 20:09 net/xfrm/xfrm_input.c
-rw-r--r--. 1 root root 7816 Apr 19 20:09 net/xfrm/xfrm_ipcomp.c
-rw-r--r--. 1 root root 4874 Apr 19 20:09 net/xfrm/xfrm_output.c
-rw-r--r--. 1 root root 78405 Apr 19 20:09 net/xfrm/xfrm_policy.c
-rw-r--r--. 1 root root 3364 Apr 19 20:09 net/xfrm/xfrm_proc.c
-rw-r--r--. 1 root root 14582 Apr 19 20:09 net/xfrm/xfrm_replay.c
-rw-r--r--. 1 root root 56892 Apr 19 20:09 net/xfrm/xfrm_state.c
-rw-r--r--. 1 root root 1877 Apr 19 20:09 net/xfrm/xfrm_sysctl.c
-rw-r--r--. 1 root root 73048 Apr 19 20:09 net/xfrm/xfrm_user.c