科学上网新选择——部署Wireguard

Wireguard进Linux内核已经有不短的时间了,这东西的好处显而易见的,性能和易用性比OpenVPN不知道高到哪里去了,从openwrt,梅林到各式各样的发行版安卓iOS都有相应的服务端和客户端使用更方便,最近在知乎上看见了个脚本,写一篇文章弄个教程到时候自己部署的时候好方便查找资料。

虽然Linux系统开销小,不过都马上全面小康了服务端怎么着都要512M起步吧,当然路由器这种嵌入式设备没办法。我自己演示用的主机是双核1G的小机器,人数不多的话跑Wireguard绰绰有余了。

服务端部署

因为我用的Google云没root权限所以只能用sudo,虽然脚本作者说要root但是用起来没问题,运行下面命令下载脚本然后赋予执行权限。

sudo wget --no-check-certificate -O /opt/wireguard.sh https://raw.githubusercontent.com/teddysun/across/master/wireguard.sh

sudo chmod 755 /opt/wireguard.sh

由于WireGuard主要部件被集成在内核里,所以需要比较新的内核才能使用,推荐使用较新版本的发行版,比如RHEL8和Debian10,CentOS7换内核也很方便,不过有条件为啥不用更新的8呢。

脚本下载好之后我选择从仓库安装,除非你的linux版本比较稀奇否则还是用包管理好,可以及时升级软件版本。

sudo /opt/wireguard.sh -r

安装完成的提示如下

安装完成后执行下面命令查看客户端配置文件位置,一般应该是在/etc/wireguard/下面

sudo /opt/wireguard.sh -l

然后用cat命令看看服务端端口是啥,在安全组或者系统防火墙中打开端口。

 

sudo cat /etc/wireguard/wg0_client

配置文件直接复制下来保存成wg0.conf到时候上传到客户端上,wireguard每一个配置文件对应一个客户端,所以有多客户端的话要生成相应数量的配置文件,用如下命令即可

sudo /opt/wireguard.sh -a

客户端设置

 

客户端的安装直接去官方找就行了,我客户端系统是RHEL8,就按照RHEL8安装。

https://www.wireguard.com/install/

安装完成后把生成的客户端配置文件放到/etc/wireguard/上,配置文件名保持为wg0.conf,然后运行

wg-quick up wg0

然后ping一下Google,能上就说明连上去了。

停止通道运行

wg-quick down wg0

开机自起

systemctl enable [email protected]

GNU/Linux系统下的客户端使用方法都差不多,同样的方法我在主流的红帽和Debian系系统都操作成功。

服务端脚本变量

高级需求使用:

VPN_SERVER_PUB_IPV4,定义服务器公网 IPv4,如果你的服务器端存在多个可用公网 IPv4,指定此变量的值。
VPN_SERVER_PUB_IPV6,定义服务器公网 IPv6,如果你的服务器端存在多个可用公网 IPv6,指定此变量的值。
VPN_SERVER_PUB_NIC,定义服务器默认网卡名称,如果你的服务器有多个可用网卡,指定此变量的值。
VPN_SERVER_WG_NIC,定义 WireGuard 网卡名,默认为 wg0,这里一般不推荐指定此变量的值。
VPN_SERVER_WG_IPV4,定义 WireGuard 服务端的内网 IPv4,默认为 10.88.88.1,这里一般不推荐指定此变量的值。
VPN_SERVER_WG_IPV6,定义 WireGuard 服务端的内网 IPv6,默认为 fd88:88:88::1,这里一般不推荐指定此变量的值。
VPN_SERVER_WG_PORT,定义器 WireGuard 服务端的监听端口,默认为从 1024 到 20480 随机生成,如果你想自定义端口,指定此变量的值。
VPN_CLIENT_WG_IPV4,定义 WireGuard 默认客户端的内网 IPv4,默认为 10.88.88.2,这里一般不推荐指定此变量的值。
VPN_CLIENT_WG_IPV6,定义 WireGuard 默认客户端的内网 IPv6,默认为 fd88:88:88::2,这里一般不推荐指定此变量的值。
VPN_CLIENT_DNS_1,定义 WireGuard 默认客户端的 DNS,默认为 1.1.1.1,如果你想自定义为别的 DNS,指定此变量的值。
VPN_CLIENT_DNS_2,定义 WireGuard 默认客户端的 DNS,默认为 8.8.8.8,如果你想自定义为别的 DNS,指定此变量的值。

参考资料

https://zhuanlan.zhihu.com/p/84615811

https://www.lixh.cn/archives/2134.html

在Openwrt上部署Wireguard服务端

https://www.right.com.cn/forum/thread-1335402-2-1.html

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇