科学上网指南(10)——wireguard

wireguard 是一款新颖、简单、快速的vpn,所谓点对点通讯的vpn。 它的特点是: 采用最新的加密技术 对称加密采用 ChaCha20 ,身份认证采用 Poly1305, 采用 RFC7539 AEAD 头数据构造 密钥交换协议采用 椭圆曲线 Curve25519 哈希表采用 BLAKE2s (RFC7693) 密钥签名采用 SipHash24 密钥生成采用HKDF ( RFC5869) 总而言之,多年不做加密,我这个曾经入选国家保密专家委员会候选人的博士,已经成为“砖家”了。 采用非对称加密方式交换数据。 跨平台 速度极快 直接运行在linux内核,因此性能优于openVPN等应用层的vpn。 采用点对点认证,udp无状态通讯。如果没有通讯,客户端和服务器都保持静默。如果客户端发出的数据不对,服务器直接丢弃,并不给予任何回应。 为了在linux上配置wireguard,需要独立服务器或者kvm虚拟机。openVS不行,因为wireguard要进入内核,而openVS共享内核,所以无法获得操作权限。 KVM略微贵一点,大概一年20美元可以搞定。考虑到我加一次油也不止20美元,所以这点钱还是值得的。当然,如果你有独立服务器,就可以随便折腾。声明一句,最好买哪种可以无限次数安装系统的vps,否则很容易把系统折腾死。 以下默认root 权限。 安装 ``` add-apt-repository ppa:wireguard/wireguard apt-get update apt-get install wireguard-dkms wireguard-tools linux-headers-$(uname -r) 生成服务器和客户端密钥 ``` cd /etc/wireguard/ umask 077 wg genkey | tee server_private_key | wg pubkey > server_public_key wg genkey | tee client_private_key | wg pubkey > client_public_key...

August 26, 2018 · 2 min · eddy