一、系统设置
1. 更新软件库与必备软件
执行以下命令更新软件源并安装常用的系统工具:
Bash
apt update -y && apt upgrade -y
apt install -y sudo curl wget nano
2. 校正系统时间
将服务器时区更改为上海(Asia/Shanghai):
Bash
sudo timedatectl set-timezone Asia/Shanghai
- 查看当前时区:
timedatectl - 列出所有时区:
timedatectl list-timezones
3. 系统参数调优
通过调整各种系统和网络参数来优化服务器的性能:
- 内核参数调整: 例如增加 TCP 缓冲区大小、修改系统队列长度等,有助于提高网络吞吐量和减少延迟。
- 资源限制: 设置文件打开数量的限制,防止某些类型的资源耗尽攻击。
运行以下一键调优脚本:
Bash
bash <(wget -qO- https://raw.githubusercontent.com/jerry048/Tune/main/tune.sh) -t
二、BBR 加速配置
BBR (Bottleneck Bandwidth and RTT) 是 Google 提出的一种新型拥塞控制算法,主要特点与作用包括:
- 提高网络性能: 显著提高吞吐量和降低 TCP 连接延迟。
- 适应复杂网络: 适合高延迟、高带宽或有一定丢包率的网络链路。
- 优化拥塞控制: 通过精确测量 RTT 和瓶颈带宽来控制发送速率,避免传统算法因单纯丢包判断拥塞而导致带宽浪费。
📌 个人推荐: 因为我本人是 PT 玩家,所以更倾向于使用大佬魔改的 BBRx 版本。它调整了
startup、drain、probe_bw等状态下的关键参数(如pacing_gain、cwnd_gain),效果比原版更好。如果不喜欢,也可以选择原版。
1. 开启 BBRx 加速
Bash
bash <(wget -qO- https://raw.githubusercontent.com/jerry048/Tune/main/tune.sh) -x
2. 重启 VPS 并确认状态
重启系统使内核更新和 BBR 设置生效:
Bash
sudo reboot
重启后,检查 BBR 是否正确开启:
Bash
lsmod | grep bbr
- 期望结果: 应返回
tcp_bbrx和tcp_bbr。 - 注意: 如果返回结果中只有
tcp_bbr,请再等几分钟后再次重启即可。
三、添加 SWAP 交换空间
在 Linux 系统中,SWAP(交换空间)是指一块磁盘空间,用于在物理内存不足时作为临时的扩展内存使用,能够有效避免因物理内存耗尽导致系统卡死或进程被 OOM Killer 强制终止。
使用脚本一键添加 SWAP:
Bash
wget -O swap.sh https://raw.githubusercontent.com/yuju520/Script/main/swap.sh && chmod +x swap.sh && clear && ./swap.sh
查看当前内存及 SWAP 状态:
Bash
free -m
四、安装 Docker 与 Docker Compose
1. 安装 Docker
- 非大陆服务器:
Bashwget -qO- get.docker.com | bash或者:
Bashcurl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh - 大陆服务器:
Bashcurl https://install.1panel.live/docker-install -o docker-install && sudo bash ./docker-install && rm -f ./docker-install
2. 配置与验证
查看 Docker 版本:
Bash
docker -v
设置开机自动启动:
Bash
sudo systemctl enable docker
3. Docker Compose 检查
现代版本的 Docker(自 18.06.0-ce 起)已经自带了 Docker Compose 工具,直接检验版本即可:
Bash
docker compose version
五、修改 SSH 默认端口
修改 SSH 默认的 22 端口可以有效减少自动化扫描和暴力破解的风险,提升服务器安全性。
将默认端口修改为自定义端口(例如 39000):
Bash
sudo sed -i 's/^#?Port 22.*/Port 39000/g' /etc/ssh/sshd_config
重启 SSH 服务使配置生效:
Bash
sudo systemctl restart sshd
⚠️ 注意: 修改端口后,请务必在安全组或防火墙中放行该新端口,并在下次连接时指定
-p 39000。
六、配置密钥登录
使用脚本一键生成并配置 SSH 密钥:
Bash
wget -O key.sh https://raw.githubusercontent.com/yuju520/Script/main/key.sh && chmod +x key.sh && clear && ./key.sh
🚨 警告: 请务必牢记并妥善保存你生成的密钥文件,否则可能会导致无法通过 SSH 连接服务器!
七、安装与配置 Fail2ban 防护
1. 安装 Fail2ban
Bash
apt install -y fail2ban
2. 配置 Fail2ban
建议通过 .local 文件来覆盖默认配置,避免直接修改 .conf 文件:
Bash
nano /etc/fail2ban/jail.local
写入以下配置内容:
Ini, TOML
[DEFAULT]
# 忽略的 IP 列表(白名单),以空格隔开
ignoreip = 127.0.0.1
# 允许 IPv6
allowipv6 = auto
# 日志修改检测机制
backend = systemd
[sshd]
# 是否激活此项
enabled = true
# 过滤规则 filter 名字
filter = sshd
# SSH 端口(如果修改了默认端口,需在此处或全局指定)
port = ssh
# 动作相关参数
action = iptables[name=SSH, port=ssh, protocol=tcp]
# 检测的系统登录日志文件路径
logpath = /var/log/auth.log
# 屏蔽时间,单位:秒(默认 1 小时)
bantime = 3600
# 检测时间段,单位:秒(默认 10 分钟内)
findtime = 600
# 最大尝试次数
maxretry = 3
- 保存与退出: 按
Ctrl + O保存,按Ctrl + X退出编辑器。
3. 启动与管理服务
设置开机自启并启动 Fail2ban:
Bash
sudo systemctl enable fail2ban
sudo systemctl restart fail2ban
检查运行状态:
Bash
sudo systemctl status fail2ban
fail2ban-client status
八、配置 UFW 防火墙
1. 安装与启用
Bash
sudo apt update
sudo apt install -y ufw
sudo ufw enable
2. 常用规则配置
Bash
# 允许特定端口和服务
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
sudo ufw allow 3306/tcp # MySQL
sudo ufw allow 5432/tcp # PostgreSQL
# 允许特定 IP 访问特定端口
sudo ufw allow from 192.168.1.100 to any port 22
# 拒绝特定端口
sudo ufw deny 23/tcp
# 查看防火墙状态
sudo ufw status verbose
# 删除指定规则(通过编号删除,先用 ufw status numbered 查看编号)
# sudo ufw delete <编号>