Debian 12 服务器初始化备忘 (2025 修订版)

Debian 12 Bookworm 启动界面
前言
这篇是 2025 年修订版,针对 Debian 12(Bookworm)更新了部分内容,增加了 BBRv3 内核和 fail2ban 配置,补充了 systemd-resolved 的 DNS 配置。
1. 换国内镜像源
# Debian 12 用新的 DEB822 格式,sources.list 迁移到 sources.list.d/
cat > /etc/apt/sources.list.d/debian.sources << EOF
Types: deb
URIs: https://mirrors.tuna.tsinghua.edu.cn/debian
Suites: bookworm bookworm-updates bookworm-backports
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
EOF
# 安全更新保持官方
cat > /etc/apt/sources.list.d/debian-security.sources << EOF
Types: deb
URIs: https://mirrors.tuna.tsinghua.edu.cn/debian-security
Suites: bookworm-security
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
EOF
apt update && apt upgrade -y
2. 基础配置
# 时区
timedatectl set-timezone Asia/Shanghai
# 常用工具
apt install -y curl wget vim git htop unzip tmux ufw fail2ban
# 改主机名(按需)
hostnamectl set-hostname your-hostname
3. SSH 安全加固
# 先把公钥传上去
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server
# 然后改 sshd 配置
vim /etc/ssh/sshd_config
# 修改以下几项:
# Port 22222 # 换非标端口
# PasswordAuthentication no
# PermitRootLogin no
# MaxAuthTries 3
systemctl restart sshd

fail2ban 日志中拦截的 SSH 暴力破解尝试
4. 防火墙
ufw default deny incoming
ufw allow 22222/tcp # SSH 新端口
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
ufw status verbose
5. BBRv3 内核
Debian 12 默认内核是 6.1,自带 BBR 但是 v1。BBRv3 需要安装来自 backports 的新内核或者手动编译。最省事的方式是用脚本:
bash <(curl -fsSL https://raw.githubusercontent.com/ZhangSir9901/BBRv3-Onekey/main/bbr_tune.sh)
安装后重启,验证:
sysctl net.ipv4.tcp_congestion_control
# 应返回: net.ipv4.tcp_congestion_control = bbr
6. 自动安全更新
apt install -y unattended-upgrades
dpkg-reconfigure --priority=low unattended-upgrades
# 选 yes,只安全更新