因为预算有限,我才费劲地弄了一个 IPv6 小鸡。在这个领域,我的玩具算是有点贵的,一般都是 1 刀、2 刀这种。
SSH 连接小鸡
首先,你得有 IPv6。国内部署 IPv6 已经有几年了,大部分折腾党应该都已经给光猫改成桥接模式了,然后在路由器上开启 SLAAC 无状态配置,这样就可以给你的内网设备分配专属 IPv6 地址。如果没有这个条件,也可以通过全局代理上网的方式获取 IPv6 地址。毕竟,国内网站(特别是 B 站)单栈的情况下,视频加载会更顺畅。
当然,你也可以不获取 IPv6,而是通过拥有双栈功能的 VPS 搭建代理,然后在 SSH 登录时进行代理设置。
我使用的 SSH 客户端是 XShell,很多人都在用。在连接属性里面可以配置代理。
小鸡获取 IPv4 访问能力
很多网站不支持 IPv6,包括 GitHub,所以基本上要先将 IPv4 打通。目前有两种方式:DNS64 和 Cloudflare WARP。
通过 DNS64
修改 /etc/resolv.conf 文件的 nameserver,可以使用一些欧洲的公益组织提供的服务,例如:
echo -e "nameserver 2001:67c:2b0::4\nnameserver2001:67c:2b0::6" > /etc/resolv.conf
有一些小鸡的 resolv.conf 文件是不能直接修改的(比如 layer7.net 的就不行),你可以尝试删除并重新创建,然后加上只读属性,防止被覆盖:
rm -f /etc/resolv.conf
echo -e "nameserver 2001:67c:2b0::4•\nnameserver2001:67c:2b0::6" > /etc/resolv.conf
charttr -i /etc/resolv.conf
可能会遇到一些带宽的问题,并且 ping 不通 IPv4。
通过 WARP
利用 Cloudflare 的服务,类似于添加一个虚拟网卡或者 SOCKS5 代理。手动配置比较复杂,这里给一个一键脚本:
bash <(curl -fsSL git.io/warp.sh) menu #这个需要 DNS64 运行,GitHub 不支持 IPv6
我对这个脚本做了一些改动,增加了设定镜像的参数:
MIRROR=https://ghmirror.pp.ua bash <(curl -fsSL https://ghmirror.pp.ua/https://github.com/benzBrake/warp.sh/raw/main/warp.sh) 4
https://ghmirror.pp.ua
是我在 layer7 上运行的一个 GitHub 镜像服务。如果挂了,你可以自己部署:
然后,你可以去 Telegram 搜索 WARP+,获取一个 24PB 的 KEY 使用。
WARP 有时候会掉线,建议设置一个脚本进行保活:
#!/bin/bash
while true; do
# 获取当前脚本的路径
script_path=$(dirname "$0")
# 构建 warp.sh 的完整路径并获取文本并提取 IPv4 Network
ipv4_network=$(bash "$script_path/warp.sh" status | awk -F 'IPv4[[:space:]]*Network[[:space:]]*:[[:space:]]*' '/IPv4[[:space:]]*Network/ {print $2}')
# 检查是否包含 "warp"(不区分大小写)
if echo "$ipv4_network" | grep -qi "warp"; then
echo "IPv4 Network contains 'warp'. No action needed."
else
echo "IPv4 Network does not contain 'warp'. Restarting WireGuard..."
systemctl restart wg-quick@wgcf
fi
# 等待 30 秒
sleep 30
done
其中 warp.sh 的下载链接是:
https://github.com/benzBrake/warp.sh/raw/main/warp.sh
将保活脚本与 warp.sh 放到同一个目录下,执行以下命令添加计划任务(将 /root/keep-alive/wgcf.sh 修改为你自己的路径):
echo '@reboot screen -UdmS keepwgcfalive /bin/bash /root/keep-alive/wgcf.sh' | crontab -
商家提供的 Debian 模板可能是最精简的,没有安装 crontab:
sudo apt update
sudo apt install cron
安装好 WARP 以后修改 DNS
rm -f /etc/resolv.conf
echo -e "nameserver 2606:4700:4700::1111\nnameserver2606:4700:4700::1001" > /etc/resolv.conf
chattr -i /etc/resolv.conf
解决纯 ipv6 小鸡建站的问题
这个问题很常见,使用 Cloudflare CDN 可以解决。Cloudflare 提供免费的 CDN 服务,支持 IPv6 回源。这个过程比较简单,不再赘述,可以在网上找到很多教程。
1panel 面板的使用问题
1panel管理面板默认情况下监听 IPv4,无法访问管理面板,使用命令改为监听 IPv6。
1pctl listen-ip ipv6
这时候还不够啊,使用桥接的 Docker 容器还是无法上网,得增加 IPv6 才行。详见:
https://1panel.cn/docs/user_manual/containers/setting/#2-ipv6
没有可分配的 IPv6 就开工单。