我在 RaspberryPi 2 上的 FreeBSD 11.0-RELEASE-p1 上搭建了一个带有 Strongswan 5.4.0 的 VPN 服务器。到目前为止,它运行良好,但速度有所不同,而且比我之前使用的 Raspian 慢得多。
这是配置:
/etc/rc.conf
hostname="rpi2"
ifconfig_ue0="DHCP"
sshd_enable="YES"
powerd_enable="YES"
# Nice if you have a network, else annoying.
ntpd_enable="YES"
strongswan_enable="YES"
pf_enable="YES"
pf_rules="/etc/pf.conf"
pflog_enable="YES"
pflog_logfile="/var/log/pflog" # where pflogd should store the logfile
gateway_enable="YES" # Enable as LAN gateway
dnsmasq_enable="YES"
/usr/local/etc/ipsec.conf
# ipsec.conf - strongSwan IPsec configuration file
config setup
charondebug="ike 2, knl 2, cfg 2, net 2, esp 2, dmn 2, mgr 2"
uniqueids = never
conn ikev2
left=%defaultroute
leftid=example.com
leftcert=VPN.crt
leftsendcert = always
leftsubnet=0.0.0.0/0
# leftfirewall=yes
right=%any
rightsourceip=10.0.0.1/24
keyexchange=ikev2
auto=add
fragmentation=yes
ike=aes128-sha256-ecp256!
esp=aes128gcm16!
/usr/local/etc/strongswan.conf
# strongswan.conf - strongSwan configuration file
charon {
dns1 = 192.168.1.58
plugins {
include strongswan.d/charon/*.conf
}
}
include strongswan.d/*.conf
/etc/pf.conf
nat on ue0 from 10.0.0.1/24 to any -> (ue0)
连接机器上的下载速度约为 5 Mbit/s,Raspian 约为 20 Mbit/s。 (一个核心的 CPU 使用率约为 33%,内存使用率为 44MB,因此这不应成为更高吞吐量的障碍)
我的问题是我的配置犯了一些错误吗?我想让它更快吗?
VPN 服务器有时也会导致 XNU 崩溃。这会不会是服务器的问题?
编辑:
我刚刚再次检查了连接速度。通过 VPN 的下载速度约为 5-8 Mbps,通过 VPN 的上传速度约为 13-18 Mbps。树莓派上的互联网连接应该没问题,我用 wget 检查了它,它给了我大约 6 MBps,这可能受到 CPU 核心的限制。在 Debian 上,VPN 的上传和下载速度约为 20 Mbps。那么FreeBSD 应该有一些改进吗?另一个问题是:如果我找出问题所在,有没有办法利用CPU的多核来进一步提高速度?
编辑2:
我刚刚使用 OpenSSL 1.0.2j 检查了 AES-GCM 性能,速度约为 7000kB/s。也许有人可以解释一下为什么我可以或不能在 ESP 下达到这些速度?
答案1
我刚刚再次查看了 Raspian,并打开了并行加密。现在我获得了大约 50 Mbps 的吞吐量。我认为 FreeBSD 无法实现这一点,所以我将继续使用 Linux。