介绍

利用阿里云带宽计费模式当中的CDT公网流量免费额度以此获得仅需一个IP价格就能开通的服务器。每个月20g大陆流量以及200g非大陆流量。虽然流量少但是足够个人的学习和使用,最大的优点就是大厂稳定网络长期在线 拥有公网IP 作为家庭低需求网络中转 远程监控服务器 都是很不错的效果,毕竟带宽可以达到80 Mbps

具体配置

2核心

0.5g内存 (每个地区不同)

2g硬盘(根据需求自定义)

带宽80mbps(按量计费)

地区:华北,华南地区 ,海外地区(价格会升高)

价格:一次性购买5年 最终折合140+ 每个月折合2-3元

优势:大厂稳定,价格低,大带宽,可以随时退款

缺点:20g国内流量 200g非大陆流量 流量少 不管理服务器容易天价账单

官网介绍

开通流程

1.领取折扣券 新用户85折扣券

2.oss对象储存创建上传自定义镜像 地址

来到bucket列表-创建bucket-名称随意,地区经过测试乌兰察布最便宜 其余地区会高一点,海外地区会翻倍 名称地区填好后其余保持默认点击完成创建即创建后进入bucket-选择上传文件(文件下载地址

把文件下载好后进行解压获得一个vhd结尾的文件 拖动到窗口进行上传上传完后点击文件名称会显示详情 -复制文件url(后续填入)来到导入镜像入口地址-左上角地区改成选择的地区-点击导入镜像

把刚才复制的链接填入到(镜像文件url)-系统Linux-操作版本customized Linux-系统架构64位启动模式(bios)-镜像格式(vhd)-勾选配置云盘属性(配置2g或者5g都可以)-确认导入即可

购买esc服务器 地址 -付费类型(包年包月)-地区(乌兰察布)-实例规格筛选(0.5g内存一般最低价格)

镜像(自定义镜像 点击自己上传的)--系统盘(类型essd云盘 -容量2g)

文件备份和快照服务取消勾选-勾选按流量cdt-带宽根据需求填写-最后选择5年付款可以看到最终价格

不出意外2g硬盘最终价格是140+上下浮动 可以根据最终价格是否需要这个服务器

注意⚠️:
登录凭证 选择 使用镜像预设密码 后期配置完服务器再修改密码

ssh端口22用户名root密码luminous

购买好后需要删除oss对象储存否则有额外计费(依旧是选择对地区) 地址

z目前已经完整的购买好服务器了并且能够登陆接下来是对系统进行简单的调试使用

服务器配置/扩容硬盘/docker(alpine系统为例)

扩容硬盘

查看当前情况lsblk

出现以下内容vda    2G        ← 云盘已给满
├─vda1 47.7M  /boot
└─vda2 976M   /

接下来操作一步步走即可如果不懂的可以把查看的情况给ai告诉他要扩容即可

1.进入fdisk

fdisk /dev/vda

2.查看并记住vda2的start

输入p 会显示/dev/vda2 98304


关键参数确认(非常重要)

现在的 vda2 起始扇区是:

Start = 98304

这个数字等下必须原样用回去只要起始扇区不变,数据一定不丢


现在就在这个 fdisk 里继续操作现在看到的是:

Command (m for help):

① 删除 vda2(只删分区表,不删数据)

d
2

看到:

Partition 2 has been deleted.

② 重新创建 vda2,占满整个 2G

n
p
2

接下来 fdisk 会问:

First sector:手动输入(非常关键)

98304

Last sector:直接回车
(默认会用到 4194303,也就是 2G 末尾)


③ 出现 ext4 签名提示时,必须选 N

Do you want to remove the signature? [Y]es/[N]o:

输入:

N

⚠️ 千万不要选 Y


④ 写入分区表并退出

w

fdisk 会退出。


接下来必须重启一次

reboot

重启回来后:扩展文件系统

① 确保工具存在


apk add e2fsprogs-extra

② 扩展 root 文件系统

resize2fs /dev/vda2

看到类似:

The filesystem on /dev/vda2 is now 2.0G

验证最终结果

df -h /
lsblk

应该看到:

/dev/vda2   ~1.9G   /
vda
├─vda1 47.7M  /boot
└─vda2 2G     /

到此硬盘已经扩容完成

配置服务器

更新前置

cat >/etc/apk/repositories <<'EOF'
http://mirrors.aliyun.com/alpine/v3.20/main
http://mirrors.aliyun.com/alpine/v3.20/community
EOF

只保留 阿里云 main + community

更新

apk update

工具安装

apk add \
  bash \
  curl \
  wget \
  vim \
  nano \
  less \
  htop \
  tmux \
  unzip \
  zip \
  tar \
  coreutils \
  util-linux \
  busybox-extras \
  ca-certificates

时区设置

# 1. 确保安装了 NTP 客户端 (busybox 自带的 ntpd 也可以,但这个更稳)
apk add chrony

# 2. 立即手动同步一次时间 (使用阿里云 NTP 源)
chronyd -q 'server ntp.aliyun.com iburst'
  1. 加入开机自启:

    rc-update add chronyd default
    

  2. 立即启动后台服务:

    rc-service chronyd start
    
  3. 验证是否在运行: 输入 rc-service chronyd status,如果显示 status: started,那就完美了。以后它会每隔一段时间自动联网校对时间。

装 Docker

① 安装 Docker + OpenRC 服务

apk add docker docker-openrc

② 安装 docker-compose(Alpine 原生)

apk add docker-compose

Docker 并设为开机自启

rc-service docker start
rc-update add docker default

看到

 * Starting Docker Daemon ... [ ok ]

验证 Docker

docker version

只要 版本正常Docker 环境就彻底好了

修改docker 镜像源

mkdir -p /etc/docker
cat >/etc/docker/daemon.json <<'EOF'
{
  "registry-mirrors": [
    "https://docker.1panel.live",
    "https://docker.m.daocloud.io",
    "https://dockerproxy.com",
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com"
  ]
}
EOF

补充:如果sshd 配置里禁止了 TCP 端口转发(Port Forwarding) 不能通过电脑链接服务器

ssh -L 2017:127.0.0.1:2017 root@服务器IP

命令链接出现下面情况

channel 3: open failed: administratively prohibited: open failed
channel 4: open failed: administratively prohibited: open failed

服务器里执行

vi /etc/ssh/sshd_config

寻找以下内容修改为yes

AllowTcpForwarding yes
GatewayPorts yes
X11Forwarding no

最后重启

rc-service sshd restart

重新连接即可

监控通知

配置一套监控流量服务并且时刻通知每天的用量超额自动关机的程序,以此提高稳定性长期使用。

  • 每天统计上传流量

  • 企业微信 Webhook 日报

  • 阈值预警 / 关机能力

  • Alpine / cron 兼容

  • 适配 Docker 场景


一、设计说明

① 实时保护层

  • 每分钟采集上传字节

  • 累加总量

  • 达到:

    • ⚠️ 18GB → 企业微信预警

    • ❌ 210GB → 企业微信通知 + 关机

每日统计层

  • 每天 00:00

    • 统计「昨日上传流量」

    • 统计「累计上传流量」

    • 发送 企业微信日报

    • 清零“昨日计数”

不会影响实时保护逻辑


二、企业微信 Webhook

企业微信 → 群 → 添加机器人 → Webhook
拿到一个地址,例如:

https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxxxx

下面脚本都用这个。


三、完整 Alpine 脚本(支持每日统计 + webhook)

文件位置(推荐)

/usr/local/bin/traffic-guard.sh

完整版脚本

#!/bin/sh

### ===== 配置区 =====
IFACE="eth0"                  # 公网网卡
STATE_DIR="/var/lib/traffic_guard"
TOTAL_FILE="$STATE_DIR/total_bytes"
DAILY_FILE="$STATE_DIR/daily_bytes"
DATE_FILE="$STATE_DIR/date"

WARN_GB=18
SHUTDOWN_GB=210

WEBHOOK_URL="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxx"
HOST="$(hostname)"
### ==================

mkdir -p "$STATE_DIR"

get_tx_bytes() {
  awk -v iface="$IFACE:" '$1 == iface {print $10}' /proc/net/dev
}

send_wecom() {
  MSG="$1"
  curl -s -X POST "$WEBHOOK_URL" \
    -H "Content-Type: application/json" \
    -d "{
      \"msgtype\": \"text\",
      \"text\": {
        \"content\": \"$MSG\"
      }
    }" >/dev/null 2>&1
}

NOW_BYTES=$(get_tx_bytes)
TODAY=$(date +%F)

# 初始化
[ ! -f "$TOTAL_FILE" ] && echo "$NOW_BYTES" > "$TOTAL_FILE"
[ ! -f "$DAILY_FILE" ] && echo 0 > "$DAILY_FILE"
[ ! -f "$DATE_FILE" ] && echo "$TODAY" > "$DATE_FILE"

LAST_TOTAL=$(cat "$TOTAL_FILE")
LAST_DATE=$(cat "$DATE_FILE")

# 新的一天
if [ "$TODAY" != "$LAST_DATE" ]; then
  YESTERDAY_GB=$(awk "BEGIN {printf \"%.2f\", $(cat $DAILY_FILE)/1024/1024/1024}")
  TOTAL_GB=$(awk "BEGIN {printf \"%.2f\", $LAST_TOTAL/1024/1024/1024}")

  send_wecom "📊 流量日报
主机:$HOST
日期:$LAST_DATE
昨日上传:${YESTERDAY_GB} GB
累计上传:${TOTAL_GB} GB"

  echo 0 > "$DAILY_FILE"
  echo "$TODAY" > "$DATE_FILE"
fi

# 本次增量
if [ "$NOW_BYTES" -gt "$LAST_TOTAL" ]; then
  DELTA=$((NOW_BYTES - LAST_TOTAL))
else
  DELTA=0
fi

echo "$NOW_BYTES" > "$TOTAL_FILE"
echo $(( $(cat $DAILY_FILE) + DELTA )) > "$DAILY_FILE"

TOTAL_GB=$(awk "BEGIN {printf \"%.2f\", $NOW_BYTES/1024/1024/1024}")

# 阈值预警
if awk "BEGIN {exit !($TOTAL_GB >= $WARN_GB)}"; then
  send_wecom "⚠️ 流量预警
主机:$HOST
累计上传:${TOTAL_GB} GB
已接近中国免费流量上限"
fi

# 安全关机
if awk "BEGIN {exit !($TOTAL_GB >= $SHUTDOWN_GB)}"; then
  send_wecom "❌ 流量超限
主机:$HOST
累计上传:${TOTAL_GB} GB
即将关机保护"
  sleep 5
  /sbin/poweroff
fi

赋权

chmod +x /usr/local/bin/traffic-guard.sh

四、Alpine 定时执行(cron)

apk add cronie
rc-service crond start
rc-update add crond default

每分钟执行一次(推荐)

crontab -e
* * * * * /usr/local/bin/traffic-guard.sh

不会重复日报,因为按日期判断


五、企业微信消息通知效果

每日 00:00 日报

📊 流量日报
主机:aliyun-vps-01
日期:2025-12-22
昨日上传:1.83 GB
累计上传:12.41 GB

预警

⚠️ 流量预警
主机:aliyun-vps-01
累计上传:18.02 GB
已接近中国免费流量上限

关机

❌ 流量超限
主机:aliyun-vps-01
累计上传:210.15 GB
即将关机保护

测试是否有效修改 WARN_GB=18 值为0.001

参考博客:

https://blog.ecve.cn/

https://luotianyi.vc/8445.html