TunnelBroker+阿里云轻量搭建动态IPv6池
初始化阿里云轻量环境
-
根据个人需要地区及镜像购买(示例:地区[美国]、镜像[centos8.2])
-
开启端口
-
点击远程连接
-
点击立即登入
-
sudo vim /etc/sysctl.conf
编辑系统设置ipv6相关net.ipv6.conf.all.disable_ipv6 = 0 net.ipv6.conf.default.disable_ipv6 = 0 net.ipv6.conf.lo.disable_ipv6 = 0 net.ipv6.conf.eth0.disable_ipv6 = 0
如下图所示
-
:wq!
保存 -
sudo sysctl -p
重载系统设置
TunnelBroker配置
-
注册tunnelbroker [tip:密码尽量不要有符号]
-
登录后左侧选择创建隧道
[注意:地区尽量与vps地区一致]
-
创建成功后点击打开隧道配置
-
选择
Example Configurations
→Linux-route2
-
上图中绿色高亮的ip替换为阿里云轻量的内网ip
-
命令粘贴出来[命令前可加
sudo
],示例:sudo modprobe ipv6 sudo ip tunnel add he-ipv6 mode sit remote 216.66.22.2 local 172.xxx.xxx.xx ttl 255 sudo ip link set he-ipv6 up sudo ip addr add 2001:xxx:x:xxx::2/64 dev he-ipv6 sudo ip route add ::/0 dev he-ipv6 sudo ip -f inet6 addr
验证出口ip
-
在阿里云轻量SSH控制台中执行上述命令
-
执行
curl ipv6.ip.sb
验证是否返回了一个ipv6地址
-
执行
sudo sysctl -w net.ipv6.ip_nonlocal_bind=1
-
执行
sudo ip -6 route add local 2001:db8:abcd:0012::/64 dev lo
添加本地回环接口
[注意:2001:db8:abcd:0012::/64
替换为自己被分配的ipv6子网,如下图所示]
-
执行
curl --interface 2001:db8:abcd:0012::1 ipv6.ip.sb
验证是否可以使用该子网下的任何IPv6地址进行出口
[注意:2001:db8:abcd:0012::/64
替换为自己被分配的子网中的任意一个IPv6地址]
启动PROXY
服务
-
SSH中执行命令拉取执行文件
amd
:wget https://github.com/deanxv/go-proxy-ipv6-pool/releases/download/v1.0.0/go-proxy-ipv6-pool-linux-amd64
arm
:wget https://github.com/deanxv/go-proxy-ipv6-pool/releases/download/v1.0.0/go-proxy-ipv6-pool-linux-arm64
(下述命令均以
amd
为例) -
添加执行权限
chmod +x go-proxy-ipv6-pool-linux-amd64
-
执行
nohup ./go-proxy-ipv6-pool-linux-amd64 --port 51422 --cidr 2001:db8::/64 > proxy.log 2>&1 &
后台运行[注意:
51422
改为自定义端口、2001:db8::/64
改为自己被分配的ipv6子网] -
执行
tail -f proxy.log
查看日志,如图所示即为成功!
应用
比如genspark2api项目中环境变量PROXY_URL
设置上述阿里云轻量代理池服务的ip及端口
[示例:PROXY_URL=http://47.253.124.78:51422
]
此时每次请求都是随机ipv6,即可绕过CF对IP的速率限制及5s盾
其中genspark2api公益站在使用该代理后以0~1s请求1000次的成功率如下: