科学上网新方法ShadowSocks继任者WireGuard

最近pincong帖子少了很多,应该是墙加高加回了,现在推一个新软件 WireGuard 希望更多的人能用上它来学习知识,交流经验。

WireGuard VPN的特点

WireGuard作为最新开发的VPN协议,比目前主流的VPN技术有明显优势,被称为下一代VPN。WireGuard有如下特点:
优点:
  • 更轻便:以Linux内核模块的形式运行,资源占用小。
  • 更高效:相比目前主流的IPSec、OpenVPN等VPN协议,WireGuard的效率要更高。
  • 更快速:比目前主流的VPN协议,连接速度要更快。
  • 更安全:使用了更先进的加密技术。
  • 更易搭建:部署难度相对更低。
  • 更隐蔽:以UDP协议进行数据传输,比TCP协议更低调。
  • 不易被封锁:TCP阻断对WireGuard无效,IP被墙的情况下仍然可用。
  • 更省电:不使用时不进行数据传输,移动端更省电。

不足:
  • 处于研发初期,各种功能及支持有待完善。
  • 由于使用UDP协议,BBR、锐速等TCP网络加速工具,对WireGuard无效。
  • 部分运营商可能会对UDP协议进行QOS限速,WireGuard会受到一定影响。
  • 客户端分流功能较弱,对GFWList的支持不足。


虽然有一些不足,不过WireGuard的优点要更突出一些。如果你对Shadowsocks/SSR/V2Ray等代理工具并不感冒,或者是比较喜欢接触新事物尝鲜,那么WireGuard是一个不错的选择。



这些都是copy过来的,经本人试用,确实可以在VPS服务器被封后安装wireguard不用换IP或者重建服务器继续使用,在国际出口非高峰期速度还是可以的,晚上大概7点开始 到凌晨3 4点高峰期除非你的宽带是电信精品网络,否则都是卡到爆炸,SS SSR都一样

现在wireguard客户端android  ios  windows macOS  linux  freebsd  openwrt基本上全平台都有,比较方便,不用担心

如果你有一定动手能力,买vpn感觉不靠谱,强烈建议自建VPS搭建 

现在购买vps十分简单(买之前先多看看,现在割韭菜的太多了)新手小白看教程

这些一键脚本就是一些脚本,如果担心有后门你可以自看一看脚本内容。或者去官方
wireguard.com全部手动配置

这里是wireguard一键安装教程,https://ssr.tools/1079  
这个是xshell6 绿色版  https://www.nocmd.com/1460.html

如果系统是windows10的话就不用xshell 在应用商店里搜索windows terminal 微软自己的windows终端集成了ssh  scp等工具


现在SS SSR基本上见光死, 现在用wireguard封不掉。
还有另一个anyconnect这个是思科开发的vpn  这个GFW能检测到但是不会封它,因为国内的外企 或者与国外做生意的企业都要用这个vpn协议,现在有开源openconnect兼容anyconnect 网上有很多openconnect教程,服务器端有详细配置教程和一键安装教程,客户端也是全平台支持  有需要的可以google一下

本人现在就是用虚拟机安装linux后安装wireguard  前面wireguard连服务器,本机启动shadowsocksR服务器端,然后在路由上连虚拟机上的SSR(主要是用来国内外分流 )  建了三个VPS服务器, 后面用haproxy做负载均衡加速  


自动墙外楼挂了后就来了pincong,国内的环境放个屁都要实名注册,也没心思在网上说支言片语。
pincong的这个编辑功能太费劲 很早就想写点教程什么的。不知道pincong喜不喜欢这类技术性的,因为看帖子大家的目的不是这个。

本人现在专注这个功能,SS SSR  wireguard  anyconnect  v2ray(这个看过没试过,觉得配置太麻烦)
tinc(这个试过,没有正式使用)  其它的全部在PC (windows linux ) 手机(android ios ) 路由器OpenWRT上用过的,   
如果大家有什么疑问可以回复我们交流下。
61
分享 2019-09-25

58 个评论

支持技术分享,墙现在只封tcp的吗?如果今后wireguard用多了,会不会也封udp?
haproxy是装你虚拟机上吗,为国内和国外的vps提供负载均衡(因为没有gfwlist)?
那个能不能说的简单点,看不懂啊
gfw只能阻断tcp udp只能干扰不能完全封禁 我把wireguard安装在虚拟机 再开上ssr服务器端 haproxy装在路由器上 我有两个vps 负载均衡是翻墙用 国内分流还是用路由器上ssr客户端
其實很基本, 是要學的
虚拟机装wireguard客户端和ssr服务端,路由器上的haproxy连接它和其它vps吗?
支持, 前几天自搭的ss被墙, 改用V2Ray, 配置很麻烦
对 这样既可用wireguard翻墙 又用了ssr分流 性能速度没什么损失
看来大家对这个需求比较高 晚上回去重新写下教程 关于自己建立,vps 和wireguard 安装 vps现在最便宜5$每月 自己建立好就可以与别人分享
IP被墙的情况下仍然可用?
是的 ip被墙仍然可用 亲测过 。晚上回去准备弄个详细的教程 从建立vps开始 。如果有vps的葱友被墙了 私信我 发你的vps地址密码给我 我给你们安装 。如果各位在安装中有任何疑问 难题 我能帮忙一定帮 。也算是贡献一份力量。
wireguard android 没有google play可以到apkmirror.com下载安装包 ios可以在appstore下载 我没iphone不知道国区有没有 pc上可以在wireguard.com下载 。觉得复杂的葱友私信 我发教程 。还有怎么能快速搞葱币 每次回复或发文章都要先先赚点 好麻烦。
感谢,今天在tg群里看见北理工开发的针对v2ray流量识别的专利,中共已经疯了
谢谢分享,这种方法可能更适合多人和对稳定性有要求的朋友,一般用的话装个客户端就够用了。
kaobaobao 新注册用户
楼主怎么把最新的教程删了呀,感觉这个很有帮助,还有可以楼主接受打赏吗,数字货币,eos,usdt之类的
那新的教程里的图不是https 无法显示 等晚上再想办法解决了再发出来
别自己搭,ip就一个,经常抽风甚至被封,换ip有的供应商还麻烦得一匹,费用一个月至少也要15。
买一个的话,一个月最多30,能切换节点,速度也比自己搭的快多了
你没仔细看吗,wireguard的特点就是不受封ip的限制
哪还有墙外楼类型的网站
前阵子用过v2ray一样被干,wireguard好像听说过,没心思弄,我寻思着还是筹钱发射个卫星上去吧,要不然跟马斯克商量下也行,借他的卫星一用
咨询下,那个justmesocks是什么技术连接的?会有墙的风险吗
justmysocks使用的是shadowsocks协议。平常ip被墙后换得挺勤快,但是最近墙发疯后听说ip有点缓不过来了。
wireguard用的人多了后墙能够检测到它是迟早的事。wireguard的协议特征很明显,但它的作者并没有给wireguard增加抗检测功能的打算。我担心最近cloudfare推出了warp vpn后只会加快政府墙wireguard的进度。
感谢,之前回国都随便拿个VPN凑合一下,借此机会好好学习一下
实测最近两天justmysocks很稳,可能我改用了GCM加密,前面用的CFB几分钟就墙了。
不行呀,忙乎了一下午,用这个还是没救活已经被ban的一个ip,不知道是不是我操作不对. 而且钥匙要客户端和主机互相放对方的,不知道那个脚本说装完直接能用是什么意思,反正我手动改了钥匙才能互相在内网ping通,然而弄了半天还是没成功翻墙.如果本身已经是外网,倒是可以成功建立连接和上网,也让本机的ip显示为vps的,但是关了ss,还是就不行了.我这里说明被ban了的ip用这个还是没救活,按理说是udp的不应该呀,而且内网都能ping通了,数据包转发我也设置了,不知道是哪里没弄对
你客户端用的是什么?有没last handshake 默认服务端ip 是10.0.0.1如果能ping通说明是已经连上了 连不上是因为iptables的原因 要在你安装时的目录里执行 bash wgmtu 有关闭iptables选项
linux下客户端是wireguard-tool的命令行,我把freewall-cmd都删了还没搞定,然后重新找了个脚本实验还是不行.这个不需要交换服务器和本地的public key吗?https://www.atrandys.com/2019/1681.html
已删除
我在这里用的一键脚本,https://github.com/hongwenjun/vps_setup
手动配置太麻烦,这个脚本在服务器上安装后会生成客户端配置文件conf 和手机上客户端的二维码图片,相当方便 脚本都是开源的。这个大神repo里有很多脚本,我用的是debian_wg_vpn.sh这个,如果你搞不定,可以私信我把你的vps ip密码发我,我试试看。另外,我以前没有具体测试wireguard是否能恢复被墙的vps ,因为你配置不成功,我就从8点下班到现在经过重建10多次的vps之后找了几台已经被封的vps 现在已测试成功,wireguard确实可以复活,这个真是强大
我在下面贴一个我重建的被封的vps安装的wireguard配置

[Interface]
PrivateKey = UBOFvWnjweRrfVBBYFHUINSx0ZaeJI4cfUt9zTUPu2I=
Address = 10.0.0.178/24, fd08:620c:4df0:65eb::178/64
DNS = 8.8.8.8, 2001:4860:4860::8888

[Peer]
PublicKey = +WwtCPdnJ+sw88PTpAjxRDypDUvPdnllELKgnZGo+xk=
Endpoint = 202.182.103.94:24623
AllowedIPs = 0.0.0.0/0, ::0/0
PersistentKeepalive = 25

这个配置你复制后保存为wg0.conf文件 scp上传到你linux系统下/etc/wireguard/文件夹下
然后用wg-quick up wg0测试一下

这个vps ip是202.182.103.94你可以测试能不能ping通 这个ip在我这里已确认被墙了,但是用wireguard确实可以连上
看起来wireguard配置起来看起来超复杂,还是v2ray简单多了,而且目前墙对v2ray的协议的识别率依旧不能达到可观的,我们特意为此做了懒人安装包,访问:https://zxfast.com 即可免费享受IPLC节点有钱人才能拥有的加速,或者关注Telegram频道:https://telegram/zxfast_channel
支持技术贴,前两天在秋水逸冰那里貌似也看到了,可能之后会取代SSR的位置把
支持发教程!
上午弄了一下,的确很不错。比较大的问题就是分流。看楼主是用虚拟机分流,我用笔记本开虚拟机怕不是会卡死≡(▔﹏▔)≡;然后是速度问题,感觉同一台VPS,用SSR的网速是Wireguard的两倍。
另外看了一下好像可以在config文件里面加“PreUp”和"PostDown"来分流,我没弄成。
不能分流,没有手机客户端,都是问题。

现在用V2Ray的WS+TLS模式支持CDN,不封IP只封域名,而域名可以随便换,也够用了。
已删除
realname_ccs 新注册用户
linux客户端配置文件可以实现简单分流。
修改通过wg代理的ip段即可,比如
AllowedIPs = 8.8.8.8/32, 72.14.192.0/18, 74.125.0.0/16, 108.177.8.0/21, 108.177.96.0/19, 130.211.0.0/22, 172.217.0.0/19, 172.217.32.0/20, 172.217.128.0/19, 172.217.160.0/20, 172.217.192.0/19, 172.253.56.0/21, 172.253.112.0/20, 173.194.0.0/16, 209.85.128.0/17, 216.58.192.0/19, 216.239.32.0/19
eeepingcong 新注册用户
没搞明白

**该用户被封禁,内容已自动替换**

公众领域施行民主原则 私人领域施行自由原则

https://pincong.rocks/article/item_id-370465
比如,我们中国人喜欢过年放鞭炮,那么我们城市是否允许过年期间放鞭炮,这是公众原则,用民主投票决定。
但是是否允许在我家卧室窗户下面放,这是私人领域。任何人都不能在我家卧室窗户下面放鞭炮。因为我的窗户一定范围内属于私人领域,我有这个领域的安静权。也就是只有我自己才能决定我在这个范围内做什么。

公众领域的事情不能延伸到私人领域。你民主再什么少数服从多数,你也不能投票决定大家可以在我的窗户下面放鞭炮。

所以在真正的民主国家,你的问题根本不成立。因为群己区分是常识。只是我们中国人不懂而已。

民主国家唯一烦恼的是群己权界。也就是哪些属于公众领域,哪些是私人领域。
比如放鞭炮的例子,多少米以内算私人领域。多少米之外才算公众领域。这才是真正的难题。但是虽然如此,民主在协商这些领域时也比专制拍脑门合理得多。
已删除
相關新聞(5.6 kernel和Wireguard):
https://arstechnica.com/gadgets/2020/01/linus-torvalds-pulled-wireguard-vpn-into-the-5-6-kernel-source-tree/
 作為小白,想問一下,其實wireguard可以與VPS上原有的網站共存嗎?VPS環境是LEMP
只要的问题是封ip,如果不能阻止共产党封ip,总有一天有效ip都会被消耗完的
 作為小白,想問一下,其實wireguard可以與VPS上原有的網站共存嗎?VPS環境是LEMP

可以共存 只要端口不一样就可以 我的vps上有 wireguard openconnect 环境是lnmp
正常时,速度不错,稳定性也可以。 但不正常情况更多。


WireGuard配置过程

# gcp VPS安装WireGuard

选择 Ubuntu 18.04 LTS  系统

add-apt-repository ppa:wireguard/wireguard
apt-get update
#####apt-get install wireguard-dkms wireguard-tools resolvconf -y
apt-get install wireguard resolvconf -y



# 开启ipv4 ipv6流量转发
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
echo "net.ipv6.conf.all.forwarding = 1" >> /etc/sysctl.conf
echo "net.ipv6.conf.default.accept_ra=2" >> /etc/sysctl.conf
sysctl -p



# 创建并进入WireGuard文件夹
chmod 0777 /etc/wireguard
cd /etc/wireguard
umask 077


# 生成服务器和客户端密钥对
wg genkey | tee spri | wg pubkey > spub
wg genkey | tee cpri | wg pubkey > cpub
wg genpsk >PSK



服务端配置文件

创建并进入了 WireGuard 后,开始配置服务端文件,输入ifconfig查看主网卡名称,记住以上标记处名字,若不是eth0,可以将其复制了待会需要用到。


生成服务器配置文件/etc/wireguard/wg0.conf
# 重要!如果名字不是eth0, 以下PostUp和PostDown处里面的eth0替换成自己服务器显示的名字
# ListenPort为端口号,可以自己设置想使用的数字
# 以下内容一次性粘贴执行,不要分行执行

echo "
[Interface]
PrivateKey = $(cat spri)
Address = 10.222.222.1/24
PostUp  = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o ens4 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o ens4 -j MASQUERADE
ListenPort = 2222
DNS = 1.1.1.1
MTU = 1300
SaveConfig = true

[Peer]
PublicKey = $(cat cpub)
PresharedKey = $(cat PSK)
AllowedIPs = 10.222.222.2/32 " > wg0.conf


设置开机自启: systemctl enable wg-quick@wg0


客户端配置文件
生成客户端配置文件/etc/wireguard/client.conf:
# Endpoint是自己服务器ip和服务端配置文件中设置的端口号,自己在本地编辑好再粘贴到SSH里
# 以下内容一次性粘贴执行,不要分行执行

echo "
[Interface]
PrivateKey = $(cat cpri)
Address = 10.222.222.2/24
DNS =1.1.1.1
MTU = 1300

[Peer]
PublicKey = $(cat spub)
PresharedKey = $(cat PSK)
Endpoint = 《gcp_外网ip》:2222
AllowedIPs = 0.0.0.0/0, ::0/0
PersistentKeepalive = 25 " > client.conf


至此,基本上就已经搞定了,可以启动 WireGuard 了:

# 启动WireGuard
wg-quick up wg0


# 停止WireGuard
wg-quick down wg0


# 查看WireGuard运行状态
wg
[quote]justmysocks使用的是shadowsocks协议。平常ip被墙后换得挺勤快,但是最近墙发疯后...[/quo我有在用,还是很正常。他一般会给5个服务器,现在第三第4号服务器用混淆协议,如果这个配置完基本上翻墙没有阻力。而且我用的是500g的套餐,实际上我分给了七八个人在同时用。好像也没有受到5台同时在线的限制。
这个和trojan哪个好些?
这个和trojan哪个好些?

trojan估计会好些 我也准备试试 从2号两台vps开的ssr突然挂了,,就换wireguard 用到现在 只是晚上高峰期速度慢(移动宽带) 联通很好 从去年十月到现在wireguard一直很坚挺 一直想写个全面的教程 。只是pincong的发帖机制让人蛋疼 。
trojan估计会好些 我也准备试试 从2号两台vps开的ssr突然挂了,,就换wireguard ...


是啊 发帖真的蛋疼 20分哪辈子能凑够
回复 loveyou521

晚上ping wireguard 在另一端的IP,丢包十分严重
难道电信不知道WireGuard连接的IP吗
我要给各位一句忠告:大家都是参与品葱讨论的敏感人士,网络活动记录一旦被CCP截获,后果不堪设想,切莫因为自己常用的翻墙方式受到影响,就病急乱投医。

WireGuard在设计上并不是翻墙工具。其开发者zx2c4在信息安全领域颇有名气,维护了不少工具。但翻墙需要解决的却不是安全问题,而是如何反审查。在这个问题上,一般软件的表现远不如针对开发的反审查工具,如常见的SS、V2,以及Tor Project的obfs、meek等。

先来叙述一下墙的历史(个人角度):
1. 大概6-8年前的GFW主要进行关键字封锁,只要对流量进行加密就能够过墙,封域名也很容易绕过。VPN同时解决了这两个问题并且使用方便,理所当然地占据了翻墙市场的半壁江山。
2. 终于,在一次墙的升级后,引入了“协议识别”功能,常用的VPN或类似协议在通过GFW时会受到拦截。于是,PPTP、IPSec、OpenVPN、Tor逐步失效;GoAgent、hosts等方式由于使用了与普通上网相同的协议,苟延残喘断断续续持续了几年,最终也因为Google的IP被全数封禁而失效。Shadowsocks大约就是在这个时候火起来的,Tor Project也针对大陆开发了obfs,这些新协议特征不明显,当时的墙无法判断出具体的协议种类,由“目标服务器不在黑名单上”这一根据放行。
3. 近两三年的GFW经历了一个快速升级的过程,审查算法已经相当智能化。传统的VPN协议依然不可能过墙;旧版Shadowsocks协议也被发现多种明显特征,也变得容易遭到封锁。封锁的方式进行了更新,不仅仅是以往单纯的TCP连接复位、大量丢包,部分服务器的流量还会遭到全部丢弃。个人猜测,墙大概也从以往的单纯黑名单演变为了黑、白名单结合,个人租用的服务器基本都处在黑、白之间的灰色地带:墙会记录无法识别的协议流量,累积一定量后进行判断,如果类似于翻墙流量,则直接将其加入黑名单。

回到WG的话题。我的观点:WG不适合翻墙,不应该用于翻墙,即使现在能用,那也只是因为用的人太少,墙还没有加装针对性的识别算法。
WG的设计者想要替代的是OpenVPN等传统VPN,目的是为了从政府的网络监控(棱镜计划)中维护个人隐私,毕竟美国的监控不会进行干扰阻断。各位可以去WG官网阅读技术白皮书[1],其中有对协议的详细描述。我从中看到一些不适合翻墙的设计:
1. 协议仅对所承载的数据进行的加密,元数据不加密。这个是最严重的问题,因为传统协议(PPTP、IPSec)等就是因为被识别才会遭到封锁。而且,WG尚未得到大规模部署,就已经有协议识别和分析的工具了[2],GFW想要识别并不难。不要以为用UDP就没事,以前被封的VPN基本都是UDP的。
2. 使用UDP协议,难以优化。国内运营商的国际路由非常混乱,如果服务器不在美国,数据包可能绕地球一圈,也可能会乱序到达,对TCP性能有严重影响。

最后,我与大家交流以下我对翻墙的看法:
1. 翻墙的目标是访问被墙的站点,而不是逃过网络审查。如果只是访问不敏感的网站,不必将安全纳入考量,即便是使用了钓鱼梯子,只要访问流量不敏感,一般也没有什么问题。
2. 进行“反动”行为,必须隐藏自己的真实身份。考虑到共谍可能渗入到各种地方,仅仅翻墙远不足以达到这个效果。最基本的,至少要使用Tor等匿名代理。具体方法可以参考编程随想的博客。

[1] Jason A. Donenfeld, 2018. WireGuard: Next Generation Kernel Network Tunnel. https://www.wireguard.com/papers/wireguard.pdf
[2] Peter Wu, 2019. Analysis of the WireGuard protocol. https://pure.tue.nl/ws/portalfiles/portal/130180306/Peter.Wu_Wireguard_thesis_final.pdf
难道电信不知道WireGuard连接的IP吗

知道 无论你用什么vpn ssr v2ray anyconnect isp都是可以看到的 现在就是说哪一种没有特征 不被自动 block
知道 无论你用什么vpn ssr v2ray anyconnect isp都是可以看到的 现在就是说...

那你还说ip被墙都不怕是指什么
那你还说ip被墙都不怕是指什么

有一段时间gfw封锁使用tcp阻断 症状就是可以ping 但tcp之类应用无法连接 如果是这wireguard 使用udp通讯是封锁不掉 但现在gfw使用更粗暴的办法 直接禁止所有通讯 但是如果有ipv6地址有可能还可以用
有一段时间gfw封锁使用tcp阻断 症状就是可以ping 但tcp之类应用无法连接 如果是这wire...

哦,意思是说现在WireGuard这招不管用了吗?
哦,意思是说现在WireGuard这招不管用了吗?

如果有ipv6地址还是可以复活
如果有ipv6地址还是可以复活

封ipv6的难度和封ipv4一样吗
封ipv6的难度和封ipv4一样吗

封ip6难度大 ipv6量大

要发言请先登录注册

要发言请先登录注册

发起人

80后草根厂狗

状态

  • 最新活动: 2020-03-04
  • 浏览: 53213