注意,这套方案仅仅是为了好玩,它不适合作为日用,尤其是落地机是动态IP的时候。
弄了个日本NAT VPS,结果IP早被玩烂了,套个Warp吧,翻来覆去就两个日本IP,也都一样,然后就打起了家宽落地的主意,家宽IP总够干净了吧?
思路是,用Softether VPN拨入一个家宽服务器上,然后DHCP获取内网IP,然后修改VPS的默认网关,走家宽出去,本地路由表只保留一条指向家宽IP的静态路由。
不过日本的家宽也是动态IP,在Windows上连接VPN,软件会自动给你调好路由;但是Linux上,我不知道是不是哪里设置有误,因此必须手动操作……换VPN服务器的话就异常麻烦,得手动删掉路由表重新配置……
玩玩就好。
首先,通过IPv6、VNC或者Zerotier(总之,需要确保v4炸了也能访问就行) SSH登录VPS,然后执行命令
wget https://www.softether-download.com/files/softether/v4.41-9787-rtm-2023.03.14-tree/Linux/SoftEther_VPN_Client/64bit_-_Intel_x64_or_AMD64/softether-vpnclient-v4.41-9787-rtm-2023.03.14-linux-x64-64bit.tar.gz #下载VPN客户端安装包
tar -xvf softether-vpnclient-v4.41-9787-rtm-2023.03.14-linux-x64-64bit.tar.gz #解压安装包
cd vpnclient/
make #编译,可能需要些额外的组件。我这个VPS什么都没安装过,直接编译成功了,估计会自动安装。
./vpnclient start #启动VPN客户端
vim ./lang.config #将en或者jp改成cn,调中文
./vpncmd #进入VPN控制台
输入2,连续回车,连接到本机,下面的命令在控制台软件里执行。
check
Check 命令 - 检测 SoftEther VPN 是否能正常运行
如果运行了此运行环境检测工具的系统通过了测试,SoftEther VPN 软件有较高的运行可能性。检测可能需要一定的时间。请稍候...
全部检测通过,说明 SoftEther VPN Server / Bridge 在此系统上正常运行的可能性很高。
命令成功完成。
RemoteEnable #开启远程管理,可以通过Windows客户端的图形界面操作,不然敲命令得累死。
然后回到Windows上,安装Softether VPN Client,在开始菜单找到“管理远程电脑上的 SoftEther VPN Client”快捷方式"(实际上命令就是 vpncmgr_x64.exe /remote ),然后输入VPS的IP,单击确认,远程连接。我这里走的是Zerotier虚拟局域网,因为VPS没有公网IP(v6放一边)。

进来后单击工具->设置密码,以防止公网上其他人乱改你的VPN客户端设置。
然后,先新建一张虚拟网卡(虚拟网络适配器那里右键新建),成功后在上面的空白处右键,新VPN连接设置,填写VPN(落地)服务器的公网IP、端口、VPN虚拟Hub、用户名密码。按照实际情况填写即可,
没有自己的服务器?那可以去找一些公益的,其中日本和韩国的家宽居多,愿意蹲的话也能蹲到美国和阿根廷以及小众国家的家宽,基本都是货真价实的家宽。
至于如何找,就看各位的了,相信你们最擅长的就是这个~
我搞了个日本软银宽带的v4来给小鸡落地。

保存,然后双击连接。看到状态显示“已连接”就好。
此时回到Linux SSH上,ifconfig可以看到多出来一个“vpn_vpn"接口,但是服务器上开着DHCP的情况下,这里没有IP地址。
因此需要手动执行
sudo dhclient vpn_vpn #申请DHCP租约
然后看到IP地址出现了。但是此时还没有走VPN接口上网。
vpn_vpn: flags=4163 mtu 1500
inet 10.211.1.14 netmask 255.255.0.0 broadcast 10.211.255.255
inet6 fe80::(IPV6) prefixlen 64 scopeid 0x20
因此还需要修改默认路由:
警告,接下来请小心操作,如果设置错误,会导致VPS失联。
执行如下命令:
ip route add via #接下来要删掉默认路由,那会导致VPN连接也断开,因此需要加这条。
在我的服务器上,执行的是
ip route add 126.X.X.X(日本软银宽带) via 172.16.10.1(NAT VPS的网关)
ip route del default via # 这一步执行后,将会导致v4失联。
我执行的是 ip route del default via 172.16.10.1
然后继续:
ip route add default via #添加默认路由,走VPN接口出去
最后traceroute 1.1.1.1测试,应该会走远程服务器了。
检测公网IP:

跑个解锁测试脚本:

万绿丛中一点红,正儿八经的家宽IP都不能全解,太严格了吧?
但是这足以吊打一切VPS了。
最后,祈祷VPN服务器不要重启或者更换IP(DDNS),否则VPS会失联,而由于删去了默认路由,将导致v4没网!

然后静态路由也得重新配……笨死了,可能是我哪里还没调好,Windows下只管连接就是,想不到Linux这么麻烦,只能玩玩。

有些softether的节点有openvpn支持,可以用binhex/arch-privoxyvpn这个docker容器转成socks5,之后就简单了
试了下确实可以。。一直以来竟然忽略了
可以用这个
学习下 为数不多的技术贴