大白话讲解 节点间数据安全传输神器WireGuard
站长推荐:NSetup一键部署软件
一键式完成美化安装包制作,自动增量升级,数据统计,数字签名。应对各种复杂场景,脚本模块化拆分,常规复杂的脚本代码,图形化设置。无需专业的研发经验,轻松完成项目部署。(www.nsetup.cn)
首先说明一下:今天好多朋友都在问EOS DAWN 4.0怎么还没出来?不是说好5.11号出来吗?对,是5.11号,是BM所在地区的时间,不是北京时间。所以,如果是按惯例的话,应该是明天早上5点-6点之间出来。
现在EOS社区的技术氛围越来越浓,许多大陆候选节点/华人参与的候选节点,都在积极参与社区的技术讨论。安全一直是讨论的重中之重。除了防DDoS,还有如何在节点之间安全传输数据,特别是主网刚启动的时候。
社区推荐了一个VPN–WireGuard。官网为:https://www.wireguard.com/
对于非技术人员,我希望能讲清楚它的特点和工作原理。对于技术人员,我会提供更多的安装使用细节。
WireGuard的特色,我觉得可以概括为三点:好友白名单,通信加密,非法请求过滤。
好友白名单:
只有相互加白名单,才能彼此通信。比如Bean要和EOS Cannon通信,一定要先互相加好友。
通信加密:
发出去的任何消息,都是通过对方的公钥加密,收消息方需要用私钥解密。
非法请求过滤:
非白名单的连接会被拒绝,解密失败的消息会直接丢掉。
官方提供了一个完整的发送和接收的例子:
当一个网卡A发送数据给B:
1. 如果一个数据包要发送给192.168.30.8(假如这是B的虚拟地址)。WireGuard先会看192.168.30.8是否已注册。如果未注册,数据包直接丢掉。
2.如果B已经注册,使用B的公钥加密数据包。
3.再看数据包要发送的外网真实地址和端口,如果和B的不匹配,则数据包直接丢掉。
4.以上检查完毕,发送数据包。
当一个网卡B收到A的数据:
1. 监听的端口收到数据包,准备解密。
2.用B的私钥解密,检查数据中包含的B的外网地址和端口,以确定是A发送给B的。
3.检查数据包中A的虚拟地址。
4.如果A的虚拟地址未在B处注册,则直接丢掉,接受该数据包
以下偏技术:
WireGuard在ubuntu上的安装步骤:
sudo add-apt-repository ppa:wireguard/wireguard
sudo apt-get update
sudo apt-get install wireguard
配置:
生成公私钥:
wg genkey | tee privatekey | wg pubkey > publickey
配置文件和内容:
[Interface]部分为本机的配置。Address为虚拟地址。
[Peer]为信任方的配置,可以有多个[peer]。PublicKey为peer方的公钥。AllowedIPs为peer方的虚拟地址。Endpoint为peer方的外网地址和wireguard监听端口。
启动:
ip link del dev wg0 && wg-quick up wg0
验证:
wg show
https://bihu.com/article/362924
学习日记,兼职软件设计,软件修改,毕业设计。
本文出自 学习日记,转载时请注明出处及相应链接。
本文永久链接: https://www.softwareace.cn/?p=1782