IPsec over GRE 性能不佳

IPsec over GRE 性能不佳

我已经与远程主机建立了 IPsec over GRE 连接,两者都是网络BSD基于 6.1。“客户端”通过 400Mbps 光纤连接连接到互联网。“服务器”位于 10Gbps 网络上。两台机器都具有 1Gbps NIC,运行正常,这意味着它们在 IPsec 隧道外传输数据时都达到了链接速度限制。通过隧道进行传输时,速度会下降 5 到 10 倍:

直接连接: /dev/null 27%[====> ] 503.19M 45.3MB/s eta 83s IPsec 连接: /dev/null 2%[ ] 47.76M 6.05MB/s eta 5m 3s

隧道设置方式如下:

在服务器上,这是一个NetBSD 社区运行于debian/amd64 dom0

$ cat /etc/ifconfig.xennet0
# 服务器接口
向上
inet 192.168.1.2 网络掩码 255.255.255.0
inet 172.16.1.1 网络掩码 0xfffffffc 别名
$ cat /etc/ifconfig.gre0
创造
隧道 172.16.1.1 172.16.1.2 向上
inet 172.16.1.5 172.16.1.6 网络掩码 255.255.255.252

IPsec 流量通过 NAT 规则从 dom0 的公共 IP 转发到 domU 的xennet0接口:iptables

-A PREROUTING -i eth0 -p udp -m udp --dport 500 -j DNAT --to-destination 192.168.1.2:500
-A PREROUTING -i eth0 -p esp -j DNAT --到目的地 192.168.1.2
-A PREROUTING -i eth0 -p ah -j DNAT --到目的地 192.168.1.2

在客户端上:

$ cat /etc/ifconfig.vlan8
# 客户端公共接口
创造
VLAN 8 VLANIF RE0
dhcpcd -i $int
inet 172.16.1.2 网络掩码 0xfffffffc 别名
$ cat /etc/ifconfig.gre1
创造
隧道 172.16.1.2 172.16.1.1 向上
inet 172.16.1.6 172.16.1.5 网络掩码 255.255.255.252

racoon方面,我甚至尝试了各种哈希/加密算法组合,enc_null但实际上没有任何变化,传输速度仍然停留在最高 6MB/s。

远程节点.public.ip {
     exchange_mode主要;
     生存时间28800秒;
     提议 {
         加密算法 blowfish;
         哈希算法sha1;
         身份验证方法预共享密钥;
         dh_组 2;
     }
     生成策略关闭;
}

sainfo 地址 172.16.1.1/30 任意 地址 172.16.1.2/30 任意 {
     pfs_组 2;
     加密算法 blowfish;
     身份验证算法hmac_sha1;
     压缩算法放气;
     生命周期3600秒;
}

在客户端上:

远程办公室.public.ip {
     exchange_mode主要;
     生存时间28800秒;
     提议 {
         加密算法 blowfish;
         哈希算法sha1;
         身份验证方法预共享密钥;
         dh_组 2;
     }
     生成策略关闭;
}

sainfo 地址 172.16.1.2/30 任意 地址 172.16.1.1/30 任意 {
     pfs_组 2;
     加密算法 blowfish;
     身份验证算法hmac_sha1;
     压缩算法放气;
     生命周期3600秒;
}

隧道建立没有问题,这里唯一的问题是传输中断。同样,当从服务器传输到客户端时,如果没有隧道,速度是最佳的,但会出现中断仅有的通过 IPsec。

两台机器都是基于英特尔的 CPU,运行速度为 2+GHz,内存充足,并且除了转发/NAT 之外的其他任何操作所消耗的 CPU 时间很少。

有人目睹过这种行为吗?知道可以进一步观察哪些地方吗?

谢谢,

答案1

如果您没有调整 MTU,您可能会遇到后碎片问题(加密后发生碎片),此文档对此进行了很好的解释:http://www.cisco.com/c/en/us/td/docs/interfaces_modules/services_modules/vspa/configuration/guide/ivmsw_book/ivmvpnb.html#wp2047965

您应该尝试将隧道内的 MTU 减少 82 字节(GRE + IPSec 标头)。

相关内容