linux 2.6中ipsec的使用

原创 2004年06月24日 08:46:00

可以参考http://www.ipsec-howto.org/

1。编译kernel 2.6
必须选择下面的选择
 CONFIG_INET_AH
 CONFIG_INET_ESP
 CONFIG_XFRM_USER
可能还要安装module-init-tool
如何生成kernel看另外的文档

2。ipsec-tools
 /configure --prefix=/
 make
 make install

3。两台机器的通讯
 linux(192.168.0.254) host-A--------------linux box(192.168.0.141)host-B
在一台linux中
#加入pf_sock
modprobe af_key

#加密
modprobe md5
modprobe des

#AH
modprobe ah4

#esp
modprobe esp4


cat >setkey.sh <<EOF
#!/sbin/setkey -f
flush;
spdflush;

# AH
add 192.168.0.141 192.168.0.254 ah 15700 -A hmac-md5 "1234567890123456";
add 192.168.0.254 192.168.0.141 ah 24500 -A hmac-md5 "1234567890123456";

# ESP
add 192.168.0.141 192.168.0.254 esp 15701 -E 3des-cbc "123456789012123456789012";
add 192.168.0.254 192.168.0.141 esp 24501 -E 3des-cbc "123456789012123456789012";

spdadd 192.168.0.141 192.168.0.254 any -P out ipsec
           esp/transport//require
           ah/transport//require;

spdadd 192.168.0.254 192.168.0.141 any -P in ipsec
           esp/transport//require
           ah/transport//require;
EOF 
执行setkey后,就可以通讯了

速度测试:
   没有ipsec    有ipsec
A->B   10.21M/s     2.43M/s
B->A                    10.94M/s     2.27M/s

上面的用的是手工密钥,可以还可以用Preshared Keys,X.509 Certificates。
其中/usr/share/ssl/misc/CA可以用来生成X.509 Certificates

生成证书:
mkdir certs
cd certs
/usr/share/ssl/misc/CA -newca
# 254 passwd :ca254
# 141 passwd :ca141
/usr/share/ssl/misc/CA -newreq
# 254 passwd :cert254
# 141 passwd :cert141

#sign it using the certificate authority??
/usr/share/ssl/misc/CA -sign
mv newcert.pem vpngateway_cert.pem
mv newreq.pem vpngateway_key.pem

mkdir /etc/certs
cp ~/certs/*.pem /etc/certs/

#因为racoon不认这个key的格式,转一下
cd /etc/
openssl rsa -in 254_key.pem -out 254_key.pem
#input cert254


4。网关之间的通讯
 C(192.168.0.119)---(192.168.0.114)linux(10.0.0.12)---(10.0.0.13)linux(192.168.0.115)----C(192.168.0.253)
 和上面差不多

Linux内核中的IPSEC实现4(ESP封装)

9. IPSEC封装流程   IPSEC 数据包的封装过程是在数据包发出前完成的, 是和路由选择密切相关的, 根据前面的发出分析可知封装是通过对数据设置安全路由链表来实现的, 因此对数据...
  • substitute_coder
  • substitute_coder
  • 2016年12月26日 01:23
  • 626

Linux内核中的IPSEC实现2

http://blog.chinaunix.net/uid-127037-id-2919563.html 5. 安全策略(xfrm_policy)处理 本节所介绍的函数都在net/...
  • substitute_coder
  • substitute_coder
  • 2016年12月26日 01:15
  • 409

在linux环境下构建ipsec vpn的过程

第一部分:VPN简介 Linux平台上的VPN大致可以为分为三类: IPSec VPN(Openswan,frees/wan,strongswan,KAME)       IPSec...
  • jeason29
  • jeason29
  • 2015年04月27日 12:55
  • 6130

Linux IPsec点到点配置

linux点到点vpn ipsec配置 Juniper netscreen interop Juniper end point: set ike gateway "GW-01" address...
  • caiwenguang1992
  • caiwenguang1992
  • 2016年02月29日 12:23
  • 1712

Linux内核中的IPSEC实现(5)

本文档的Copyleft归yfydz所有,使用GPL发布,可以自由拷贝,转载,转载时请保持文档的完整性,严禁用于任何商业用途。 msn: yfydz_no1@hotmail.com 来源:http...
  • funtasty
  • funtasty
  • 2014年11月02日 17:19
  • 1347

NAT和IPsec并存的几种模型(方案一)

本文出自 “见证成长” 博客,请务必保留此出处http://nanjingfm.blog.51cto.com/2121842/847244 NAT和ipsec本身是一对矛盾体,但是现...
  • dbcxxf
  • dbcxxf
  • 2017年05月25日 10:48
  • 383

ipsec各种场景配置方法

场景1 192.168.28.213[+S=C]...192.168.28.214[+S=C]===162.168.1.0/24 [plain] view plaincopy ...
  • lanmolei814
  • lanmolei814
  • 2014年07月24日 10:16
  • 2056

基于隧道的VPN宏观总结-附cisco的vti方案

如果说VPN是一种保护专有数据的机制,那么可以说使用隧道封装来完成这种机制是一种策略。隧道形式的VPN除了解决数据专有这种需求之外,还有更多的含义: 1.将“路由器功能的统一”缩小到有限的一组路由器...
  • mrwangwang
  • mrwangwang
  • 2014年09月09日 13:56
  • 1021

通过使用 L2TP/IPsec VPN 协议连接到 VPN Gate

通过使用 L2TP/IPsec VPN 协议连接到 VPN Gate 本文档描述了如何使用 L2TP/IPsec VPN 客户端连接到 VPN Gate 的一个 VPN 中继服务器。 L2TP/IPs...
  • hanzheng260561728
  • hanzheng260561728
  • 2016年06月14日 09:38
  • 11867

ipsec SADB参数定义差异分析

http://blog.chinaunix.net/uid-127037-id-2919568.html 1. 前言 由于RFC2367中只定义了SA的类型,但没有定义安全策略的定...
  • substitute_coder
  • substitute_coder
  • 2016年12月26日 01:27
  • 226
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:linux 2.6中ipsec的使用
举报原因:
原因补充:

(最多只允许输入30个字)