标签汇整: VPN

如何部署一个vless的旁路由

一般来说,很多人在组建全家魔法上网的时候,往往是把魔法放在主路由或者下级路由器上,梅林插件或是之前提过的openwrt-passwall。这里就说一个更简单的方法。找一台电子垃圾装Linux当网关机,实现旁路由的魔法。

下面以Ubuntu为例,首先找台电子垃圾装一个Ubuntu,可以是mini主机,也可以是pve虚拟机里,也可以是nas里的虚拟机。

Ubuntu配好之后root下运行以下脚本:

打开浏览器,访问 http://Ubuntu-IP:2017
首次进入需要创建一个管理员账号和密码。
点击导入,将你的 VLESS 节点链接粘贴进去,选中你要用的节点点连接。
点击右上角设置,开启透明代理,选择分流模式比如大陆白名单,下面的设置自己看说明。

重点只讲两个,开启端口分享,你的Ubuntu会开启socks5和http端口,其他程序可以连接使用,比如Chrome浏览器的Switchy插件。
开启ip转发之后,你的Ubuntu就会成为魔法网关,你网络里其他设备设置网关为这台Ubuntu,即可实现魔法。(网关ip可由主路由dhcp直接下发。)
记得最后在左上角点一下运行!!!

教程完毕。顺便补充:

这种架构的优点:
不改变现有网络结构: 你不需要修改家里原来的路由器。一台闲置的旧电脑、树莓派甚至NAS上的虚拟机就行。
互不干扰: 如果这台Ubuntu突然死了,你家里其他没有修改过网关的设备(比如老人的手机、智能家居)依然直接走主路由器,完全不受影响。只有把网关指向了 Ubuntu 的设备才会断网。
性能释放: 现在的 VLESS 等协议(比如 XTLS)加密解密非常消耗 CPU 算力。普通的家用路由器 CPU 性能很弱,跑代理往往跑不满带宽。而 Ubuntu 服务器(即使是轻量级配置)的 CPU 性能通常远超家用路由器,能轻松跑满千兆带宽。

更新:
由于Ubuntu只接管ipv4流量,ipv6依然可能泄露导致无法访问gpt等网站。请在主路由上设置ipv6防火墙,阻断需要魔法的设备(如你的手机),这样设备流量只能走ipv4。

有帮助请回复,谢谢观看。

如何防止IP被Google送中

上篇文章已经说过Google账号如何改区,但即使改区,你的ip地址仍然有可能被标记为中国。

ip被送中,简单说就是你明明使用了国外ip,但Google搜索仍然会跳hk,而且搜索页面下方会显示中国地址。你无法开通和使用Youtube Premium,访问 youtube.com/red 时会提示你所在地区不支持。甚至有时你连Gemini都无法使用。

但是除此之外你其他使用一切正常,而且ytb也不显示广告了,如果你觉得这样也没什么,那无所谓,如果你介意。请尝试以下解决方案:

首先这个ip需要是你自己的外网ip,而不是被用烂的机场ip,如果是机场公用ip就别想解决了。如果是自己的ip:PC端chrome安装 Location Guard (V3) 插件 然后进选项,选择 Use Fixed Location,然后再进Fixed Location页面,地图上选择你ip对应国家的某个地址,比如美国或者日本。安卓端可以使用虚拟定位软件挂一段时间,不过也没必要,Location Guard足已防止送中了。

安卓手机建议关闭Google app的定位权限,否则还是有一定几率出现问题。

使用Proxifier让应用通过代理联网(附破解注册码)

如果你在本机使用clash、ss或是其他代理软件,加速器等启用了socks5/HTTP端口。但是你的应用不支持设置代理,那么Proxifier这个软件可以帮助你。

Proxifier不仅能分应用分域名分ip分端口代理,还能监测应用的流量和连接信息。

使用方法如下:

点击官网下载

建议直接下载普通版,就是这个写着31天免费的,4.x版本。然后安装。

安装完后首次运行会弹出 试用/注册 的界面(如下图),点击 Enter Registration Key

从下面的key中随便选一个,选对应的版本的即可。

注册后进入主界面,点击下图的菜单添加你的代理信息。

比如你用的是本地的ss客户端,那么就是localhost,端口1080,类型socks5。

然后再点击下图菜单添加规则。

默认两个规则不要动,点击添加。可以添加多个规则,优先级为上面的优先。不同的应用名称用分号隔开,可以写完整路径也可以写exe的名称例如:chrome.exe; RO.exe

添加后效果如上图,然后即可启动你的程序或游戏,就已经是走代理了。

说句谢谢再走啊!

ss+v2ray-plugin简易梯子搭建教程

本文是关于如何用自己的VPS(虚拟服务器)搭建梯子的问题,从购买VPS到如何架设ss。

至于ss到底能不能继续用,我觉得可以,毕竟使用了obfs(已废弃)或者v2ray插件之后没有再死过ip了,只要是自用,基本问题不大。不过ssr大概是不能用了,作者已经凉了好几年。

1、首先是如何购买自己的VPS。网上能买到的很多,不要找那些代购了。比如最常用的 vultr.com 支持支付宝支付,一键装机,也很方便。但是vultr用来做梯子的实在太多了,很多ip都死了,而且连线质量也实在不怎么样,还有流量限制。我自用的是sakura的,适合自己稳定建网站或者自用梯子,缺点是门槛较高,验证日本手机号和信用卡,不过这并不是个问题不是吗。其他还有很多vps提供商,基本上Google一搜就有。新手建议可以先随便开一个练练手。

2、购买了VPS之后,用xshell之类的软件连线到自己的服务器(服务商会让你设置好账户密码,并把ip地址在控制台告诉你,xshell的下载地址会在我另一个文章里。)然后开始操作:

以下介绍的是一个较简单的方案:ss+v2ray-plugin

使用root用户安装需要用到的软件(以Ubuntu21为例):

apt -y install libsodium-dev python3-certbot-nginx nginx
apt -y install shadowsocks-libev shadowsocks-v2ray-plugin

然后修改配置文件。

vi /etc/shadowsocks-libev/config.json

修改如下:

{
"server":"127.0.0.1",
"mode":"tcp_and_udp",
"server_port":8888,
"local_port":1080,
"password":"输入你设定的ss密码",
"timeout":60,
"method":"chacha20-ietf-poly1305",
"plugin":"ss-v2ray-plugin",
"plugin_opts":"server;path=/test123;loglevel=none"
}

server_port,password,path可自行修改。

然后新建和修改Nginx的配置文件。

vi /etc/nginx/conf.d/shadowsocks.conf

修改如下:

server	{
	listen	80;
	listen	[::]:80;
	server_name	test.lilith.pro; #写你自己的域名

location	/test123	{ #和ss的配置文件path一致
	proxy_pass	http://127.0.0.1:8888; #和ss的配置文件server_port一致
	proxy_redirect	off;
	proxy_http_version	1.1;
	proxy_set_header Upgrade	$http_upgrade;
	proxy_set_header Connection	"upgrade";
	proxy_set_header Host	$http_host;
	}
}

使用自动申请证书的软件:

certbot --nginx --agree-tos --no-eff-email --email [email protected]

在弹出的提示选择你的域名(一般就是1),然后选择2-Redirect强制SSL(也可能没有这一步)。

重新打开 shadowsocks.conf 文件,发现已经被修改了。如果 listen [::]:443 ssl 这一行被加入了ipv6only字样,可以删掉后面那几个字,否则就只能ipv6了。删除后这一行就是 listen [::]:443 ssl;

服务器端到这里就配置完成了。最好 reboot 一下服务器。

接下来是客户端。

Windows请下载ss和v2ray插件

https://github.com/shadowsocks/shadowsocks-windows/releases

https://github.com/shadowsocks/v2ray-plugin/releases

(选择win64版本)

Android请自行在Google Play搜索shadowsocks和V2ray Plugin(官方作者Maxlv)。

iOS自行切换外区账户购买小火箭,Mac用户建议使用ClashX。

Windows使用时插件和ss放在同一目录,插件程式填写v2ray的文件名(不带exe)。

插件选项填写:

tls;host=test.lilith.pro;path=/test123

然后连线使用即可。自用ss,安全高速。主要还是安全,缺点是只有一个IP地址。

然后因为有nginx做代理,所以其实还有个网站,随便弄点网站的东西。最好把http2和仅允许TLS1.3打开。

以上就是全部。还有问题吗?

======

kujou_rin

Win7导入证书后SSTP依然提示0x800B0109

Win7连线SSTP的时候提示0x800B0109,可以刚刚明明右键导入自签名的root证书成功了,依旧说证书不是信任的机构颁发。打开Internet选项发现,证书也确实在受信任的根证书颁发机构里,这是为什么呢。原因是sstp根本不用这个用户证书列表(其实其他很多程式也不用这个。
解决方案如下:
开始-运行mmc
选择文件-添加删除管理单元
左侧选择证书-点击添加
1
选择计算机帐户
2
本地计算机
3
确定后查看一下证书列表
4
发现确实没有刚才导入的证书!
于是在证书目录上右键-所有任务-导入证书
再次连线发现已经可以了。

======
文章参考sun8134的blog

Linux下查看pptpd等VPN拨入日志的方法

使用pptpd和xl2tpd搭建VPN之后,会发现在/var/log下并没有详细的日志,在syslog中虽然有IP记录和拨入时间,但却没有帐户和连接等信息,当需要查看当前连接的用户,或者之前的使用日志则无从查起。
之前的文章中介绍过利用shell脚本对VPN拨入的PPP连接进行限速,原理是利用ppp拨入时会加载ip-up,事实上在ppp断开时也会加载ip-down。参考pptpd帮助可以得知其中可以使用的参数。因此可以用如下方法:
在ip-up结尾添加

在ip-down结尾添加

之后当连接拨入和断开时则写入日志,如果担心日志过大可以在crontab写一个自动清理脚本即可。

======
kujou_rin

连接VPN后自动区分国内国外流量的方法

大陆的网友常常遇到这样的问题,连接VPN后,会遇到国内网站访问变慢问题。这也是全局VPN的一大缺陷,如何解决这个问题呢。
之前的文章讲过如何设置路由,那么我们可以用路由区分国内和国外流量,从而实现目的地不同走不同网络的效果。
方法如下:
1,下载以下附件
pre_created_for_win
2,解压,右键管理员身份运行vpnup.bat。
3,连接VPN
注意,以上方案适用与中国大陆翻X的网友,重启后可能需要重新运行bat进行设置。
相关文章,路由表的原理和基本配置方法:
https://lilith.pro/gijyutsu/1930
======
kujou_rin

Ubuntu搭建PPTP/L2TP类型VPN服务器

在Ubuntu下搭建VPN服务器,我们分别搭建PPTP和L2TP两种类型。

首先我们搭建PPTP服务器。
下载安装pptpd:

接下来修改配置脚本,首先在/etc/ppp/options中配置DNS。
将以下两行的注释符号删除并改为你需要的外网DNS:

然后修改pptp配置文件/etc/ppp/pptpd-options,除注释行外的内容如下:

以及另一个用于pptp分配ip的配置文件/etc/pptpd.conf,在该文件结尾加入:

给pptp连接分配的内部ip地址段请根据需要填写。
接下来打开路由转发功能,在/etc/sysctl.conf中找到以下内容将数值改为1:
net.ipv4.ip_forward=1
保存后运行命令生效:
sysctl -p
修改iptable规则NAT转发以及设置MTU

以上两行重启后会失效,很多人的做法是将其保存为iptable rules添加到pre-up中
我的做法比较简单,直接将这两行写入/etc/rc.local结尾(exit之前)。
(注意:eth0是你的公网网卡名称,请通过ifconfig确认)
然后在/etc/ppp/chap-secrets中添加用户和密码。
格式为[用户名\t连接类型\t密码\t用户IP],例如:

使用/etc/init.d/pptpd restart重启pptpd服务。
至此pptp类型VPN搭建完毕。

接下来搭建L2TP类型VPN。
因为L2TP需要通过IPSec加密,同样我们下载安装需要的组建服务:

然后修改配置文件/etc/ipsec.conf,除注释行外的内容如下:

left处请填写您本服务器的IP位址!
接下来修改/etc/xl2tpd/xl2tpd.conf,除注释行外的内容如下:

ip range处请填写您需要给l2tp连接分配的内部ip网段。
再修改/etc/ppp/options.xl2tpd,如果没有可以新建,内容如下:

DNS处可设置您需要分配的DNS地址。
再修改/etc/ipsec.secrets文件设置默认共享密钥:

前面为本服务器IP地址,引号内的为您要设置的密钥
修改网络策略使ipsec能正常运行:

顺便也加入到/etc/rc.local中(exit之前)。
以上配置全部完毕后,可以通过ipsec verify命令检测ipsec运行是否正常。
如果出现Checking for IPsec support in kernel [FAILED],您可能未启动ipsec服务,通过/etc/init.d/ipsec start启动。
如果出现NETKEY: Testing XFRM related proc values [FAILED],您可能未修改网络策略。
如果出现Pluto listening for IKE on udp 500 [FAILED],您可能需要安装apt-get install lsof。
如果没有出现[FAILED]表示运行正常。
Ubuntu使用apt-get安装openswan一定会出现Two or more interfaces found, checking IP forwarding [FAILED]。
而且客户端无法连接,且在/var/log/auth日志中出现
ERROR: netlink XFRM_MSG_DELPOLICY response for flow eroute_connection delete included errno 2: No such file or directory
那么原因应该是apt-get到的openswan版本并不能在该Ubuntu上运行,建议去openswan的官网下载2.6.34版本手动编译安装。
或在此下载源码:ftp://ro:[email protected]/openswan_lilith.pro.tar.gz
(这实在非常恶心,因为源码编译安装不是谁都能完成的,注意必须把源码解压在/usr/src下并apt-get install libgmp3-dev,以及bison,flex等然后再编译安装)
L2TP将和PPTP一样使用/etc/ppp/chap-secrets作为帐户密码文件。
重启所有服务:

大功告成!

======
kujou_rin

利用shell脚本对VPN拨入的PPP连接进行限速

  在Linux下使用xl2tpd或pptpd架设VPN服务后,如果需要对拨入的用户进行限速可以用shell脚本实现。笔者使用tc进行限速,该命令一般默认于Linux中。Linux的VPN在每一个用户拨入后,会建立一个名为ppp+数字编号的连接并加载 /etc/ppp/ip-up 脚本,因此我们可以把限速的脚本写在这个文件里,每次ppp连接建立执行脚本为新连接应用限速规则。
  具体方法是在ip-up的文件末尾加入如下几行:

  其中down为下行速率,upload为上行速率,这里的400就是400k/s,iprange是你为拨入用户分配的ip位址,该位址以外的ip将不受限速规则影响。以上方式笔者在Ubuntu测试通过。

======
kujou_rin

XP系统连线VPN后修改DNS优先级的方法

XP系统及更早版本的Windows在连线VPN后仍然会使用本地DNS进行解析,这使得翻越G*F*W的用户在使用VPN后仍然出现DNS被劫持的现象。因此需要修改DNS优先级,优先使用VPN连接所分配的DNS,修改方法如下:

开始-运行-regedit,开启注册表编辑器。
找到这里“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Linkage”并在右侧修改“Bind”键值。
在键值表内会发现一行“\Device\NdisWanIp”写在最后,用复制粘贴将其移动到最上面第一行,保存退出。

当然也可以手动指定国外DNS如8.8.8.8和8.8.4.4来解决优先级问题。