7

基于 Docker容器 的WARP 双栈出网 配置教程

 3 years ago
source link: https://www.blueskyxn.com/202106/4629.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

本教程讲解的是基于宝塔面板和XSHELL手动配置Docker包,并非一键导入,由于相关法律法规问题,不会提供一键包,同时部分命令只发图,请自己改

选择Docker的原因

Docker容器中部署调试,比原主机更加安全,因为网络调试不当极其容易造成失联

同时在原机部署也会影响其他应用,而Docker可以在一定程度上进行隔离,且不用担心失联和干扰问题

同时Docker还能通过打包镜像来快速克隆

选择WARP的原因

WARP是CloudFlare 公司的一款保护隐私的代理程序,其大部分功能在中国大陆不可用,所以在中国大陆就别折腾了

WARP的IP相对各大机房IP来说,更优秀一点,但是同时也是跟TOR一样的公交车,如果IP管理比较严格反而不是好事

WARP在一定程度上被人们称为“原生IP”,可以“解锁流媒体”,且遍布全球各大地区(但并非所有有CFCDN的地区都有WARP)

WireGuard

如果内核5.X及以上基本内置了,其他版本请按照参考资料自行安装

Docker

可以参考2个京东羊毛的教程来安装,也可以用宝塔的Docker管理器

WGCF配置

wget https://github.com/ViRb3/wgcf/releases/download/v2.1.4/wgcf_2.1.4_linux_amd64

QQ%E5%9B%BE%E7%89%8720210605140921.png

mv wgcf_2.1.4_linux_amd64 wgcf
chmod +x wgcf

QQ%E5%9B%BE%E7%89%8720210605140945.png

./wgcf register
./wgcf generate

QQ%E5%9B%BE%E7%89%8720210605141109.png

然后就能得到两个文件

QQ%E5%9B%BE%E7%89%8720210605141203.png

QQ%E5%9B%BE%E7%89%8720210605141246.png

为了方便,把这个profile.conf 改个名字

QQ%E5%9B%BE%E7%89%8720210605141328.png

内容中的DNS自行改

Endpoint 必须改为如图所示

162.159.192.1:2408

Address 改为任意不冲突的保留(私有)地址就行

QQ%E5%9B%BE%E7%89%8720210605141507.png

DOCKER环境构建

使用宝塔Docker管理器拉取Ubuntu镜像(本机系统无所谓)

或者SSH命令

docker pull ubuntu

QQ%E5%9B%BE%E7%89%8720210605142011.png

QQ%E5%9B%BE%E7%89%8720210605142004.png

激活一下WG

modprobe wireguard

QQ%E5%9B%BE%E7%89%8720210605142825.png

运行Docker

QQ%E5%9B%BE%E7%89%8720210605142903.png

docker run --restart=always -itd --name warp-docker --sysctl net.ipv6.conf.all.disable_ipv6=0 --privileged --cap-add net_admin --cap-add sys_module -p 14888:888 -v /etc/warp-docker:/usr/local/etc/v2ray -v /var/log/warp:/var/log/v2ray -v /etc/wg-docker:/etc/wireguard -v /lib/modules:/lib/modules ubuntu

888是docker内端口,14888是docker外端口
左边是外路径,右边是内路径

请根据实际情况修改,最后的modules千万不能动

QQ%E5%9B%BE%E7%89%8720210605142928.png

WARP-DOCKER配置

连接Docker的SSH

docker exec -it warp-docker /bin/bash

QQ%E5%9B%BE%E7%89%8720210605142948.png

安装点依赖包,注意有提示同步时间

apt update && apt install net-tools openresolv wireguard-tools vim lrzsz wget curl iproute2 unzip tzdata iputils-ping -y

QQ%E5%9B%BE%E7%89%8720210605143221.png

QQ%E5%9B%BE%E7%89%8720210605143242.png

本次选择手动配置,因为自动脚本失败了,如果你能自动成功,那就自动吧

从V2fly的项目中,获取发布包中的四个文件(一般为Linux-64)

QQ%E5%9B%BE%E7%89%8720210605144113.png

cd对应路径,直接拖动文件到XSHELL里面就能自动上传到该位置

QQ%E5%9B%BE%E7%89%8720210605144754.png

文件上传的路径如图所示,同时把这四个文件权限拉满

chmod +x "/usr/local/bin/v2ray"
chmod 777 "/usr/local/bin/v2ray"
chmod +x "/usr/local/bin/v2ctl"
chmod 777 "/usr/local/bin/v2ctl"
chmod +x "/usr/local/bin/geosite.dat"
chmod 777 "/usr/local/bin/geosite.dat"
chmod +x "/usr/local/bin/geoip.dat"
chmod 777 "/usr/local/bin/geoip.dat"

QQ%E5%9B%BE%E7%89%8720210605144942.png

来到另外一个路径

QQ%E5%9B%BE%E7%89%8720210605145132.png

把你配置好的Config.json用同样的方法上传上去【可以从其他配置好的机器复制来,格式都那样】

QQ%E5%9B%BE%E7%89%8720210605145150.png

也可以用宝塔,之前已经把配置文件映射出来了

QQ%E5%9B%BE%E7%89%8720210605150452.png

用命令运行看看

/usr/local/bin/v2ray -config /usr/local/etc/v2ray/config.json

QQ%E5%9B%BE%E7%89%8720210605145219.png

没有报错,说明配置没啥问题

然后用nohup实现后台运行

nohup /usr/local/bin/v2ray -config /usr/local/etc/v2ray/config.json &

QQ%E5%9B%BE%E7%89%8720210605145801.png

然后直接回车就行

Curl一下看看正常不正常

QQ%E5%9B%BE%E7%89%8720210605145845.png

看来是可以了

注意Docker有点毛病,自启动啊,Service啊可能不能用,反正有问题就重新nohup运行一下

然后在容器的/etc/wireguard或者我映射到/etc/wg-docker的这个地方,把之前的wg0.conf上传进去

QQ%E5%9B%BE%E7%89%8720210605150200.png

运行wgcf

wg-quick up wg0

QQ%E5%9B%BE%E7%89%8720210605150235.png

然后检测下看看IP

QQ%E5%9B%BE%E7%89%8720210605150323.png

显然已经是CF的人了

cloudflare warp安装

docker wireguard

点击数:143


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK