標籤彙整: 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來解決優先級問題。