本测试主要验证远程用户carol和moon网关之间的IPComp压缩功能,两次使用ping测试隧道连接的压缩与否,使用的报文长度不同,内核不压缩长度较小的报文。测试拓扑如下:

主机配置

carol的连接配置文件:ikev2/compress/hosts/carol/etc/ipsec.conf,内容如下,主要关注compress字段设置为yes,这真是本次测试的压缩功能。另外moon主机的配置于此类似,打开compress功能。

config setupconn %defaultikelifetime=60mkeylife=20mrekeymargin=3mkeyingtries=1keyexchange=ikev2compress=yesleftfirewall=yesconn homeleft=PH_IP_CAROLleftcert=carolCert.pemleftid=carol@strongswan.orgright=PH_IP_MOONrightsubnet=10.1.0.0/16rightid=@moon.strongswan.orgauto=add

测试准备阶段

配置文件:ikev2/compress/pretest.dat,内容如下。主要是启动strongswan进程,以及在主机carol开启home连接。

carol::iptables-restore < /etc/iptables.rules
moon::iptables-restore < /etc/iptables.rules
carol::ipsec start
moon::ipsec start
moon::expect-connection rw
carol::expect-connection home
carol::ipsec up home

测试阶段

配置文件:ikev2/compress/evaltest.dat。以下测试语句确认ipsec status命令的输出结果中带有IPCOMP压缩字段。以及在moon主机上strongswan的运行日志中,在IKE_AUTH阶段协商了IPCOMP_SUP,对压缩的支持。

carol::ipsec status 2> /dev/null::home.*INSTALLED, TUNNEL.*IPCOMP::YES
moon:: ipsec status 2> /dev/null::rw.*INSTALLED, TUNNEL.*IPCOMP::YES
moon:: cat /var/log/daemon.log::IKE_AUTH request.*N(IPCOMP_SUP)::YES
moon:: cat /var/log/daemon.log::IKE_AUTH response.*N(IPCOMP_SUP)::YES

命令ipsec status在carol主机上的输出如下,可看到IPCOMP字段,及其CPI压缩参数索引值,入方向为52f2,出方向为4c65。

Connections:home:  192.168.0.100...192.168.0.1  IKEv2...
Security Associations (1 up, 0 connecting):home[1]: ESTABLISHED 1 second ago, 192.168.0.100[carol@strongswan.org]...192.168.0.1[moon.strongswan.org]home[1]: IKEv2 SPIs: d98370d54219a9d3_i* 5137ef64dcf2a7ff_r, public key reauthentication in 53 minuteshome[1]: IKE proposal: AES_CBC_128/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/CURVE_25519home{1}:  INSTALLED, TUNNEL, reqid 1, ESP SPIs: c7f11753_i c8a3649e_o, IPCOMP CPIs: 52f2_i 4c65_o

以下carol主机上strongswan进程的日志,可见carol在IKE_AUTH的请求报文中发送了对IPCOMP_SUP,并且接收到的相应中也带有IPCOMP_SUP支持的字段。

 carol charon: 12[ENC] generating IKE_AUTH request 1 [ IDi CERT N(INIT_CONTACT) CERTREQ IDr AUTH N(IPCOMP_SUP) SA TSi TSr N(MOBIKE_SUP) N(ADD_6_ADDR) N(MULT_AUTH) N(EAP_ONLY) N(MSG_ID_SYN_SUP) ]...carol charon: 13[ENC] parsed IKE_AUTH response 1 [ IDr CERT AUTH N(IPCOMP_SUP) SA TSi TSr N(AUTH_LFT) N(MOBIKE_SUP) N(ADD_4_ADDR) N(ADD_6_ADDR) N(ADD_6_ADDR) ]

以下测试语句确认内核中是否建立了comp的安全关联。

moon:: ip xfrm state::proto comp spi::YES
carol::ip xfrm state::proto comp spi::YES

以下为carol主机上ip xfrm state的部分输出,可见完全符合以上的测试语句。

src 192.168.0.100 dst 192.168.0.1proto comp spi 0x00004c65(19557) reqid 1(0x00000001) mode tunnelreplay-window 0 seq 0x00000000 flag noecn nopmtudisc af-unspec (0x00100101)comp deflatesrc 192.168.0.1 dst 192.168.0.100proto comp spi 0x000052f2(21234) reqid 1(0x00000001) mode tunnelreplay-window 0 seq 0x00000000 flag noecn nopmtudisc af-unspec (0x00100101)comp deflate

最后的测试语句,在carol主机上ping主机alice,第一个ping命令指定报文长度为8192,第二个ping报文为默认的64字节,IPCOMP将对第一个ping报文进行压缩;由于第二个报文长度很短,不进行压缩处理。

carol::ping -n -c 1 -s 8184 -p deadbeef PH_IP_ALICE::8192 bytes from PH_IP_ALICE::YES
carol::ping -n -c 1 PH_IP_ALICE::64 bytes from PH_IP_ALICE::YES
moon::tcpdump::carol.strongswan.org > moon.strongswan.org: ESP::YES
moon::tcpdump::moon.strongswan.org >  carol.strongswan.org: ESP::YES

由下图tcpdump抓取的报文可见,第一个ping报文增加了IP Compression的报头,由于是carol发给alice的请求,CPI使用出方向的0x4c65。

strongswan测试版本: 5.8.1

END

SWAN之ikev2协议compress配置测试相关推荐

  1. SWAN之ikev2协议inactivity-timeout配置测试

    本测试主要验证carol与sun网关建立连接,同时carol设置inactivity空闲时长为10秒,在超时之后删除连接的功能.本次测试拓扑如下: 配置 carol的配置文件:ikev2/inacti ...

  2. SWAN之ikev2协议mobike配置测试

    本测试主要验证远程用户alice与网关sun建立连接时,首先使用eth1接口的IP地址发起连接,在建立连接之后,禁用eth1,以便连接可更新到eth0接口上.其中alice主机的两个接口与sun网关之 ...

  3. SWAN之ikev2协议lookip配置测试

    本测试主要验证远程用户carol.dave与网关moon建立连接时,通过在ipsec.conf文件中指定leftsourceip字段值为%config,由moon获取虚拟IP地址的功能.并在moon上 ...

  4. SWAN之ikev2协议forecast配置测试

    本测试中远程用户carol,dave分别与网关sun建立连接时,并获取虚拟IP地址,moon网关与两个远程用户协商多播和广播的流量选择符,并且使用mark值做区分.网关moon上的forecast插件 ...

  5. SWAN之ikev2协议farp配置测试

    本测试主要验证远程用户carol.dave与网关moon建立连接时,并且通过在ipsec.conf文件中设置leftsourceip=%config,向moon网关请求虚拟IP地址,此虚拟地址位于10 ...

  6. SWAN之ikev2协议config-payload-swapped配置测试

    本测试主要验证远程用户carol以及dave和网关moon之间的IKE配置(configuration)功能,由两个远程用户发起配置请求,moon网关回复分配的虚拟IP地址和DNS服务器地址信息.在远 ...

  7. SWAN之ikev2协议host2host-swapped配置测试

    本测试主要验证moon与sun主机基于X.509证书认证的连接场景,在配置文件ipsec.conf中使用right相关关键字表示本地配置,而使用left表示对端的配置,已测试strongswan的配置 ...

  8. IKEv2协议中的EAP-TLS认证处理流程

    以下根据strongswan代码中的testing/tests/ikev2/rw-eap-tls-only/中的测试环境,验证一下IKEv2协议的EAP-TLS认证过程.拓扑结构如下: 拓扑图中使用到 ...

  9. cisco路由器基本实验之三 动态路由之RIP协议的配置(Boson NetSim)

    言归正传,Boson Netsim的实验规划,默认路由下一个实验应该是RIP协议的配置.众所周知,RIP(Routing Information Protocol),即路由信息协议,它与IGRP,OS ...

最新文章

  1. JVM解读-性能调优实例
  2. 在Spring Boot中使用 @ConfigurationProperties 注解 (二十六)
  3. 傅里叶变换应用——信号调制与解调
  4. n以内的素数c语言,关于求N以内素数的一点小问题(N小于一亿)
  5. bzoj 1634: [Usaco2007 Jan]Protecting the Flowers 护花(贪心排序)
  6. 黑客技术之加密你的磁盘
  7. [转载]Badboy使用教程
  8. ARM开发7.5.2 基础实训( 6 ) 4×4 矩阵键盘和 2 路 LED 显示系统( 2 )--LPC21XX
  9. 用python爬虫批量下载pdf
  10. 《利用Python进行数据分析》第七章——数据清洗与准备
  11. 智能制造MES系统框架
  12. 粘胶活化剂市场现状及未来发展趋势
  13. eHIDS 一款基于eBPF的HIDS开源工具
  14. 【搬家】【软件工具】BitBucket 初体验-安装与配置
  15. android 获取电池最大容量,地表最大容量:Energizer推出16000mAh电池安卓机,续航长达一个周...
  16. VMWARE安装苹果虚拟机,能联网能加AppleID
  17. FFmpeg三大工具--ffplay
  18. 惊魂,我的23个密码被泄露,快看看你的有没有泄露
  19. 现代计算机理论模型与工作方式
  20. 2016校招offer

热门文章

  1. 新浪微博中链接不能直接打开的最新解决方案
  2. [Delphi]Python For Delphi使用大全 (转)
  3. 深度神经网络加速库cuDNN简介
  4. 自动生成单据编码方法
  5. Mysql主主同步方案
  6. css 无限循环旋转
  7. Java批量转换编码
  8. 第一次放生,感觉很奇妙
  9. 报错状态码 200 300 400 500
  10. 如何解决python中打印数据的时候显示不全?