ff9a40277d
全新 Debian 12 一键初始化,后续新机复用。四块: - 系统:apt 升级+基础包(含 python3-systemd)、时区、swap 补足、sysctl(BBR/fq/句柄/队列) - Pangolin:建 pangolin 非特权系统用户(/var/lib/pangolin, nologin) - 网络安全:ufw 默认拒入站、放行 SSH+443(tcp/udp);fail2ban sshd jail (精简 Debian 无 rsyslog/auth.log → backend=systemd 读 journald) - SSH 加固:root 仅密钥、可选禁密码(仅当已有 authorized_keys 时生效,防锁死) - 监控:pangolin-monitor(systemd timer,CPU/内存/磁盘/进程/出网 → Telegram, 异常+心跳);deadman-watch(EC2 侧主动探活,补"宕机/不上报"告警) 已在 racknerd(107.172.55.251)实跑验证全部步骤通过。密钥/真实配置 gitignore。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
38 lines
2.1 KiB
Bash
38 lines
2.1 KiB
Bash
# Pangolin 节点初始化配置(被 init.sh 读取)。
|
|
# 用法:cp bootstrap.env.example bootstrap.env && 编辑 → 随 init.sh 一起拷到机器上。
|
|
# 所有项都有合理默认;留空即用默认。敏感值(Telegram token)不要提交进 git。
|
|
|
|
# ── SSH 加固 ────────────────────────────────────────────────────────────────
|
|
SSH_PORT=22
|
|
# 是否禁用密码登录(仅当 root 已有 authorized_keys 时才会真正生效,否则自动跳过以防锁死)
|
|
DISABLE_PASSWORD_AUTH=true
|
|
|
|
# ── 系统 ────────────────────────────────────────────────────────────────────
|
|
TIMEZONE=Asia/Shanghai
|
|
# 目标 swap 总量(MB)。当前 swap 不足且无 /swapfile 时,创建 /swapfile 补足。0=不管。
|
|
SWAP_SIZE_MB=2048
|
|
|
|
# ── 防火墙(放行端口)───────────────────────────────────────────────────────
|
|
# 数据面:REALITY(443/tcp)+ Hysteria2(443/udp)。多个 tcp/udp 端口用空格分隔。
|
|
FW_ALLOW_TCP="443"
|
|
FW_ALLOW_UDP="443"
|
|
|
|
# ── 监控(Telegram)──────────────────────────────────────────────────────────
|
|
# 留空则跳过监控安装。token 找 @BotFather 建;chat_id 找 @userinfobot 取。
|
|
TELEGRAM_BOT_TOKEN=""
|
|
TELEGRAM_CHAT_ID=""
|
|
# 本节点在告警里显示的名字
|
|
NODE_NAME="racknerd-la"
|
|
# 上报间隔(分钟)
|
|
MONITOR_INTERVAL_MIN=5
|
|
# 阈值(百分比);超过即告警
|
|
CPU_ALERT_PCT=90
|
|
MEM_ALERT_PCT=90
|
|
DISK_ALERT_PCT=85
|
|
# 要监控存活的 systemd 单元(空格分隔;不存在的会被忽略)
|
|
MONITOR_UNITS="sing-box pangolin-agent"
|
|
# 出网连通探测目标
|
|
MONITOR_NET_PROBE="https://www.cloudflare.com/cdn-cgi/trace"
|
|
# 周期性"健康"心跳是否也推送(true=每次都报,false=仅异常时报)
|
|
MONITOR_SEND_OK_PULSE=true
|