1. 首页
  2. 学术上网
  3. wireguard

CentOS7一键脚本安装WireGuard

视频版教程:点击查看youtube视频(需FQ)

WireGuard(可略过

WireGuard ®是一种非常简单而现代,快捷的VPN,利用国家的最先进的加密技术。它旨在比IPSec更快,更简单,更精简,更有用,同时避免大规模的头痛。它打算比OpenVPN更高效。WireGuard设计为通用VPN,可在嵌入式接口和超级计算机上运行,​​适用于多种不同情况。最初是为Linux内核发布的,现在它是跨平台的,可广泛部署。它目前正在大力发展,但它已经被认为是业内最安全,最易于使用,最简单的VPN解决方案。

下一代高速wireguard,以上来自英文自动翻译,避免大规模的网络传输的headers,大体意思是更底层一些,效率更高一些,速度更快一些,测试过程中分别使用搬瓦工GIA和GCE台湾,两者均能秒开4K,前者40M左右,后者60M左右,可以说速度起飞了,放下youtube截图。视频教程已上传youtube,点击观看(需FQ)

CentOS7一键脚本安装WireGuard CentOS7一键脚本安装WireGuard

关于一键脚本(必看

1、仅适用于centos7系统,ubuntu一键脚本可使用另一篇教程:ubuntu一键安装wireguard

2、VPS架构必须是KVM

3、测试了搬瓦工、谷歌云、Vultr的centos7,可以完美搞定

4、cento7大部分内核都是3.10,不能正确安装,所以需要升级

5、有些厂商的vps内核貌似升级不了,例如vpsserver,这个还是要自行解决

6、wireguard是一个peer对应一个客户端,如果需要多个客户端使用可查看多用户配置视频


几款VPS推荐(可看

需要稳定GIA线路可考虑hostdare,性价比不错,目前新春活动,年付7折。

方案内存硬盘流量优惠码(年付7折)价格(优惠后)购买链接
KVM1(推荐)756M35G1000G/月 80M带宽SPRING32.19$/年点击购买
KVM21.5G75G1500G/月 100M带宽SPRING48.99$/年点击购买
KVM存储1756M150G1000G/月 80带宽SPRING41.99$/年点击购买
KVM存储21.5G300G1500G/月 100M带宽SPRING69.99 $/年点击购买

需要香港VPS推荐阿里云24元/月的轻量服务器,联通移动直连,电信回程直连。

点击查看阿里云香港轻量服务器介绍。

也可以看看搬瓦工,可以换机房,ip被墙可每10周免费换一次,稳定性不错。

点击查看搬瓦工VPS推荐。

教程开始(必看

1、VPS应安装为centos7系统,使用xshell或其他ssh工具连接VPS后,执行下面命令:

yum install -y wget && wget https://raw.githubusercontent.com/atrandys/wireguard/master/wireguard_install.sh && chmod +x wireguard_install.sh && ./wireguard_install.sh

2、执行脚本会弹出选择项,首先我们选择安装内核,安装过程中需要几分钟,最后按照提示重启。

CentOS7一键脚本安装WireGuard

3、重启完毕,使用xshell连接VPS,执行下面命令:

./wireguard_install.sh

4、执行命令会弹出和第2步相同的选择项,这次我们选择安装wireguard,安装过程中需要等几分钟,安装完成服务即自行启动了。

CentOS7一键脚本安装WireGuard

5、使用xftp等ftp工具连接vps,进入/etc/wireguard/目录,然后将client.conf下载到本地电脑。(这个配置文件里面包含的是客户端的各种参数,mac、linux客户端也是使用这些参数。)

CentOS7一键脚本安装WireGuard

6、下载安装TunSafe,这是一个windows端的第三方客户端,因为官方windows版本的还没开发完成,先用这个软件代替,TunSafe已经开源了,可以放心使用。

官网下载:TunSafe

7、打开TunSafe,点击file,选择import file,选择第5步下载的client.conf文件,导入到软件中。

CentOS7一键脚本安装WireGuard

8、导入后会自动连接,连接成功后,所有流量都会被代理,也就是全局代理。

9、使用Linux、Mac系统的同学,可以去官方查看一下如何安装对应的客户端,比较简单,这里就不讲了。

安卓版客户端教程

1、去Google Play下载wireguard,目前这个软件在Google Play中是未发布版,也可直接下载下面的f-droid的安装包。

安卓版wireguard:点击下载

2、将软件安装好,并将本教程服务端获取的client.conf文件传输到手机中。打开软件,点击加号,在弹出的页面选择create from file or archive,然后选择保存在手机的conf文件。

注意:这里可能会提示错误,原因是没有文件操作权限,去权限管理里给软件勾上存储权限即可。

CentOS7一键脚本安装WireGuard

选择文件后如下图所示

CentOS7一键脚本安装WireGuard

开启代理即可。

iOS版客户端

现在是测试版,官方和tunsafe都提供了测试版,需要先进链接安装testflight,然后再在手机上打开这个测试版连接,就可以跳转到testflight,然后安装就可以了

官方ios版:wireguard测试版

Tunsafe ios版:在非国区app store搜索tunsafe安装即可。

导入测试文件很简单,可以直接打开软件,扫描服务上生成的二维码,也可以把文件复制到手机,然后用软件打开。

多用户

wireguard一个配置文件同一时间只能连接一个设备,所以你如果需要多用户,那么需要多个配置文件。

多用户配置可以参考这个视频,讲解的应该够清楚。

非常重要

这里是一些大家wireguard后遇到各种问题的排查过程,遇到问题先来这里看,有遇到问题自行解决过了而且下面没提及到的,请各位童鞋留言,我会补充上。

服务端

1、首先使用 wg 命令,查看wireguard服务是否正常启动,peer是否正常。

2、检查配置文件wg0.conf,ip不可使用ipv6,因为ip是自动联网查询的,有可能会得到ipv6地址,需要改成ipv4的地址。

3、使用 ip link 命令查看物理网卡是否为eth0,如果不是将真实名称(除了lo、wg0的那个网卡)替换wg0.conf中的eth0。

4、你的云服务商的防火墙是否放行。像谷歌云/阿里云等在web控制台都可以看到防火墙设置,需自行配置放行规则。

5、你的云服务器的内网IP段不要和10.0.0.1/24冲突,我遇到过谷歌云内网网段(自己配置的)和wg使用的网段冲突的情况,这种问题很少见,除非是你自己配置的内网IP。

客户端(windows)

1、用管理员权限打开tunsafe,不要同时开启其他代理类软件。

2、如果是电脑直接拨号上网,可能会出现无法连接的情况,换路由器拨号。

3、有安装过SSTAP的情况(它安装的虚拟网卡会设置静态IP),wireguard可能会共用sstap安装的网卡,注意把这个虚拟网卡的ip和dns设置为自动获取。

4、安装过其他VPN的卸载一下,重装tunsafe试试。

5、本地ip地址可能是10.0.0.1/24网段的,会有冲突,给wireguard设置其他网段,默认10.0.0.1改成其他,例如10.8.0.1。

重装!!!

如果以上问题你确实排查过了,那么很可能是tunsafe安装有问题,需要你卸载tunsafe,卸载TAP虚拟网卡,重新安装tunsafe,安装过程中所有权限都有要允许,有什么安全软件提示也要允许,重新试一下。

原创文章,作者:atrandys,如若转载,请注明出处:https://atrandys.com/2018/886.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

评论列表(288条)

  • 夜闯动物园 2019年7月5日 下午10:37

    为什么用ios的tunsafe扫描二维码软件一点反应都没有?不论怎么试都不行。如果传文件该怎样操作?

  • Best Rpg Mmo Games For Pc 2019年6月17日 下午1:51

    I’m not sure where you are getting your information, but good topic.
    I needs to spend some time learning much more or understanding more.

    Thanks for great info I was looking for this information for
    my mission.

  • william 2019年6月16日 下午6:04

    IP被ban了,没办法连Xshell ❗

  • william 2019年6月16日 下午6:01

    不用xshell貌似没办法正常进行安装,搬瓦工的控制面板里带的root shell都没办法装,这下尴尬了……

    • atrandys 回复 william 2019年6月16日 下午6:02

      下个xshell又不费劲

    • william 回复 atrandys 2019年6月16日 下午6:04

      IP被ban了,没办法连Xshell ❗ 掉进死胡同了

    • 发酱太可爱了 回复 william 2019年6月29日 上午4:31

      先找个梯子挂上,全局模式,然后在Xshell里设置SSH-代理-Socks5(主机127.0.0.1,端口1080,用户名和密码为空),应该能连上

  • 涉谷四 2019年6月16日 上午8:11

    V2ray和wireguard可安装在同一个VPS上?

  • 愤怒的键盘 2019年6月14日 上午11:45

    按照教程一步步安装,
    wg状态显示
    我用*号代替显示密钥
    interface: wg0
    public key: ************************
    private key: (hidden)
    listening port: 56878

    peer: ******************************
    endpoint: 112.96.115.135:44509
    allowed ips: 10.0.0.2/32
    transfer: 12.57 KiB received, 7.82 KiB sent
    然后安卓,Windows都连不上,没有任何连接,请问是什么问题呢?

    • ssm 回复 愤怒的键盘 2019年6月16日 下午2:23

      我跟你一样 好像是最近风声有点紧 以前用的SS代理不能用了 然后装这个好像还是用不了

  • GwO 2019年6月12日 下午8:06

    我的服务器IP被封了,使用WireGuard可以继续使用吗?还有一键安装如何修改支持ip6?

    • atrandys 回复 GwO 2019年6月12日 下午9:53

      只是tcp阻断可以用wg,它是udp传输的。ipv6没教程。

    • ssm 回复 GwO 2019年6月16日 下午2:10

      感谢楼主 我按你的步骤 tunsafe 一直sending handshake 楼主能试试现在国内还能在vultr上安装wireguard翻墙吗? 以前没有用过wireguard 所以也不知道是我操作的问题还是其他原因,想请楼主帮忙试一下,如果可以用那我再琢磨琢磨,谢谢

  • li 2019年5月30日 下午9:47

    请问下大神们?我满多台电脑在玩游戏的 有的时间很卡!
    请问该怎么解决? 我是用谷歌云的!
    是否可以多端口

  • jovi 2019年5月22日 上午10:23

    wireguard 已經安裝完成!
    目前想要用多用戶,./wireguard_install.sh 選擇5 多用戶- 輸入名稱
    去下載名稱.conf~ 但是無法連上網!測試了很多次 這要怎麼解呢?

    • jovi 回复 jovi 2019年5月22日 上午10:34

      line 140: /etc/wireguard/wg0.conf: Permission denied
      Unable to modify interface: Operation not permitted

    • jovi 回复 jovi 2019年5月22日 上午11:02

      sudo -i 没权限生成出 已解决

    • LHJ 回复 jovi 2019年10月6日 上午11:52

      请问下后来解决了吗,我也遇到了。怎么解决的可以分享一下吗

  • 移动biss 2019年5月13日 上午10:02

    移动4g连不上 头痛 手机wifi是可以的

    • atrandys 回复 移动biss 2019年5月13日 下午5:21

      换个地方试试

  • fightsdream 2019年4月29日 下午10:56

    我这全部安装好了,连接上了但是就是上不去网,手机可以但是电脑不可以上,怎么办

  • ge85946 2019年4月28日 下午1:57

    CentOS和Ubuntu的WireGuard一键安装脚本什么时候更新至支持ipv6版本?是否有计划写个Debian系统的WireGuard一键安装脚本?谢谢!

    • atrandys 回复 ge85946 2019年4月28日 下午3:44

      会考虑。

  • 注意 2019年4月24日 上午11:58

    希望在脚本里写明一下更新时间

  • jane 2019年4月20日 下午6:13

    安装好了也连接成功了防火墙方形了,就是没法上网咋回事?

  • sway 2019年4月9日 上午9:25

    echo “net.ipv4.ip_forward = 1” > /etc/sysctl.conf 应该修改为 echo “net.ipv4.ip_forward = 1” >> /etc/sysctl.conf,以追加的形式写入文件,而不是使用覆盖的形式。
    同时执行之后需要执行 sysctl -p 使得配置生效。

    • atrandys 回复 sway 2019年4月9日 上午9:33

      你是对的,多谢提醒~

    • sway 回复 atrandys 2019年4月11日 上午12:44

      建议:
      echo 1 > /proc/sys/net/ipv4/ip_forward
      echo “net.ipv4.ip_forward = 1” >> /etc/sysctl.conf
      sysctl -p

      修改成

      if [ -f “/proc/sys/net/ipv4/ip_forward” ]; then
      if [ “$(cat /proc/sys/net/ipv4/ip_forward)” != “1” ]; then
      echo “net.ipv4.ip_forward = 1” >> /etc/sysctl.conf
      sysctl -p
      fi
      else
      echo “net.ipv4.ip_forward = 1” >> /etc/sysctl.conf
      sysctl -p
      fi

      这样可以避免二次安装导致配置文件存在多条net.ipv4.ip_forward的值

  • 大师傅士大夫 2019年3月21日 下午1:13

    可不可以像op绕过校园网认证

  • tsingce 2019年3月20日 下午3:34

    琢磨了半天怎么方便地把client.conf文件下载下来,用FTP或SCP的方式太麻烦了,后来查到这个方式: cat /etc/wireguard/client.conf 然后把显示的内容复制一下,到本地新建个XX.conf文本文件,把内容粘贴进去完事

    • atrandys 回复 tsingce 2019年3月20日 下午6:00

      对的,也可以。

    • sway 回复 tsingce 2019年4月9日 上午9:26

      你可以考虑执行 yum install -y lrzsz 然后直接执行 sz (配置文件完整路径) 直接就可以下载到本地

  • 123 2019年3月9日 下午11:49

    已经想到办法了用二维码导入进去了

  • 123 2019年3月9日 下午11:45

    手机上client.conf读不出来怎么办一直说不是conf文件明明文件后尾就是conf怎么办

  • fangod 2019年3月5日 下午4:30

    您好,我按照你说的去吧那个文件里的那个删掉了,可是还是不能用欸
    [email protected]:~# cat /etc/wireguard/wg0.conf
    [Interface]
    PrivateKey = QDz/lheOMKahoqF+ArigreeR2nq4Jcrzcxagun52g0E=
    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 ens3
    -j MASQUERADE
    PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o ens3 -j MASQUERADE
    ListenPort = 23938
    DNS = 8.8.8.8
    MTU = 1420

    [Peer]
    PublicKey = IzcrMuKBG9JbzlxoeeTz6xpV93fyYenYfhbPHrY7qiI=
    AllowedIPs = 10.0.0.2/32
    [email protected]:~# ip link
    1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    2: ens3: mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 56:00:01:ee:4a:bb brd ff:ff:ff:ff:ff:ff
    3: ens7: mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether 5a:00:01:ee:4a:bb brd ff:ff:ff:ff:ff:ff
    这个是我修改之后的。

    • atrandys 回复 fangod 2019年3月5日 下午6:34

      telegram:https://t.me/atrandys