🏅自建DNS服务器环境准备:创建VPS、配置SSH密钥、安装Docker Compose完整教程

💡
导语:本集是自建 DNS 实践篇 Part 1,手把手演示如何在 GCP 创建 Linux VPS、配置 SSH 密钥登录、安装 Docker Compose。建议先看完 理论篇 理解分流拓扑;家里 ESXi、树莓派或其他 Linux 服务器部署逻辑相同。本文按视频步骤整理成可检索图文版。

🏅自建DNS服务器环境准备:创建VPS、配置SSH密钥、安装Docker Compose完整教程

开场 — 实践篇环境准备

开场 — 实践篇环境准备

实践篇系列说明

集数 内容 状态
Part 1(本集) VPS 创建 + SSH 密钥 + Docker Compose ✅ 本文
Part 2(下集) 更新脚本 + SmartDNS + AdGuard Home + 定时任务 + 成果展示 待发布

视频因时长限制,本集仅覆盖实践篇前三步。Money哥家里的 DNS 服务器跑在 ESXi 上的 CentOS 7,与 VPS 部署原理一致。

1. GCP 创建 VPS

视频以 Google Cloud 为例从头到尾演示。点击「创建实例」,按以下推荐配置:

配置项 推荐值 说明
区域 香港 离国内近、延迟低
CPU / 内存 2 vCPU / 4 GB 跑 SmartDNS + AdGuard Home 双容器足够
系统盘 20 GB 标准持久盘 DNS 服务无需高性能 SSD
操作系统 CentOS Stream 9 x86_64 GCP 已下架 CentOS 7,选 9 即可
防火墙 允许 HTTP + HTTPS 后续 AdGuard Home Web 管理需要
GCP 创建 VPS 入口

GCP 创建 VPS 入口

选择香港区域

选择香港区域

实例规格 — 2 CPU / 4 GB 内存

实例规格 — 2 CPU / 4 GB 内存

选择 CentOS Stream 9

选择 CentOS Stream 9

防火墙 — 允许 HTTP/HTTPS

防火墙 — 允许 HTTP/HTTPS

⚠️

避坑指南:区域选离自己近的;内存至少 2GB,推荐 4GB 跑 Docker 双容器。内网网段保持默认即可。

配置确认后点击 Create,等待实例启动:

VPS 创建完成

VPS 创建完成

2. 系统更新

通过 GCP 浏览器 SSH 或后续配置的密钥登录后,先更新系统:

sudo yum update -y

出现 Complete! 提示即表示系统已更新到最新版本。

yum update 系统更新

yum update 系统更新

3. SSH 密钥登录

3.1 安装 Vim

sudo yum install -y vim

3.2 配置 authorized_keys

mkdir -p ~/.ssh
chmod 700 ~/.ssh
vim ~/.ssh/authorized_keys
# 按 a 进入插入模式,粘贴本地公钥(ssh-rsa AAAA...)
# 保存:Shift+ZZ
chmod 600 ~/.ssh/authorized_keys
SSH 密钥登录章节

SSH 密钥登录章节

粘贴公钥到 authorized_keys

粘贴公钥到 authorized_keys

3.3 修改 sshd_config

sudo vim /etc/ssh/sshd_config
# 搜索 PermitRootLogin,改为:
# PermitRootLogin prohibit-password
sudo systemctl restart sshd

含义:允许 root 登录,但禁止密码,只能用密钥。

编辑 sshd_config — 禁止密码登录

编辑 sshd_config — 禁止密码登录

3.4 本地测试登录

ssh root@YOUR_VPS_IP
# 首次连接输入 yes
SSH 密钥登录测试成功

SSH 密钥登录测试成功

正确做法:禁用密码登录可防暴力破解;authorized_keys 权限必须是 600,.ssh 目录 700。

4. Docker + Docker Compose 安装

重新 SSH 登录后,按顺序执行(视频内完整命令打包在会员群文档):

# 1. 再次更新
sudo yum update -y

# 2. 安装依赖库
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

# 3. 添加 Docker 仓库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 4. 安装 Docker
sudo yum install -y docker-ce docker-ce-cli containerd.io

# 5. 启动并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker

# 6. 验证 Docker
sudo docker info

# 7. 下载 Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" \
  -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -sf /usr/local/bin/docker-compose /usr/bin/docker-compose

# 8. 验证版本
docker-compose --version
Docker 安装步骤

Docker 安装步骤

Docker Compose 下载与软链接

Docker Compose 下载与软链接

视频演示版本为 v2.32.1。软链接到 /usr/bin/ 后,系统任意路径都可调用 docker-compose

⚠️

避坑指南:CentOS 9 使用 dnf/yum 均可;若 docker-ce.repo 拉取慢,可换国内镜像源。

FAQ

Q1:没看过理论篇可以直接跟做吗?
A:可以,但建议先看 理论篇 理解 DNS 分流拓扑,部署时心里有数。

Q2:必须用 GCP 吗?
A:不必。甲骨文云、AWS、家里 ESXi/树莓派均可,只要是 Linux + Docker。

Q3:为什么选 CentOS 9 而不是 7?
A:GCP 镜像列表已下架 CentOS 7;Stream 9 命令兼容,yum 流程相同。

Q4:2GB 内存够吗?
A:勉强够单容器;SmartDNS + AdGuard Home 双容器建议 4GB。

Q5:防火墙要开哪些端口?
A:本集开 HTTP/HTTPS;下集部署 AdGuard Home 还需 53(DNS)等端口。

Q6:完整命令清单在哪?
A:视频内命令会打包成文本,由 MMH 志愿者在会员群发放。

结语

本集完成实践篇前三步:VPS → SSH 密钥 → Docker Compose。环境就绪后,下集将部署 SmartDNS + AdGuard Home 并配置定时任务。

结语 — 下集预告 SmartDNS + AdGuard Home

结语 — 下集预告 SmartDNS + AdGuard Home

📺 完整视频: YouTube 环境准备篇(14 分钟)

📚 理论篇: 自建 DNS 理论篇 — 分流原理讲清楚 · 致新同学信


留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注