如果你只有VPS,无法创建虚拟机出来,还有没有办法使用隧道落地的方式自建伪“iplc”呢?
有的。用docker就好,没必要开小鸡了
你要做的是:
1. 找个国内网络还不错的vps,比如你就任性开个ecs按流量计费,把口子拉满,这个跑docker
2. 国外落地用的服务器或vps,不用跑docker
3. 给两边建立wireguard隧道,你用其他隧道也行,你能打通就好
4. 国内vps安装docker,并新建一个network单独给容器用,不用默认的docker0的侨接网络
5. 策略路由到你刚刚新建的docker network
前面3个步骤不用说了。那docker怎么玩?我这里就直接用命令行,没安装面板了。
1. 安装docker,用一键方式最靠谱,国内建议用阿里云的mirrors
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
2. 创建docker网络
docker network create nat
创建完注意看一下这个网络的ip段
docker network inspect nat
我的例子中是172.19.0.0/16
3.创建一个容器吧,或者你可以找一个s5的镜像,直接跑在nat的网络下,记得开个端口出来哈
docker run --net=nat -itd --name=container ubuntu
4.最后把策略路由改一下到docker新建的network就好了。
标记你刚刚创建的docker网络的地址,设置默认路由,这里是172.19.0.0/16
ip rule add from 172.19.0.0/16 lookup 10
ip route add default via 172.19.0.1 table 10
然后做一个转发,把这个子网的流量都从你的wireguard接口出去
iptables -t nat -A POSTROUTING -s 172.19.0.0/16 ! -d 172.19.0.0/16 -o wg0 -j MASQUERADE
--------------------------- 分割线 ---------------------------
测试数据
国内是阿里云ecs 深圳机房,按流量计费的 100M端口速度
落地是澳门CTM,没有CN2加成
比较郁闷的是,国内的机房同样是深圳,怎么阿里云过去就要40ms了。
首先是没开策略路由的情况下的mtr 8.8.8.8
开了策略路由
speedtest测试结果还是在25Mbps左右的下行
--------------------------- 分割线 ---------------------------
速度上不去的原因有可能是udp的qos导致的,也可能是加密算法的原因,也有可能是我设置的mtu太高。总之回头换其他方式的隧道再试试了。