【硬核】使用Softether VPN 为你的VPS服务器落地到任何地区

注意,这套方案仅仅是为了好玩,它不适合作为日用,尤其是落地机是动态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这么麻烦,只能玩玩。

点赞
  1. AC4679说道:

    有些softether的节点有openvpn支持,可以用binhex/arch-privoxyvpn这个docker容器转成socks5,之后就简单了

  2. Theater5165说道:

    试了下确实可以。。一直以来竟然忽略了

    sudo docker run -it --rm --cap-add=NET_ADMIN -p 8388:8388 \
    -e VPN_SERVICE_PROVIDER=custom -e VPN_TYPE=openvpn \
    -v /home/xx/x.x.x.x.ovpn:/gluetun/config.conf:ro \
    -e OPENVPN_CUSTOM_CONFIG=/gluetun/config.conf \
    -e OPENVPN_USER=vpn -e OPENVPN_PASSWORD=vpn -e DOT=off -e DOT_PROVIDERS=google -e DNS_ADDRESS=1.1.1.1 \
    -e SHADOWSOCKS=on -e SHADOWSOCKS_LOG=on -e SHADOWSOCKS_PASSWORD=xxx -e HEALTH_TARGET_ADDRESS=1.1.1.1:80 qmcgaw/gluetun
    
    
    gost
    -F=ss://AEAD_CHACHA20_POLY1305:[email protected]:8388
    

    可以用这个

  3. dmhy说道:

    学习下 为数不多的技术贴

回复 Theater5165 取消回复

电子邮件地址不会被公开。必填项已用 * 标注

×
订阅图标按钮