关注公众号,回复“1024”获取2TB学习资源!

vpn 软件都那么多了,为啥还要说 WireGuard 这个家伙?原因很简单,就是因为 WireGuard 被 Linux 之父 Linus称赞为“艺术品”,要知道Linus大神平常都是已喷人而著称的,能得到它的赞美,可想而知 WireGuard 有多么的优秀!!!WireGuard 真正实现了极简主义,它设计精巧,核心代码仅四千多行,wireguard相对于OpenV** 来说,配置起来更加简单,运行速度也更快,嗖嗖的

话说到这里,突然想到一个极简主义的八卦,不知道各位晓不晓得号称日本第一的niu lang name Roland ,痴迷简约的它随便聊聊天都能月薪千万,真是羡慕旁人啊...,算了不聊这个还是继续说IT吧。

关于原理

无奈,还是得说点枯燥的

WireGuard 使用的交换密钥算法是ECDH,它是DH算法的一个变种,即协商安全信道的双方,持有一个私密的随机数,然后交换公开的随机数,通过同余算法两端独立计算出相同的密钥,从而达到不传输密钥就可以协商出相同密钥的方式,赞一个

如何理解这个算法是个令人头疼的问题,为了大家的健康,适度给个示意图意思一下就行了~

咋使用呢

有了 Linus 大神的强烈要求,WireGuard当然被顺利的合并到Linux kernel,但可惜只有5.6以上版本的内核才能使用到它

老系统咬咬牙也能用,只要你敢升级一下内核,为了给大家演示一下,我也只能咬牙了 (CentOS7,Kernel 5.8,及同版本kernel-devel、kernel-headers )

好了,为了契合主题,一切已简约为主,安装也正当的选择了YUM

$ curl -o /etc/yum.repos.d/jdoss-wireguard-epel-7.repo https://copr.fedorainfracloud.org/coprs/jdoss/wireguard/repo/epel-7/jdoss-wireguard-epel-7.repo
$ yum install -y wireguard-dkms wireguard-tools

服务器、客户端请自觉 各自 密钥配对:

$ cd /etc/wireguard
$ wg genkey | tee privatekey | wg pubkey > publickey

服务端就这一个配置:

$ vim /etc/wireguard/wg0.conf
[Interface]
PrivateKey = oJACAbXZU/mxh+b6mut5Bs0jX7kLqM0ExUKhGchptWA=
Address = 10.0.0.1/24
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o ens192 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o ens192 -j MASQUERADE
ListenPort = 12345
DNS = 8.8.8.8
MTU = 1420
[Peer]
PublicKey = ozlJP0WG4AE+jbPIfpZnYgS3Ad3ooKFXvG6ZMhS73jU=
AllowedIPs = 10.0.0.2/24

客户端也就这一个配置:

$ vim /etc/wireguard/wg0.conf
[Interface]PrivateKey = GPBy2mFBVI0CXJqOebpOM987GgMd2kcjofux3kANOX8=Address = 10.0.0.2/24DNS = 8.8.8.8MTU = 1420[Peer]PublicKey = VBA5J9Cvefy9GNaJlM/dEij4mF4sPjwy1f1qcNJtlDw=Endpoint = 192.168.1.119:12345AllowedIPs = 0.0.0.0/0, ::0/0PersistentKeepalive = 25

注:

  • PrivateKey 请输入自个本机的,PublicKey 请输入人家(对端)公开的

  • Address 请输入同一个地址段的俩地址,说这个可能有点啰嗦了

  • iptables 选好自己的网卡ens192,当然这里用Linux firewalld也可以

两边启动,完事了,你说快不快~

[root@server wireguard]# wg-quick up wg0
[#] ip link add wg0 type wireguard
[#] wg setconf wg0 /dev/fd/63
Warning: AllowedIP has nonzero host part: 10.0.0.2/24
[#] ip -4 address add 10.0.0.1/24 dev wg0
[#] ip link set mtu 1420 up dev wg0
[#] mount `8.8.8.8' /etc/resolv.conf
[#] iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o ens192 -j MASQUERADE
[root@server wireguard]#

Server端配置

Client端配置

连接状态

来源:toutiao.com/article/7173202379393778188

推荐阅读 点击标题可跳转

开工第一天!就把 Zabbix 换成了 Prometheus

Linux 6.0 生命周期结束!再见!

请立即修改密码!!!

比亚迪开始追查员工学历。。。

不想去互联网大厂卷?这些小而美公司不香吗?

微软确认裁员1万人,遣散费约54亿元,人均获赔54万

Nginx一网打尽:动静分离、跨域、高可用、性能优化

转发 关注

点亮下方“在看”图标

更多人看到

超牛逼!下一代内核级虚拟组网神器来了相关推荐

  1. 一款超牛逼的神仙级接私活软件!吊到不行

    点击关注公众号,回复"1024"获取2TB学习资源! 之前民工哥也给大家推荐过一些接私活的平台:推荐几个程序员赚钱的平台,你有技术就有钱!,后面又给大家推荐一些练手的开源项目:接私 ...

  2. 一款超牛逼的 P2P 内网穿透神器(附安装、使用教程)

    点击上方"Java基基",选择"设为星标" 做积极的人,而不是积极废人! 每天 14:00 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | Java ...

  3. 再见 Teamviewer!这款国产轻量级远程桌面软件超牛逼

    点击下方公众号「关注」和「星标」 回复"1024"获取独家整理的学习资料! 对很多 Mac 用户来说,想用远程控制请教下大佬,太难了. 在 Windows 上一个 QQ 就能搞定的 ...

  4. 几款超牛逼的 SSH 客户端工具!好用到爆

    点击下方公众号「关注」和「星标」 回复"1024"获取独家整理的学习资料! 一.Windows 想来占有量最大的操作系统,得非莫属了吧,相信 Windows 系统肯定是陪伴了很多小 ...

  5. 挺带劲!这款开源数据库迁移工具超牛逼

    点击下方公众号「关注」和「星标」 回复"1024"获取独家整理的学习资料! 迁移数据库可以说是日常工作中的家常便饭,不过,如果一不小心把数据库搞炸了,那就麻烦大了(搞不好就得背锅了 ...

  6. 几款超牛逼的终端命令行工具!好用到爆

    点击关注公众号,回复"1024"获取2TB学习资源! 终端是程序员的必备工具之一,本文将介绍许多牛逼且实用的开源工具,本文仅对工具做基本介绍,不提供安装方法,因为这些工具的安装方法 ...

  7. 还在付费使用 XShell?我选择这款超牛逼的 SSH 客户端,完全免费!

    点击关注公众号,回复"1024"获取2TB学习资源! 分享过 FinallShell 这款 SSH 客户端,也是我目前常用的 SSH 客户端工具,FinalShell 使用起来方便 ...

  8. 超牛逼!这款开源性能监控系统真强大~

    点击关注公众号,回复"1024"获取2TB学习资源! 当网站上线后,流量增加或短暂功能故障,都会造成使用者体验相当不好,而这时该怎么快速找到性能的瓶颈呢?通常 CPU 达到 100 ...

  9. 超牛逼!100 个开箱即用的 Shell 脚本,拿好了~

    点击下方公众号「关注」和「星标」 回复"1024"获取独家整理的学习资料! shell脚本是帮助程序员和系统管理员完成费时费力的枯燥工作的利器,是与计算机交互并管理文件和系统操作的 ...

最新文章

  1. jpadao层继承什么_ABP框架领域层
  2. 编程式事务与声明式事务
  3. linux读文件整个过程,linux下文件资料传输实现全过程
  4. 大剑无锋之HTTP连接、Tcp三次握手四次挥手、Tcp状态
  5. ln -s 的一个坑
  6. LeetCode 58. 最后一个单词的长度
  7. div水平垂直居中的六种方法
  8. 乾坤 微前端_拥抱云时代的前端开发架构——微前端
  9. Mac/IOS Xcode Instruments资源统计及自动化相关
  10. 二叉排序树求每个结点平衡因子程序
  11. 一款 redis客户端工具RedisDesktopManager的安装和使用
  12. Exynos4412——LCD驱动
  13. t-SNE原理与推导
  14. DDS每个数据包和域ID大小的数据开销
  15. MySQL Workbench main_menu.xml 文件 可直接粘贴(下)
  16. 发生在我们身边的灵异事件 - 发生在台湾奇萊山的一些灵异事件
  17. 拿什么拯救你的硬盘?十大绝招帮你忙
  18. Android+上百实例源码分析以及开源分析+集合打包
  19. 离线强化学习(Offline RL)系列3: (算法篇) AWAC算法详解与实现
  20. 《网络空间内生安全》读书笔记:第七章 动态异构冗余架构

热门文章

  1. Maven仓库配置163源
  2. 表格划过变色之tr:hover无效,td:hover有效解决方法
  3. 如何理解道德经三个字
  4. 织梦自适应php源码,HTML5自适应仿WP大学织梦整站源码 v1.0
  5. Ubuntu16.04下为Titan RTX 安装显卡驱动、CUDA、cudnn
  6. java程序设置开机自启动
  7. java二维码形式加密信息
  8. HTML 制作九宫格
  9. NumPy 创建多维数组
  10. python 三大框架之一Django