Categories
wireguard

WireGuard代理与ss机场优劣比较

别再用pptp l2tp openvpn!它们已经是过时的产品;

别再用ss ssr,它们被重点照顾!

上述代理类型,长期陪伴着我们,但是它们经历漫长使用周期后,流量特征明显,在某些你懂的地区被特定流量识别,深度包探测技术准确率非常高。

WireGuard是Linux内核级别的新型代理,受到Linus本人的推荐,很快将整合到最新版Linux Kernel中,安装部署更方便。

本文将简述wireguard与ss特点比较:

wireguard优点

容易部署,总共几千行代码。有wireguard一键安装包,支持主流的vultr\linode\digitalocean等便宜vps,只需十分钟就能搞定一台wireguard服务器。

wireguard安全性高。极佳的VPN漫游特性,设备支持广泛。内核级别的端对端隧道加密技术,拥有良好的加密特性。wireguard配置文件由两部分组成:interface和peer。服务器端、客户端互为平等关系。支持预共享密钥preshared key加密,防止量子计算攻击。

国际著名项目,开源代码审计,Windows/iOS/Android客户端完美支持。

wireguard基于UDP传输,不需要tcp加速算法,速度仍然很快。

典型的wireguard服务器端配置文件:

[Interface]
PrivateKey = yAnz5TF+lXXJte14tji3zlMNq+hd2rYUIgJBgB3fBmk=
ListenPort = 51820

[Peer]
PublicKey = xTIBA5rboUvnH4htodjb6e697QjLERt1NAB4mZqp8Dg=
AllowedIPs = 10.192.122.3/32, 10.192.124.1/24

典型的客户端配置文件:

[Interface]
PrivateKey = gI6EdUSYvn8ugXOt8QQD6Yc+JyiZxIhp3GInSWRfWGE=
ListenPort = 21841

[Peer]
PublicKey = HIgo9xNzJMWLKASShiTqIybxZ0U3wGLiUeJ1PKf8ykw=
Endpoint = 192.95.5.69:51820
AllowedIPs = 0.0.0.0/0

wireguard缺点

目前虽然wireguard是小众产品,但是不保证在未来一段时间后,ss用户迁移到wireguard,导致wireguard被盯上,进行流量特征机器学习与识别。

大陆运营商限制udp使用,可能导致你所在地区体验较差。

官方原版wireguard是端对端全局代理,中国用户无法智能区分国内外流量。wireguard没有自带流量统计、多用户管理功能,这是目前wireguard没有被商家普及的原因。

ss/ssr优势

同时支持tcp和udp,满足游戏代理需求。

完美支持自动代理模式,自动区分国内外流量。

各平台都有完美客户端。

ssr支持订阅模式,客户端节点更新方便。

支持智能路由器刷机绑定账号,实现全设备无痛上网。padavan、merlin、openwrt刷机方案非常成熟。

ss/ssr劣势

大量中国用户使用ss机场,导致ss流量识别算法成熟。

结论

在当前环境下,建议你优先使用wireguard代理,因为它安全性更高,速度稳定可靠。小众产品反倒生存长久;ss可备用;人在江湖,总要备几架梯子。

我实测发现,Vultr完美支持wireguard一键安装包,效果最好啦!Linode采用定制版内核,安装较为复杂。

你千万别购买阿里云、腾讯云海外主机安装代理软件。一定要选择没有大陆背景的海外公司服务器,用着才放心踏实。

Vultr成立于2014年$5/月购买链接$10/月$20/月
套餐配置25 GB固态硬盘
1 CPU
1024MB内存
1TB/月流量
40 GB固态硬盘
1 CPU
2048MB内存
2TB/月流量
60 GB固态硬盘
2 CPU
4096MB内存
3TB/月流量
架构:KVM支持ss/v2ray/pptp/l2tp/openvpn支持安装Windows Server支持安装BBR/锐速算法
机房带宽1Gbps1 IPv4提供IPv6
机房位置东京(日本)
洛杉矶(美国)
西雅图(美国)
硅谷(美国)
法兰克福(德国)
巴黎(法国)
阿姆斯特丹(荷兰)
伦敦(英国)
纽约(美国)
芝加哥(美国)
亚特兰大(美国)
迈阿密(美国)
达拉斯(美国)
新加坡
悉尼(澳大利亚)
付款方式支付宝信用卡Paypal
优惠码 SSDVPSVultr注册链接BBR加速教程Linode对比评测
Categories
wireguard

WireGuard一键安装教程图文版

wireguard项目刚推出的时候,我就第一时间把它介绍给了中文区,撰写了详细的wireguard安装配置教程。

2018年下半年,wireguard逐渐走进中国用户视野。越来越多的海外代理商开始提供wireguard服务。国内的机场,仍然处于ss向v2ray转型的时期,几乎没有机场提供wireguard代理。

wireguard介绍

所以最佳方式是你自己搭建wireguard,现在有国内开发者弄了一键安装包,十分钟就能搞定一台wireguard服务器。

目前wireguard没有被墙算法识别干扰,稳定性非常好。

由于wireguard使用udp连接,所以不需要安装bbr锐速tcp加速算法。

wireguard一键安装包作者yobabyshark,他会在github项目定期更新脚本。(本文部分图片来自yobabyshark博客)

该脚本在Vultr搬瓦工、谷歌云、Linodedigitalocean都支持安装。

Vultr成立于2014年$5/月购买链接$10/月$20/月
套餐配置25 GB固态硬盘
1 CPU
1024MB内存
1TB/月流量
40 GB固态硬盘
1 CPU
2048MB内存
2TB/月流量
60 GB固态硬盘
2 CPU
4096MB内存
3TB/月流量
架构:KVM支持ss/v2ray/pptp/l2tp/openvpn支持安装Windows Server支持安装BBR/锐速算法
机房带宽1Gbps1 IPv4提供IPv6
机房位置东京(日本)
洛杉矶(美国)
西雅图(美国)
硅谷(美国)
法兰克福(德国)
巴黎(法国)
阿姆斯特丹(荷兰)
伦敦(英国)
纽约(美国)
芝加哥(美国)
亚特兰大(美国)
迈阿密(美国)
达拉斯(美国)
新加坡
悉尼(澳大利亚)
付款方式支付宝信用卡Paypal
优惠码 SSDVPSVultr注册链接BBR加速教程Linode对比评测

推荐购买Vultr VPS机房,KVM架构服务器,采用CentOS 7操作系统。

wireguard安装步骤

创建成功后,SSH登录你的服务器,输入一键安装包命令:

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

输入数字1升级VPS内核,重启服务器;

再连接服务器,输入命令:

./wireguard_install.sh

输入数字2安装wireguard,安装成功后,会自动显示二维码。

client.conf是客户端配置文件,需要下载到本地使用。放在tunsafe安装目录的conf文件夹里面。

wireguard客户端

Windows: tunsafe

iOS: tunsafe\wireguard

Android: wireguard

Mac: 暂时没有GUI客户端,只有编译包命令行版本。

wireguard缺陷

wireguard原理设计没有考虑中国大陆特殊情况,虽然它是基于Linux Kernel的模块,效率高,速度快,但是wireguard传输特征明显,易于被识别封锁。

wireguard没有考虑多用户管理和流量管理、连接设备数量限制,这是商用必备条件,因此国内没有卖家提供wireguard服务。

wireguard最佳用途是,个人私用、家庭和公司设备互连,而不是穿墙。

wireguard脚本源代码

#!/bin/bash
#判断系统
if [ ! -e /etc/redhat-release ]; then
echo 仅支持centos7
exit
fi
if [ -n $(grep 6\. /etc/redhat-release) ] ;then
echo 仅支持centos7
exit
fi
#更新内核
update_kernel(){
yum -y install epel-release
sed -i 0,/enabled=0/s//enabled=1/ /etc/yum.repos.d/epel.repo
yum remove -y kernel-devel
rpm –import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
yum –disablerepo=* –enablerepo=elrepo-kernel list available
yum -y –enablerepo=elrepo-kernel install kernel-ml
sed -i s/GRUB_DEFAULT=saved/GRUB_DEFAULT=0/ /etc/default/grub
grub2-mkconfig -o /boot/grub2/grub.cfg
wget https://elrepo.org/linux/kernel/el7/x86_64/RPMS/kernel-ml-devel-4.19.1-1.el7.elrepo.x86_64.rpm
rpm -ivh kernel-ml-devel-4.19.1-1.el7.elrepo.x86_64.rpm
yum -y –enablerepo=elrepo-kernel install kernel-ml-devel
read -p 需要重启VPS,再次执行脚本选择安装wireguard,是否现在重启 ? [Y/n] : yn
[ -z ${yn} ] && yn=y
if [[ $yn == [Yy] ]]; then
echo -e ${Info} VPS 重启中…
reboot
fi
}
#生成随机端口
rand(){
min=$1
max=$(($2$min+1))
num=$(cat /dev/urandom | head -n 10 | cksum | awk -F {print $1})
echo $(($num%$max+$min))
}
config_client(){
cat > /etc/wireguard/client.conf <<EOF
[Interface]
PrivateKey = $c1
Address = 10.0.0.2/24
DNS = 8.8.8.8
MTU = 1420
[Peer]
PublicKey = $s2
Endpoint = $serverip:$port
AllowedIPs = 0.0.0.0/0, ::0/0
PersistentKeepalive = 25
EOF
}
#centos7安装wireguard
wireguard_install(){
curl -Lo /etc/yum.repos.d/wireguard.repo https://copr.fedorainfracloud.org/coprs/jdoss/wireguard/repo/epel-7/jdoss-wireguard-epel-7.repo
yum install -y dkms gcc-c++ gcc-gfortran glibc-headers glibc-devel libquadmath-devel libtool systemtap systemtap-devel
yum -y install wireguard-dkms wireguard-tools
yum -y install qrencode
mkdir /etc/wireguard
cd /etc/wireguard
wg genkey | tee sprivatekey | wg pubkey > spublickey
wg genkey | tee cprivatekey | wg pubkey > cpublickey
s1=$(cat sprivatekey)
s2=$(cat spublickey)
c1=$(cat cprivatekey)
c2=$(cat cpublickey)
serverip=$(curl icanhazip.com)
port=$(rand 10000 60000)
chmod 777 -R /etc/wireguard
systemctl stop firewalld
systemctl disable firewalld
yum install -y iptables-services
systemctl enable iptables
systemctl start iptables
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -F
service iptables save
service iptables restart
echo 1 > /proc/sys/net/ipv4/ip_forward
echo net.ipv4.ip_forward = 1 > /etc/sysctl.conf
cat > /etc/wireguard/wg0.conf <<EOF
[Interface]
PrivateKey = $s1
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 eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
ListenPort = $port
DNS = 8.8.8.8
MTU = 1420
[Peer]
PublicKey = $c2
AllowedIPs = 10.0.0.2/32
EOF
config_client
wg-quick up wg0
systemctl enable [email protected]
content=$(cat /etc/wireguard/client.conf)
echo 电脑端请下载client.conf,手机端可直接使用软件扫码
echo ${content} | qrencode -o – -t UTF8
}
#开始菜单
start_menu(){
clear
echo =========================
echo 介绍:适用于CentOS7
echo 作者:atrandys
echo 网站:www.atrandys.com
echo Youtube:atrandys
echo =========================
echo 1. 升级系统内核
echo 2. 安装wireguard
echo 3. 退出脚本
echo
read -p 请输入数字: num
case $num in
1)
update_kernel
;;
2)
wireguard_install
;;
3)
exit 1
;;
*)
clear
echo 请输入正确数字
sleep 5s
start_menu
;;
esac
}
start_menu