Po0 机器可以直通 CNIX 当前置使用,也可以走腾讯 CCN 内网直达 JINX 和 CTC (RFCHost HK Tier 1,FxTransit Tier 1),但机器默认封禁双向80,443,8080,8443,8000,1080(TCP/UDP)。故记录一下如何安装Docker等服务。
Docker
搭建 Docker 加速
找一个国外机器利用 Docker-Proxy 项目搭建 Docker 镜像加速服务。我选择 k8s 镜像站,通过 Docker Compose 部署。
mkdir dockerproxy
#下载 k8s yml
wget https://raw.githubusercontent.com/dqzboy/Docker-Proxy/refs/heads/main/config/registry-k8s.yml
#下载 docker-compose.yaml,里面包含了所有镜像仓库的加速服务,我们只启动 k8s
wget https://raw.githubusercontent.com/dqzboy/Docker-Proxy/refs/heads/main/docker-compose.yaml
# 启动指定的容器
docker compose up -d k8s默认启动 55000 端口,可以自行修改,然后可以用 Caddy/Nginx 反代。我这里就用 IP +端口 形式了。
替换 Docker 客户端 Registry
感谢 Po0 没把腾讯云 Debian 镜像源给封了,所以用 apt 安装 docker。
#安装 Docker
sudo apt install -y docker.io
sudo systemctl enable --now docker
docker version
#配置 Registry,由于我们是 http,所以需要加上 insecure-registries
sudo tee /etc/docker/daemon.json >/dev/null <<'EOF'
{
"insecure-registries": ["替换成您国外机器的IP:55000"]
}
EOF
sudo systemctl restart docker就配置好了,docker-compose 里 image: 要写「您私有仓库里的完整镜像名」
#例如原来是
services:
uptime-kuma:
image: louislam/uptime-kuma:2
那现在就是
services:
uptime-kuma:
image: 您的国外机器IP:55000/louislam/uptime-kuma:2对接 nyanpass 面板
nyanpass 节点端不支持修改访问面板端口,而我 nyanpass 部署在 Cloudflare CDN 之后。反正我们443出站是怎么也访问不了的,那我们将所有从443端口访问到 Cloudflare IP 的连接全部 DNAT 成2096端口。
注:如果你想换成其他端口,请查看。
Network ports
Learn which network ports Cloudflare proxies by default and how to enable Cloudflare’s proxy for additional ports.

iptables -t nat -A OUTPUT -p tcp -d 173.245.48.0/20 --dport 443 -j DNAT --to-destination 173.245.48.1:2096
iptables -t nat -A OUTPUT -p tcp -d 103.21.244.0/22 --dport 443 -j DNAT --to-destination 103.21.244.1:2096
iptables -t nat -A OUTPUT -p tcp -d 103.22.200.0/22 --dport 443 -j DNAT --to-destination 103.22.200.1:2096
iptables -t nat -A OUTPUT -p tcp -d 103.31.4.0/22 --dport 443 -j DNAT --to-destination 103.31.4.1:2096
iptables -t nat -A OUTPUT -p tcp -d 141.101.64.0/18 --dport 443 -j DNAT --to-destination 141.101.64.1:2096
iptables -t nat -A OUTPUT -p tcp -d 108.162.192.0/18 --dport 443 -j DNAT --to-destination 108.162.192.1:2096
iptables -t nat -A OUTPUT -p tcp -d 190.93.240.0/20 --dport 443 -j DNAT --to-destination 190.93.240.1:2096
iptables -t nat -A OUTPUT -p tcp -d 188.114.96.0/20 --dport 443 -j DNAT --to-destination 188.114.96.1:2096
iptables -t nat -A OUTPUT -p tcp -d 197.234.240.0/22 --dport 443 -j DNAT --to-destination 197.234.240.1:2096
iptables -t nat -A OUTPUT -p tcp -d 198.41.128.0/17 --dport 443 -j DNAT --to-destination 198.41.128.1:2096
iptables -t nat -A OUTPUT -p tcp -d 162.158.0.0/15 --dport 443 -j DNAT --to-destination 162.158.0.1:2096
iptables -t nat -A OUTPUT -p tcp -d 104.16.0.0/13 --dport 443 -j DNAT --to-destination 104.16.0.1:2096
iptables -t nat -A OUTPUT -p tcp -d 104.24.0.0/14 --dport 443 -j DNAT --to-destination 104.24.0.1:2096然后就在你 nyanpass 面板机器的 Caddy 加多一个2096端口的监听
example.com:443, example.com:2096 {
# TLS 自签(适合套 CDN 加速的用户)
tls internal
# 前端资源
file_server {
root /opt/backend/public
}
...Nezha 探针
哪吒服务器监控 Agent 支持自定义端口,但是因为无法访问443,所以我们不能使用一键安装命令安装。
#先找一台能上网的机器下载安装包
wget https://github.com/nezhahq/agent/releases/latest/download/nezha-agent_linux_amd64.zip
#进入Po0机器
#找个你自己喜欢的方式把刚刚下的那个文件,传到Po0那台机器上去
sudo mkdir -p /opt/nezha/agent
sudo unzip /tmp/nezha-agent_linux_amd64.zip -d /opt/nezha/agent
#生成配置文件
sudo mkdir -p /opt/nezha/agent
sudo tee /opt/nezha/agent/config.yml >/dev/null <<EOF
debug: false
log:
console:
level: info
enable: true
server: "改成你哪吒面板地址:2096"
tls: true
client_secret: "改成你的对接密钥"
EOF
#安装 systemd 服务
cd /opt/nezha/agent
sudo ./nezha-agent service -c /opt/nezha/agent/config.yml install
#启动agent
sudo systemctl start nezha-agent
sudo systemctl enable nezha-agent同样的,我们也是利用了 2096 端口,所以我们要在哪吒面板机器的 Caddy 多监听一个2096端口。
dashboard.example.com:443, dashboard.example.com:2096 {
@grpcProto {
path /proto.NezhaService/*
}
...
暂时只想到了这么多,如果还有其他的到时候再补充。

评论