当前位置:   article > 正文

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

虚拟组网神器 netbird

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

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

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

关于原理

无奈,还是得说点枯燥的

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

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

7e78986e55246d6034a092746ec668f1.jpeg

咋使用呢

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

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

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

  1. $ 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
  2. $ yum install -y wireguard-dkms wireguard-tools

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

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

服务端就这一个配置:

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

客户端也就这一个配置:

  1. $ vim /etc/wireguard/wg0.conf
  2. [Interface]
  3.  PrivateKey = GPBy2mFBVI0CXJqOebpOM987GgMd2kcjofux3kANOX8=
  4.  Address = 10.0.0.2/24
  5.  DNS = 8.8.8.8
  6.  MTU = 1420
  7. [Peer]
  8.  PublicKey = VBA5J9Cvefy9GNaJlM/dEij4mF4sPjwy1f1qcNJtlDw=
  9.  Endpoint = 192.168.1.119:12345
  10.  AllowedIPs = 0.0.0.0/0, ::0/0
  11.  PersistentKeepalive = 25

注:

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

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

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

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

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

Server端配置

66bd5b4fe58891c9f297c04cd64787a9.jpeg

Client端配置

bf3e4d31f894f7ee8d804836783cfc76.jpeg

连接状态

711f0f3cdb163bcac2d673a3a81024ae.jpeg

来源:toutiao.com/article/7173202379393778188

1cc183f32f7386ca39e3cdb3aca6b779.png

f2acf22ca10a406bcf6aa73a2d236a2f.png

推荐阅读 点击标题可跳转

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

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

请立即修改密码!!!

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

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

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

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

b8bce1d7d68be85c0860c7df6a0e8a76.png

转发 关注

点亮下方“在看”图标

更多人看到

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/220233
推荐阅读
相关标签
  

闽ICP备14008679号