博主头像
阿龙blog

独立站长 / WordPress 开发 SEO & 内容运营从业者

Ubuntu 服务器上手后,我的基础配置流程

本文整理的是我在部署一台全新 Ubuntu Server(22.04/24.04 LTS)后,常规会做的一套基础配置。流程偏向「纯净、安全、可维护」,用于构建长期可用的服务环境。

2025-11-26T03:22:10.png
2025-11-26T03:22:10.png

主要步骤包括:

使用一键脚本重装纯净 Ubuntu

SSH 安全策略 + Fail2ban 防护

UFW 防火墙策略

安装 Nginx(官方源)

安装 Docker CE + 插件

使用 Cloudflare 作为 CDN / WAF / HTTPS 加速

仅作为我在 zwlla.com 写作时的个人速查清单,不一定适合所有人。

  1. 重装系统(Ubuntu)

常见的可靠一键脚本:

bin456789/reinstall

TeamNeko/debian-ubuntu-netinstall

二者都开源、长期维护,安全上可放心,只需要务必看完作者文档确认风险。

以下以 reinstall 脚本为例:

下载脚本
curl -fLO https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.sh
chmod +x reinstall.sh

执行脚本(示例)
sudo ./reinstall.sh \
-d ubuntu \
-v 24.04 \
-a amd64 \
-u zwl \
-k https://github.com/githubUserName.keys \
-p 22122 \
-bbr

参数说明(Ubuntu 环境):

-d ubuntu:目标系统

-v 24.04:Ubuntu LTS,新机优先用 LTS

-a amd64:多数服务器是 x86_64

-u zwl:创建普通用户

-k URL:公钥来源

-p 22122:自定义 SSH 端口

-bbr:启用 BBR(加速跨国链路)

重装后:

sudo reboot

等待几分钟,用公钥登录即可。

  1. 基础软件包

全新 Ubuntu 系统非常干净,需要安装一些基础工具:

sudo apt update
sudo apt install -y \

ca-certificates \
apt-transport-https \
build-essential \
git curl wget \
screen \
btop \
net-tools \
tree \
neovim
  1. 安装 Docker CE(Ubuntu 官方方式)

官方文档: https://docs.docker.com/engine/install/ubuntu/

sudo apt update
sudo apt install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
| sudo tee /etc/apt/keyrings/docker.asc > /dev/null
sudo chmod a+r /etc/apt/keyrings/docker.asc

添加仓库:

echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] \
https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" \
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

安装:

sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl status docker

  1. 安装 Nginx(官方源,非 Ubuntu 自带)

官方安装方式:

sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
| sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null

添加官方仓库:

echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/ubuntu $(lsb_release -cs) nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list

安装:

sudo apt update
sudo apt install -y nginx
sudo systemctl start nginx

  1. SSH 安全加固(Ubuntu)

编辑:

sudo nvim /etc/ssh/sshd_config

推荐配置:

Port 22122
PermitRootLogin no
PasswordAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no
PubkeyAuthentication yes
UseDNS no
X11Forwarding no

重载:

sudo systemctl restart sshd

务必保持原 SSH 连接,不要断开,开新窗口测试是否能登录。

  1. Fail2ban(Ubuntu)
    sudo apt install -y fail2ban

配置:/etc/fail2ban/jail.local

[DEFAULT]
ignoreip = 127.0.0.1/8 ::1
bantime = 1h
findtime = 10m
maxretry = 3

[sshd]
enabled = true
port = 22122

启动:

sudo systemctl enable fail2ban
sudo systemctl restart fail2ban

检查:

sudo fail2ban-client status sshd

  1. UFW 防火墙(Ubuntu)

安装:

sudo apt install -y ufw

基本策略:

sudo ufw default deny incoming
sudo ufw default allow outgoing

开启 IPv6:

sudo sed -i 's/IPV6=no/IPV6=yes/' /etc/default/ufw

开放 SSH:

sudo ufw allow 22122/tcp

  1. Cloudflare 回源白名单

创建脚本 /usr/local/bin/ufw-cf-whitelist:

(已适配 Ubuntu,不重复粘贴,此处保持与原文完全一致)

动作:自动同步 Cloudflare IPv4 + IPv6,并加入 UFW 白名单(80/443)。

授权:

sudo chmod +x /usr/local/bin/ufw-cf-whitelist

执行:

sudo ufw-cf-whitelist

开启 UFW:

sudo ufw enable
sudo ufw reload

  1. 防止 Docker 穿透 UFW

Docker 默认会直接写 iptables,绕过 UFW,需要避坑。

检查脚本(check-docker-ports.sh)原文可直接使用。

核心规避方法:

👉 不要把 Docker 容器绑定到 0.0.0.0
用:

127.0.0.1:8080:80

而不是:

0.0.0.0:8080:80