标签: ipsec

Linux 中的 IPsec 瓶颈是什么?

我试图比较在千兆以太网中连接的两台主机之间的几种网络安全协议的性能。

我的目标是看看我是否可以使带宽饱和,如果不能,限制因素是什么。

  • 使用 SSL,我可以达到 981 MBit/s,因此以太网链路显然是限制因素;
  • 使用 SSH,我只能达到 750 MBit/s,但我的一个核心的使用率为 100%。由于 SSH 是单线程的,CPU 是限制因素;
  • 使用 IPsec,我读到大约 500 MBit/s,但我的内核都没有达到 100%(它们低于 50%)。

所以我的问题是:为什么 IPsec 不能达到更高的带宽?

两台主机运行 Debian Wheezy 和 Strongswan 以获取 IPsec。

performance bandwidth ipsec

19
推荐指数
1
解决办法
8474
查看次数

Openswan 连接到多个正确的子网不起作用

我正在尝试使用 Openswan(2.6.37 版)将 IPsec VPN 从本地网络连接到远程站点。当我只想连接到远程站点上的单个子网时,一切正常。但是,远程站点还有一个我想要访问的额外子网。

这是我的配置:

conn myConn
        type=tunnel
        left=192.168.139.14
        leftsubnet=192.168.139.0/24
        leftxauthclient=yes
        right=X.X.X.X
        rightsubnet=172.16.1.0/24
        keyexchange=ike
        auth=esp
        authby=secret
        phase2alg=3des-sha1
        pfs=yes
Run Code Online (Sandbox Code Playgroud)

当我用 替换rightsubnetrightsubnets,像这样:

rightsubnets={172.16.1.0/24 192.168.3.0/24}
Run Code Online (Sandbox Code Playgroud)

...然后连接创建成功,但只有列表中的最后一个子网可用。任何对子172.16.1.0网上的任何 ping 操作的尝试都会失败。如果我交换子网的顺序,那么我可以 ping172.16.1.X但不能 ping 另一个子网上的任何内容。就好像 Openswan 只使用列表中的最后一个子网来创建连接。

我在这里做错了吗?

我忽略了一些额外的信息(尽管我不确定它是否相关):我的 Openswan 客户端位于使用 NAT 的路由器后面,并且nat_traversal=yes我的ipsec.conf文件中有。

networking vpn ipsec

14
推荐指数
1
解决办法
3万
查看次数

添加虚拟 IPsec 适配器需要什么?

我正在尝试使用 iproute2 从控制台手动设置 IPsec 连接。我需要的是一个虚拟接口(充其量,一个虚拟 IP 地址也可能就足够了),IPsec 转换所有入口(ESP/TUNNEL 模式)并将其移交给 eth0(在我的系统上称为 em1)。在另一组中,对等方从其自己的 eth 中获取数据包,对其进行解密并将其移交给另一端的虚拟接口。所以我想建立一个“正常”的IPsec隧道。

我对策略和 SA 没有任何问题,并且在传输模式下使用系统的普通以太网地址进行配置很容易,即

ip xfrm policy add src 198.51.100.1 dst 198.51.100.2 dir out tmpl proto esp
ip xfrm state  add src 198.51.100.1 dst 198.51.100.2 spi 24501 proto esp enc des 0xAABBCCDDEEFF0011
ip xfrm state  add src 198.51.100.2 dst 198.51.100.1 spi 24501 proto esp enc des 0xAABBCCDDEEFF0022
Run Code Online (Sandbox Code Playgroud)

对等体上的对手配置效果很好。

现在我尝试设置一个虚拟 IP 和一条到另一个系统的路由

ip address add 10.0.0.0 dev em1
ip route add to 10.0.0.2 via 10.0.0.1
Run Code Online (Sandbox Code Playgroud)

反之亦然。这再次运作良好。然后我将 IPsec 策略和 SA …

command-line networking routing ipsec iproute

8
推荐指数
1
解决办法
3490
查看次数

带有 strongSwan 到 FortiGate 的 IPsec VPN

我正在尝试连接到 FortiGate 并通过 IPsec VPN 隧道访问我们的持续集成服务器。

我无法控制 FortiGate 的配置。

在我运行 Windows 10 的笔记本电脑上,我成功地使用 FortiClient 在http://ourCIserver:8080.

现在我的另一台笔记本电脑运行 Arch Linux 4.14.15,我使用strongSwan 5.6.1 来建立 IPsec 隧道。

令人鼓舞的是sudo ipsec restart,从 的最后部分来看,在调用 时似乎建立了隧道sudo ipsec statusall

Status of IKE charon daemon (strongSwan 5.6.1, Linux 4.14.15-1-ARCH, x86_64):
  uptime: 8 seconds, since Feb 14 15:45:58 2018
  malloc: sbrk 2789376, mmap 0, used 869600, free 1919776
  worker threads: 11 of 16 idle, 5/0/0/0 working, job queue: 0/0/0/0, scheduled: 5
  loaded plugins: <omitted> …
Run Code Online (Sandbox Code Playgroud)

vpn ipsec strongswan

8
推荐指数
1
解决办法
1万
查看次数

Strongswan:几个正确的子网

我在 CentOS7 上安装了 Strongswan,连接到 Palo Alto 路由器。我无法访问远程路由器上的配置。我想在另一端配置两个子网——一个只有一个 IP。我在 ipsec.conf 中有这个配置:

conn %default
        keyexchange=ikev2
        authby=secret

conn net-net
        ike=aes256-sha512-modp2048!
        leftauth=psk
        left=xx.xx.xx.xx
        leftsubnet=10.255.1.0/24
        leftfirewall=yes
        rightauth=psk
        right=yy.yy.yy.yy
        auto=add
        rightsubnet=10.250.72.0/24,192.168.149.199/32
Run Code Online (Sandbox Code Playgroud)

启动隧道后,我只能ping 192.168.149.199,但是10.250.72.0/24 没有hosts。如果我只配置了 10.250.72.0/24 子网,ping 就可以了。

我的版本:

[root@ipsec01 strongswan]# strongswan --version
Linux strongSwan U5.4.0/K3.10.0-514.6.1.el7.x86_64
Run Code Online (Sandbox Code Playgroud)

根据手册,逗号分隔的符号应该是正确的。我应该使用什么配置?

ipsec strongswan

7
推荐指数
1
解决办法
2万
查看次数

IPSec/L2TP VPN 连接失败

我目前正在尝试使用 IPSec/L2TP 与 Ubuntu 16.04(和/或 Fedora 26)建立到我办公室网络的 VPN 连接,但失败并显示以下系统日志条目(完整日志如下):

11:46:26 laptop NetworkManager[911]: received packet: from x.x.x.x[500] to 192.168.0.102[500] (56 bytes)
11:46:26 laptop NetworkManager[911]: parsed INFORMATIONAL_V1 request 3879417451 [ N(NO_PROP) ]
11:46:26 laptop NetworkManager[911]: received NO_PROPOSAL_CHOSEN error notify
11:46:26 laptop NetworkManager[911]: establishing connection '5f4cde33-5549-4535-864b-04944a5d4d69' failed
Run Code Online (Sandbox Code Playgroud)

根据this answer on a similar question,问题可能是用于连接的协议的协商。根据建议,我使用上述工具ike-scan从服务器检索一些信息:

# sudo ipsec stop; sudo service xl2tpd stop; sudo ike-scan x.x.x.x
Stopping strongSwan IPsec failed: starter is not running
Starting ike-scan 1.9 with 1 hosts (http://www.nta-monitor.com/tools/ike-scan/)
x.x.x.x …
Run Code Online (Sandbox Code Playgroud)

networkmanager vpn ipsec l2tp

6
推荐指数
1
解决办法
2万
查看次数

在 FreeBSD 11 和 StrongSwan x FortiGATE 上使用 pf 的 NAT 出站 IPSEC 数据包

我已经工作了一个多星期,试图让出站数据包符合安全协会的要求。

这是我的(示例)场景:

  • 局域网:1.1.1.0/24
  • FreeBSD 接口:xn0(Amazon EC2 实例)
  • 虚拟地址到 nat 流量来自:2.2.2.2/32
  • 到达目的地:3.3.3.3/32

问题描述

尽管事实上我已经在 FreeBSD Box 中启动并运行了所有 SA,但尝试使用 pf 或 ipfw 对数据包进行 nat 处理是行不通的,nat 的数据包使用默认路由接口继续流动并且没有得到进入ipsec隧道。

这是一个示例 SA,使用:

$ ipsec status vpn
vpn{1}:  INSTALLED, TUNNEL, reqid 1, ESP in UDP SPIs: cca608fa_i d74355dc_o vpn{1}:  AES_CBC_256/HMAC_SHA2_256_128, 2688 bytes_i (32 pkts, 32s ago), 4992 bytes_o (32 pkts, 32s ago), rekeying in 43 minutes vpn{1}:   2.2.2.2/32 === 3.3.3.3/32
Run Code Online (Sandbox Code Playgroud)

这是我的 nat 规则pf.conf

nat on enc0 from 1.1.1.0/24 to 2.2.2.2/32 -> 3.3.3.3
Run Code Online (Sandbox Code Playgroud)

这是我的ipsec0 interface …

freebsd ipsec pf strongswan

6
推荐指数
1
解决办法
1093
查看次数

Apparmor:抱怨模式是否启用 dac_override 功能?

在我发现一些应该在我的用例中禁用它的指导后,我正在尝试调整 AppArmor 配置文件(不太高兴裸露地运行 IPSec 守护进程)。

因此,我尝试将其置于complain模式下,这解决了问题,但没有实际揭示原因是什么;我本来希望能aa-logprof那里帮助我,但结果空空如也。

进一步挖掘,我发现了这个确凿无疑的证据/var/log/messages(在启用complain模式之前):

type=1400 audit(1470858266.974:84): apparmor="DENIED" operation="capable" profile="/usr/lib/ipsec/charon" pid=27117 comm="charon" capability=1  capname="dac_override"
Run Code Online (Sandbox Code Playgroud)

启用complain模式产生:

type=1400 audit(1470855949.106:69): apparmor="ALLOWED" operation="capable" profile="/usr/lib/ipsec/charon" pid=4674 comm="charon" capability=1  capname="dac_override"
Run Code Online (Sandbox Code Playgroud)

所以它看起来像是capability dac_override缺少的东西(事实上,如果我手动将它添加到配置文件中,它就可以工作)。

但我很困惑为什么没有明确透露这一点complain。是否complain透明启用dac_override

我对 AppArmor 还很陌生;我今天确实花了相当多的时间尝试解析文档,但找不到任何对此行为的引用......

(Ubuntu 14.04 上的 apparmor 2.8.95~2430-0ubuntu5.3,内核 3.13.0-92)

ipsec apparmor

5
推荐指数
0
解决办法
842
查看次数

IPSec over L2TP:收到 NO_PROPOSAL_CHOSEN 错误通知

环境:

# uname -a
Linux shrimpwagon 3.16.0-4-amd64 #1 SMP Debian 3.16.39-1+deb8u1 (2017-02-22) x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

我已经安装了:

# apt-get install strongswan xl2tpd
Run Code Online (Sandbox Code Playgroud)

我正在尝试连接到 Meraki VPN。我与 Meraki 技术人员进行了交谈,他说它看起来没有进行身份验证,但没有提供更多详细信息:

# ipsec up L2TP-PSK
generating QUICK_MODE request 2711688330 [ HASH SA No ID ID NAT-OA NAT-OA ]
sending packet: from 10.0.0.4[4500] to 50.123.152.194[4500] (252 bytes)
received packet: from 50.123.152.194[4500] to 10.0.0.4[4500] (68 bytes)
parsed INFORMATIONAL_V1 request 2555305796 [ HASH N(NO_PROP) ]
received NO_PROPOSAL_CHOSEN error notify
establishing connection 'L2TP-PSK' failed
Run Code Online (Sandbox Code Playgroud)

ipsec.conf:

config setup
    virtual_private=%v4:10.0.0.0/8
#   nat_traversal=yes …
Run Code Online (Sandbox Code Playgroud)

networking vpn ipsec xl2tpd openswan

5
推荐指数
1
解决办法
2万
查看次数

为什么使用 strongswan 而不是本地 vpn 支持

据我了解,FreeBSD 具有建立 vpn 连接的本机能力。

strongswan 是一个包,它位于 freebsd ipsec 堆栈的顶部还是替代品?

freebsd ipsec strongswan

4
推荐指数
1
解决办法
1935
查看次数

strongSwan - 给出错误“未检测到已知的 IPsec 堆栈,忽略!”

我正在尝试在 Arch Linux 上使用 strongSwan 连接到我大学的 VPN。他们提供了示例ipsec.confipsec.secrets文件,我从 AUR 安装了 strongSwan。

据我所知,我只需要运行ipsec up UNI,其中“UNI”是连接的名称。但在此之前,当我运行时,ipsec start我得到以下输出:

Starting strongSwan 5.5.0 IPsec [starter]...
no netkey IPsec stack detected
no KLIPS IPsec stack detected
no known IPsec stack detected, ignoring!
Run Code Online (Sandbox Code Playgroud)

如果我在网上搜索此错误消息,我只能在 FreeBSD 邮件列表/论坛上找到答案,说别担心,这是 Linux 特定的错误,我们 FreeBSD 用户无需担心。

似乎没有办法以更详细的输出运行 ipsec,所以我不知道如何解决错误。任何帮助将非常感激。

vpn ipsec

3
推荐指数
1
解决办法
7320
查看次数

Strongswan:left 和 leftid 有什么区别?

本教程在设置strongswan时使用left参数,同时本教程也使用leftid参数。left和 和有什么区别leftid

更新

我在 aws ec2 上设置strongswan,配置如下:

conn aws-to-corp
        authby=secret
        #left=%any
        left=52.82.6.111
        leftid=52.82.6.111
        leftsubnet=172.30.0.0/20
        right=223.71.239.218
        rightsubnet=192.168.1.0/24
        ike=3des-md5-modp1024!
        esp=3des-md5!
        keyingtries=0
        ikelifetime=1h
        lifetime=8h
        dpddelay=30
        dpdtimeout=120
        dpdaction=restart
        auto=start
Run Code Online (Sandbox Code Playgroud)

当我设置时left=%any,strongswan工作正常,但是当我设置时left=52.82.6.111,出现一些错误/var/log/syslog在此输入图像描述

谁能解释为什么会发生这种情况?

vpn ipsec strongswan

1
推荐指数
1
解决办法
1248
查看次数