设为首页
收藏本站
开启辅助访问
切换到窄版
请
登录
后使用快捷导航
没有帐号?
立即注册
用户名
Email
自动登录
找回密码
密码
登录
立即注册
扫一扫,访问微社区
快捷导航
首页
Portal
论坛
BBS
导读
Guide
动态
Space
帮助
Help
淘帖
Collection
相册
Album
分享
Share
博客
微薄
政军时事
休闲娱乐
时尚生活
音响资源
经济股市
文化培训
搜索
搜索
热搜:
活动
交友
discuz
本版
文章
帖子
日志
相册
用户
小木猫
»
论坛
›
科技文教
›
科学技术
›
智汇华云|WireguardVPN介绍与使用
返回列表
生成文章
|
查看:
1114
|
回复:
0
智汇华云|WireguardVPN介绍与使用
[复制链接]
如梦境
如梦境
当前离线
积分
8253
雷达卡
2400
主题
2402
帖子
8253
积分
版主
积分
8253
发消息
电梯直达
楼主
发表于 2021-7-28 01:47:13
|
只看该作者
|
倒序浏览
|
阅读模式
Wireguard作为新一代VPN的代表,可能很多同学都不太了解。和其它VPN技术一样,我们可以使用它在家庭网络和公司网络之间搭建一条安全的信道,由此可以访问「内网」的数据和应用。本期智汇华云,我们为大家带来《WireguardVPN介绍与使用》。
Wireguard是目前使用起来最方便的,入门最快(内核代码只有4000行),性能最强的l3vpn,即使是在树莓派这种入门级嵌入式平台上也能跑到600Mb/s的速度,并且配置wireguard比其他vpn都要方便的多,配置参数基本看上去就能理解,如果你以前配置过ipsecvpn,那一定会对一大堆参数感到莫名的头疼,常常会因为连不上而查看log并调整参数。
Wireguard工作原理
内核会创建出对应的wireguard接口,这里取名为wg0,接口上配置了双方通信的地址,这样当物理机上的程序使用10.66.66.1地址进行访问10.66.66.2地址时,内核就会进行数据包加密,并把加密之后的报文封包为udp报文,发送给对方,对方内核会进行报文解密,并把解密之后的数据包发送给用户,完成vpn隧道的功能。
Wireguard概念介绍
Wireguardvpn中涉及到几个基本概念:
Peer:wireguard中的节点。
私钥(Privatekey):每个节点自己的私钥,可以使用wggenkey生成。
公钥(Publickey):每个节点自己的公钥,可以使用wgpubkey生成。
allowed-ips:定义每个节点允许通过的ip地址段。
这里公钥使用的Curve25519的Diffie-Hellman函数,由DanielJ.Bernstein教授设计。在密码学中,它是最快的ECC曲线之一,并未被任何已知专利所涵盖。并且wireguard为了防止被以后的量子计算机破解,还可以额外使用wggenpsk产生与共享密钥来保证安全。考虑的真的是周到。
Wireguard隧道创建流程非常简单,用一句话来说就是,通过curve25519进行ecdh密钥交换得到双方的对称密钥,之后所有报文通过该密钥进行加解密。
其实所有的vpn都是为了双方协商一个密钥进行通信,但是能做到如此简单的还只有wireguard,不像ipsec,协商个密钥真的是复杂,ikev1就有野蛮模式和主模式,之后又来了个ikev2版本,让人头晕,就看libreswan中光pluto目录下代码就有10万行。
Wireguard使用
安装wireguard:
如果内核大于5.6就不需要安装内核模块了,只要安装wireguard-tools工具就行。旧版本内核可以安装wireguard-dkms内核模块。
#aptinstallwireguard-toolswireguard-dkms
了解前面几个基本概念之后,就可以通过ip命令创建一个最简单的wireguardvpn。
在12.13.11.10机器上执行如下命令:
在12.13.11.13上执行如下命令:
查看wireguard连接状态:
这里可以看到wireguardvpn建立正常,已经可以ping通对方地址。
这里的wg0设备里面显示了NOARP,也就是说不支持2层mac地址查找,因此wireguard只能封装三层包。
要停止手工创建的wireguard隧道也很简单,直接删除就行了:
#iplinkdeldevwg0
上面演示的是纯手工创建wireguard隧道,还有另一种方式,可以事先把配置先写入/etc/wireguard/wg0.conf文件中,然后wg-quickupwg0启用起来就可以。
12.13.11.10节点:
12.13.11.13节点:
wg-quick-up命令除了会自动创建wg0设备并配置好wireguard的参数之外,还会处理路由表相关的东西,特别是当AllowedIPs设置为0.0.0.0/0时,就会通过iprule添加额外的路由表,来让本机出去的流量都从wg0设备走,不然这些规则都要手动设置。
从上面的介绍可以看出,wireguard真的是简单,配置参数也少,但是就是这样一个vpn最纯正功能的软件,却直到最近才被开发出来,当然wireguard缺点也是有的,比如没办法加密两个节点之间本来的流量,wireguard只有在新接口上的流量才能被加密,而ipsec却可以做到^^。
post_newreply
分享到:
微信
收藏
0
分享
淘帖
0
支持
0
反对
0
点评
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
SAT培训
中国股市
美加留学
我是男生
木猫可人
木猫可人
突出贡献
长期对论坛的繁荣而不断努力,或多次提出建设性意见
用微信扫一扫
互动赢积分
Copyright © 2008-2015
woodenkitten Inc
(https://woodenkitten.com/) 版权所有 All Rights Reserved.
Powered by
Discuz!
X3.2 技术支持:
克米设计
快速回复
返回顶部
返回列表