首页
关于
私人 DNS 加密设置教程
更多
关于
私人 DNS 加密设置教程
搜索
默认分类
登录
搜索
234
累计撰写
39
篇文章
累计收到
2
条评论
首页
分类
默认分类
页面
关于
私人 DNS 加密设置教程
注册丨登录
搜索到
6
篇
标签为
服务器运维
的文章
2026-10-01
自建AdGuard Home教程:搭建属于自己的私人DNS服务器
TL;DR:想拥有完全可控的私人DNS?你需要一台VPS、一个域名和一张TLS证书。用AdGuard Home官方脚本一键安装,在Web面板里配好上游DNS和加密协议(DoT端口853 / DoH端口443),就能让手机、电脑通过自己的域名连接私人DNS,全程广告拦截、防跟踪、零日志都由你说了算。搭建私人DNS之前需要准备什么?自建AdGuard Home不是装个软件就完事,你需要先备齐三样东西:一台有公网IP的VPS:国内可选阿里云、腾讯云轻量服务器,海外可选Vultr、DigitalOcean等。最便宜的入门款就够跑AdGuard Home。如果你担心服务器账单失控,可以参考本站这篇阿里云2元/月服务器防天价账单。一个域名:你需要一个域名来申请TLS证书,也是客户端连接私人DNS的地址。域名可以在Namesilo、阿里云、Cloudflare等平台注册,一年几十块钱。TLS证书:DoT和DoH都基于TLS加密,必须要有证书。推荐用Let's Encrypt免费申请,配合certbot自动续期。如果你刚买了一台轻量服务器不知道怎么初始化,本站有一篇Alpine轻量服务器初始化清单可以参考,里面涵盖了系统更新、防火墙、SSH加固等基础步骤。方法一:用官方脚本一键安装AdGuard HomeAdGuard Team官方提供了一键安装脚本,支持绝大多数Linux发行版。以root身份执行以下命令:wget --no-verbose -O - https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v如果你用的是FreeBSD或其他带fetch工具的系统,可以换成:fetch -o - https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v脚本会自动下载最新版AdGuard Home二进制文件、创建系统服务并启动安装向导。安装完成后,AdGuard Home会作为系统服务自动运行。方法二:用Docker部署(适合已有Docker环境的用户)官方也提供了Docker镜像 adguard/adguardhome。如果你更习惯容器化部署,可以用这条命令启动:docker run -d \ --name adguardhome \ --restart unless-stopped \ -v /your/host/workdir:/opt/adguardhome/work \ -v /your/host/confdir:/opt/adguardhome/conf \ -p 53:53/tcp -p 53:53/udp \ -p 80:80/tcp \ -p 443:443/tcp -p 443:443/udp \ -p 853:853/tcp -p 853:853/udp \ -p 3000:3000/tcp \ adguard/adguardhome:latest注意:Docker安装的AdGuard Home不会自动更新,需要你手动拉取新镜像并重启容器。这一点和脚本安装版不同,脚本版支持自动检测更新。安装后第一次配置:打开Web管理面板安装完成后,打开浏览器访问 http://你的服务器IP:3000,进入初始化设置向导。第一步:创建管理员账号设置用户名和密码,这是登录Web管理面板的凭据,务必用强密码。第二步:设置监听端口AdGuard Home默认监听以下端口,你需要确保防火墙放通:端口协议用途53UDP/TCP明文DNS服务3000TCPWeb管理面板(初始化阶段)80TCPWeb面板(可选,改完后建议关闭)853TCP/UDPDNS-over-TLS / DNS-over-QUIC443TCP/UDPDNS-over-HTTPS第三步:配置上游DNS在「设置 → DNS设置」里,填上上游DNS服务器地址。推荐用加密的公共DNS作为上游,比如:https://dns.cloudflare.com/dns-query(Cloudflare 1.1.1.1 DoH)https://dns.google/dns-query(Google Public DNS DoH)tls://dns.adguard-dns.com(AdGuard DNS DoT)这样你的AdGuard Home → 上游DNS这一段也是加密的,整条链路更安全。启用DoT和DoH:让客户端用加密方式连你的私人DNS这一步是自建私人DNS的核心——只有开了加密协议,手机才能在系统「私人DNS」设置里填你的域名。1. 先准备好TLS证书用certbot从Let's Encrypt申请一张免费证书。假设你的域名是 dns.example.com,证书文件通常在:证书文件:/etc/letsencrypt/live/dns.example.com/fullchain.pem私钥文件:/etc/letsencrypt/live/dns.example.com/privkey.pem2. 在AdGuard Home面板里开启加密进入「设置 → 加密设置」:勾选「启用加密协议」服务器名称填你的域名,比如 dns.example.com证书路径填 fullchain.pem 的完整路径私钥路径填 privkey.pem 的完整路径确认端口:DoT默认853,DoH默认443点击「保存」保存后,AdGuard Home就会同时在853端口提供DoT服务、在443端口提供DoH服务。你可以用 openssl s_client -connect dns.example.com:853 测试连通性。客户端怎么接入?安卓私人DNS填什么?配好DoT之后,安卓手机就可以用系统自带的「私人DNS」功能连接你的自建服务器了:打开安卓「设置 → 网络和互联网 → 私人DNS」选择「指定私人DNS提供商」输入你的域名,比如 dns.example.com保存连上之后,你手机的所有DNS查询都会通过TLS加密发到你自己的AdGuard Home,再由它去查询上游。不同品牌手机的设置入口略有差异,本站整理了全系列的私人DNS设置教程合集,小米、华为、OPPO、vivo、三星、iPhone各机型都有对应的图文步骤。自建之后你需要承担的维护责任自建私人DNS不是一劳永逸的,你需要对自己的服务器负责:软件更新:AdGuard Home会持续更新功能和修复漏洞,记得定期更新。脚本安装版可以在Web面板首页看到更新提示。证书续期:Let's Encrypt证书有效期90天,务必配置certbot自动续期(certbot renew --dry-run 测试一下)。证书过期后DoT/DoH会直接断连。安全加固:Web管理面板不要暴露在公网随便让人访问,建议改默认端口、加IP白名单,或者只通过SSH隧道访问。上游DNS稳定性:如果上游DNS挂了,你的私人DNS也会跟着挂。建议配置多个上游做故障转移。常见问题Q:自建私人DNS和直接用公共加密DNS有什么区别?A:最大的区别是「控制权」。自建的话,过滤规则你自己选、查询日志你自己管、用不用零日志由你定。公共加密DNS方便但依赖服务商的信誉。Q:我的VPS只有几十M带宽,跑AdGuard Home够吗?A:DNS查询的数据量非常小,即使是入门款VPS也能轻松带得动几个人日常使用。真正吃带宽的是网页浏览和视频,不是DNS。Q:为什么我开了私人DNS还是能看到广告?A:DNS层面的广告过滤只能拦截「域名级」的广告请求。网页内嵌的JS广告、视频贴片广告是和正文同域名下发的,DNS层拦不住。想深入了解可以看这篇用私人DNS拦截广告的原理与局限。参考来源AdGuard Home 官方GitHub仓库 - 安装说明 — 支撑官方安装脚本命令与Docker镜像信息AdGuard DNS知识库 - DNS加密配置 — 支撑DoT/DoH证书配置与端口说明AdGuard DNS知识库 - Docker部署 — 支撑Docker端口映射与部署参数AdGuard DNS知识库 - 入门指南 — 支撑安装端口要求与初始化流程
2026年10月01日
2 阅读
0 评论
0 点赞
2026-10-01
免费公共DNS还是自建DNS服务器?私人DNS选型与成本对比
TL;DR:一句话结论90%的普通用户,直接用免费公共DNS(阿里223.5.5.5、腾讯119.29.29.29)就够了——零成本、零运维、速度快。只有当你同时满足"有域名+懂基础Linux+在意隐私或需要自定义广告过滤规则"这三个条件时,自建DNS服务器(比如AdGuard Home)才值得投入。搜"私人DNS"的人很多都会纠结一个问题:我是直接填个公共DNS地址就完事,还是花心思自己搭一个?这篇文章把两条路的成本、隐私、可控性、运维门槛彻底掰开揉碎,帮你判断自己属于哪一类。免费公共DNS vs 自建DNS:核心维度对比对比维度免费公共DNS(阿里/腾讯/Cloudflare等)自建DNS服务器(AdGuard Home/Unbound等)直接成本完全免费VPS每月约30-80元(最低配);家用旧设备则电费忽略隐私程度信任第三方服务商的日志政策数据完全自持,查询记录只存在你自己的机器上广告拦截基础版基本没有;Cloudflare Families拦恶意网站完全自定义,可挂任意过滤规则列表,拦广告拦跟踪速度与稳定性大厂节点多,国内延迟10-30ms,SLA有保障取决于你买的VPS线路;家用宽带上行小,稳定性一般运维门槛填个地址就能用,零维护需要安装软件、配证书、更新系统、监控可用性故障影响面服务商挂了不是你的锅,换一个就行你自己的DNS挂了,全家断网,得自己修适合人群绝大多数普通用户、手机用户、不想折腾的人技术爱好者、有服务器闲置、对隐私/过滤有强需求的人具体的免费加密DNS地址清单,可以看本站免费加密DNS服务:DoH/DoT 地址与一键配置,这里不重复列。成本对比:自建到底要花多少钱免费公共DNS:0元你只需要在手机或路由器设置里填两个IP地址或一个DoT主机名,就完事了。没有任何费用,没有任何续费,服务商靠自己的商业模式养活这个服务。自建DNS服务器:从0元到每月上百元自建有两条路线,成本差别很大:路线一:家用旧设备/树莓派(接近0元)如果你家里有闲置的旧电脑、树莓派、甚至刷了OpenWrt的路由器,直接在上面装AdGuard Home或Unbound,硬件成本为零,电费每月几块钱。但缺点是家用宽带上行带宽小、公网IP不稳定,只能服务家里局域网内的设备,出门在外用不了。路线二:VPS云服务器(每月30-80元)买一台最低配的云服务器(1核1G带宽1M起步就够跑DNS),国内大厂价格大概每月30-60元,按需计费可能更便宜。好处是有公网IP、99.9%在线率,手机在外也能连。坏处是DNS查询要绕到你的VPS再出去,速度取决于VPS线路——如果你买的是国际VPS,国内访问反而可能比直接用公共DNS还慢。关键算账:一个月30元,一年就是360元。这笔钱够你买好几年的付费VPN或付费去广告服务了。自建DNS的价值不在于"省钱",而在于"完全可控"。隐私对比:你到底信谁这是自建派最常提的理由:"公共DNS会记录我的查询记录。"事实是:Cloudflare 1.1.1.1 有明确的零日志承诺,且经过独立第三方审计,非身份查询数据仅存25小时。隐私透明度在公共DNS里算顶级。Google Public DNS 临时日志24-48小时,城市级位置数据保留更久,不算零日志。国内三家(阿里、腾讯、114) 受国内网络安全法规约束,日志留存策略与海外服务商不同,公开透明度较低。自建的好处是:所有查询记录只存在你自己的硬盘上,没有第三方能看到你访问了哪些域名。如果你对"被监控"这件事极其敏感,自建确实是物理意义上最干净的方案。但要注意一个现实问题:自建DNS并不等于匿名。你的DNS查询仍然要通过你的宽带运营商出口发出去,运营商仍然能看到你和哪个IP通信。自建解决的是"DNS服务商那边记录"的问题,解决不了"运营商这边记录"的问题。真要匿名,得叠加DoH/DoT加密 + VPN。可控性对比:为什么那么多人自建是为了拦广告这才是自建DNS的真正杀手锏。免费公共DNS里,只有Cloudflare Families提供了基础的恶意网站拦截,Google和国内三家的免费版都不做内容过滤。你没法自定义"我要拦掉某个广告域名"或"我要加一个中文广告过滤列表"。而自建AdGuard Home的话,你可以:挂载任意过滤规则列表(EasyList中文版、乘风规则、AdGuard官方规则等)自定义黑白名单,想拦谁拦谁看到家里所有设备的DNS查询统计给不同设备分配不同的过滤策略这种掌控感,是公共DNS给不了的。本站后续会有专门的自建AdGuard Home教程和AdGuard Home规则订阅文章,这里先不展开。运维门槛:自建不是装完就完事很多人以为自建DNS就是docker install adguardhome一行命令,其实那只是开始。长期运维你要处理这些事:软件更新:AdGuard Home、Unbound都会持续发安全补丁,得定期更新证书维护:如果你要开DoH/DoT,需要SSL证书,Let's Encrypt证书三个月要续一次故障排查:哪天突然打不开网页了,是DNS挂了?还是上游挂了?还是证书过期了?得自己查性能调优:缓存大小怎么设?用哪个上游公共DNS做forwarder?都要试如果你连"SSH登录服务器"和"改配置文件"都没干过,自建DNS的学习曲线会让你很痛苦。决策清单:你适合自建吗?满足以下任意三条以上 → 可以考虑自建有自己的域名(用来配DoT/DoH证书)会基础Linux操作(SSH、改配置、systemctl重启服务)家里有闲置设备或已经买了VPS(不为DNS专门花钱)强烈需要自定义广告过滤/隐私保护规则喜欢折腾,享受自己搭东西的过程有多设备家庭,想统一管理全家上网满足以下任意一条 → 别自建,用公共DNS就好只是想让手机上网快一点、防劫持不会用命令行,也不想学预算有限,每月多花几十块有压力家里只有自己一个人用追求稳定性,不想自己当运维常见问题Q1:自建DNS是不是一定比公共DNS快?不一定。自建DNS的速度取决于你的VPS线路质量和你离VPS的距离。如果你买了个国内VPS做forwarder,延迟可能和公共DNS差不多;如果你买了个海外VPS,国内访问反而更慢。自建的优势主要在"可控"和"过滤",不在"更快"。Q2:我用了自建DNS,是不是就不需要开VPN了?不是一回事。DNS负责域名解析,VPN负责流量加密和路由。自建DNS拦广告、保护查询记录,但不加密你的网页流量。两者解决的问题不同,可以叠加使用。Q3:AdGuard Home和Unbound有什么区别?选哪个?AdGuard Home主打"带过滤的DNS",自带广告拦截、统计看板、Web管理界面,适合家庭用户。Unbound是纯递归解析器,没有过滤功能,性能强但配置全靠改文本文件,适合技术用户。新手建议直接上AdGuard Home。Q4:自建DNS会不会被运营商劫持?如果你只用53端口明文,理论上运营商仍然可能在中间做手脚。正确做法是自建DNS本身用DoH/DoT连接上游公共DNS,同时给你自己的客户端也提供DoT/DoH服务。这样从客户端到你的服务器,再从你的服务器到上游,全程加密。参考来源Cloudflare 1.1.1.1 隐私承诺 — 支撑文中Cloudflare零日志政策、25小时数据留存等事实,用于对比公共DNS隐私维度。Google Public DNS 隐私页面 — 支撑文中Google临时日志政策,用于对比公共DNS隐私维度。阿里云公共DNS官网 — 支撑文中国内公共DNS免费、支持DoT/DoH、企业版有过滤能力等事实。AdGuard Home 官方产品介绍 — 支撑文中AdGuard Home功能描述(网络级广告拦截、全设备覆盖、无需客户端软件),用于说明自建DNS的可控性优势。
2026年10月01日
2 阅读
0 评论
0 点赞
2026-10-01
Linux私人DNS设置教程:Ubuntu/Debian 配置DoT(systemd-resolved详解)
TL;DR: Ubuntu/Debian 默认用 systemd-resolved 做本地 DNS 解析(监听在 127.0.0.53:53),它从 systemd 239 版本开始原生支持 DNS over TLS(DoT)。配置方法:编辑 /etc/systemd/resolved.conf 或在 /etc/systemd/resolved.conf.d/ 下新建一个 .conf 文件,写入 DNS=1.1.1.1 和 DNSOverTLS=yes,然后 sudo systemctl restart systemd-resolved,最后用 resolvectl status 验证即可。不需要装任何第三方软件。Ubuntu/Debian 的 DNS 架构:先搞清楚 systemd-resolved很多人刚上手 Linux 时会困惑:我明明改了 /etc/resolv.conf,为什么重启又变回去了?这是因为从 Ubuntu 16.04(以及 Debian 10)开始,系统默认使用 systemd-resolved 作为本地 DNS 存根解析器。它的工作方式是这样的:systemd-resolved 作为一个系统服务在后台运行。它在本地 127.0.0.53 的 53 端口上监听,扮演一个「DNS 中转站」的角色。/etc/resolv.conf 是一个软链接,指向 /run/systemd/resolve/stub-resolv.conf,里面只写了一行 nameserver 127.0.0.53。所有程序的 DNS 请求都先发给本地的 127.0.0.53,再由 systemd-resolved 转发到真正的上游 DNS 服务器。所以你要配置加密 DNS,正确的做法不是改 /etc/resolv.conf,而是改 systemd-resolved 的配置文件——因为加密是在 systemd-resolved 转发给上游那一段做的。先确认你的系统确实在用 systemd-resolved:systemctl status systemd-resolved如果显示 active (running) 就对了。再确认一下 /etc/resolv.conf 是不是软链接:ls -l /etc/resolv.conf正常应该显示指向 /run/systemd/resolve/stub-resolv.conf 或 /run/systemd/resolve/resolv.conf。配置 DoT:编辑 resolved.confsystemd-resolved 的主配置文件是 /etc/systemd/resolved.conf。官方文档推荐的做法是不要直接改主文件,而是在 /etc/systemd/resolved.conf.d/ 目录下新建一个 drop-in 配置文件,这样升级系统时不会被覆盖。第一步:创建 drop-in 配置文件sudo mkdir -p /etc/systemd/resolved.conf.d/ sudo nano /etc/systemd/resolved.conf.d/99-opendns.conf第二步:写入配置内容在文件里填入以下内容:[Resolve] DNS=1.1.1.1#one.one.one.one 1.0.0.1#one.one.one.one FallbackDNS=9.9.9.9#dns.quad9.net DNSOverTLS=yes逐行解释:配置项含义DNS=1.1.1.1#one.one.one.one指定上游 DNS 服务器。# 后面是服务器的主机名,用于 TLS 证书校验和 SNI。格式是 IP地址#主机名FallbackDNS=9.9.9.9#dns.quad9.net备用 DNS,当主 DNS 连不上时自动切换DNSOverTLS=yes开启 DoT 加密。yes = 强制加密,不支持 TLS 的服务器会直接失败;opportunistic = 优先加密,不支持就降级明文;no = 关闭注意:DNSOverTLS=yes 模式下,如果服务器证书验证失败,所有 DNS 请求都会失败。所以一定要写对 # 后面的主机名,让 systemd-resolved 能正确校验证书。如果你只是想试试水,可以先设成 opportunistic,不会因为证书问题断网。第三步:重启服务使配置生效sudo systemctl restart systemd-resolved第四步:验证配置运行:resolvectl status输出里你应该能看到类似这样的内容:Link 2 (eth0) Current Scopes: DNS Current DNS Server: 1.1.1.1 DNS Servers: 1.1.1.1 1.0.0.1 DNS OverTLS: yes关键看最后一行 DNS OverTLS: yes——这就说明 DoT 已经开启了。再用 resolvectl query 测一下解析是否正常:resolvectl query google.com如果能返回 IP 地址,说明 DoT 通道工作正常。不想用 drop-in?直接改主文件也行如果你觉得多建一个文件麻烦,也可以直接编辑 /etc/systemd/resolved.conf:sudo nano /etc/systemd/resolved.conf找到 [Resolve] 段,把下面几行前面的注释(#)去掉并改成:[Resolve] DNS=1.1.1.1#one.one.one.one FallbackDNS=9.9.9.9#dns.quad9.net DNSOverTLS=yes保存后同样 sudo systemctl restart systemd-resolved。两种方法效果完全一样,drop-in 的好处是更干净、不污染系统自带的主配置文件。常见坑与排查坑一:NetworkManager 接管了 DNS如果你用的是带桌面环境的 Ubuntu(GNOME),NetworkManager 可能会通过 DHCP 自动下发 DNS 服务器,把你手动配的 DNS= 覆盖掉。排查方法:运行 resolvectl status,看「Current DNS Server」是不是你自己设的 1.1.1.1。如果不是,说明 NetworkManager 给你的网卡分配了别的 DNS。解决办法:在 NetworkManager 里手动设置该连接的 DNS:打开「设置 → 网络 → 你的连接 → 详细信息 → IPv4」。把「DNS」改成手动,填入 1.1.1.1。关掉「自动 DNS」开关。坑二:改了 resolv.conf 不生效记住:在 Ubuntu/Debian 上,直接编辑 /etc/resolv.conf 是没用的——它是软链接,重启或重新联网后会被 systemd-resolved 重新生成。你所有的配置都应该写在 resolved.conf 或 drop-in 文件里。坑三:开了 DoT 之后上不了网大概率是 # 后面的主机名写错了,导致 TLS 证书校验失败。排查方式:先把 DNSOverTLS 临时改成 opportunistic,重启服务。如果能上网了,说明就是证书校验的问题,检查主机名拼写。确认主机名正确后,再改回 yes。另外注意:DNSOverTLS=yes 需要服务器真的支持 DoT(监听 853 端口)。不是所有公共 DNS 都支持 DoT,Cloudflare(1.1.1.1)、Quad9(9.9.9.9)、Google(8.8.8.8)都支持。可以参考本站整理的 免费加密 DNS 地址列表。其他发行版的差异Fedora:默认也是 systemd-resolved,配置方法完全一样。Arch Linux:默认不一定启用 systemd-resolved,需要手动 sudo systemctl enable --now systemd-resolved 并把 /etc/resolv.conf 软链接到 /run/systemd/resolve/stub-resolv.conf。没有 systemd 的发行版(如 Alpine、部分嵌入式系统):用不了 systemd-resolved,需要换 stubby、dnscrypt-proxy 等独立 DoT/DoH 客户端。常见问题 FAQQ:systemd-resolved 支持 DoH 吗?A:不支持。systemd-resolved 只支持 DoT(DNS over TLS),不支持 DoH。如果你在 Linux 上需要 DoH,得用 dnscrypt-proxy 或 cloudflared 这类第三方工具。DoT 和 DoH 都是 TLS 加密,安全性相当,DoT 配置更简单(systemd 原生支持)。Q:配置完需要重启电脑吗?A:不需要。sudo systemctl restart systemd-resolved 就够了。本地 DNS 缓存会清空,第一次查询会稍慢一点,之后就正常了。Q:DoT 会影响网速吗?A:DNS 查询本身只占极少量流量,DoT 多了一次 TLS 握手,但 systemd-resolved 有本地缓存,日常浏览几乎感觉不到延迟。如果你对速度有疑虑,可以看看本站的 私人 DNS 测速方法。Q:怎么恢复默认 DNS 设置?A:删掉你建的 drop-in 文件:sudo rm /etc/systemd/resolved.conf.d/99-opendns.conf,然后重启 systemd-resolved。如果你是直接改的主文件,把 DNS= 和 DNSOverTLS= 行前面重新加上 # 注释掉就行。参考来源freedesktop.org — resolved.conf.d 官方文档:支撑 DNS=、FallbackDNS=、DNSOverTLS=(yes/opportunistic/no)的参数定义,以及 IP地址#主机名 格式用于证书校验和 SNI 的官方说明。URL:https://www.freedesktop.org/software/systemd/man/latest/resolved.conf.d.htmlfreedesktop.org — systemd-resolved.service 官方文档:支撑 systemd-resolved 作为本地 DNS 存根解析器、监听 127.0.0.53、从 resolved.conf 读取全局 DNS 配置的架构说明。URL:https://www.freedesktop.org/software/systemd/man/latest/systemd-resolved.service.htmlDebian Manpages — systemd-resolved.service:支撑 systemd-resolved 作为本地存根解析器、维护 /run/systemd/resolve/stub-resolv.conf、监听 127.0.0.53:53 的官方手册页。URL:https://manpages.debian.org/testing/systemd-resolved/systemd-resolved.service.8.en.htmlDebian Manpages — resolved.conf:支撑 DNSStubListener、/etc/systemd/resolved.conf.d/ drop-in 配置目录及优先级说明的官方手册页。URL:https://manpages.debian.org/testing/systemd/resolved.conf.5.en.html
2026年10月01日
3 阅读
0 评论
0 点赞
2026-10-01
Alpine 轻量服务器初始化清单:时钟、Nginx、PHP 一篇配齐
Alpine Linux 是轻量服务器的最佳选择之一:整个系统装完不到 1G 内存,包管理简单,跑个 DNS/博客服务绰绰有余。这篇把我初始化 Alpine 服务器的完整清单整理出来,照着抄就行。一、换国内源(加速 apk)sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com\/alpine/g' /etc/apk/repositories apk update如果默认仓库缺 community 源,手动加一行(v3.20 对应你的版本)。二、时钟同步(最容易忽略)重要:云服务器初始时间可能错得离谱,而 TLS 证书验证、日志时间戳全依赖它。apk add chrony rc-service chronyd start rc-update add chronyd default date # 确认时间正确三、Nginxapk add nginx nginx-mod-stream nginx-openrc # 站点配置放 /etc/nginx/http.d/xxx.conf # 注意删掉默认的 default.conf,避免 80 端口冲突 rc-service nginx start rc-update add nginx default做 443 分流时记得装 nginx-mod-stream(stream 模块做 TCP 转发用)。四、PHP(Typecho 等博客用)apk add php83 php-fpm php-pdo_sqlite php-simplexml php-mbstring \ php-json php-curl php-openssl php-dom php-gd php-iconv php-ctype \ php-bcmath php-tokenizer # Alpine 的服务名是 php-fpm83 rc-service php-fpm83 start rc-update add php-fpm83 defaultphp-tokenizer 必须装:Typecho 的 butterfly 主题调用 token_get_all,缺了直接 500 报错,排查了老半天才找到。Nginx 的 fastcgi 块里记得传 host 参数:fastcgi_param HTTP_HOST $host; fastcgi_param host $host;Typecho 读的是小写 host,不传会报 Undefined array key。五、安全组云控制台的安全组要放行实际用到的端口:22(SSH)、80/443(Web)、53/853(DNS)等。853/tcp 记得单独放行,很多教程只放 22 和 80,DNS 服务怎么都连不上。六、开机自启检查rc-update show | grep -E "nginx|php|chrony"三个服务都出现在 default 里,重启后自动拉起,初始化才算完成。Alpine 的精髓就是"少即是多":装什么、开什么,心里都有数,出了问题也容易排查。
2026年10月01日
6 阅读
0 评论
0 点赞
2026-10-01
阿里云 2 元/月服务器防天价账单:流量监控脚本实操
阿里云有个著名的羊毛:国内服务器按流量计费(CDT),每月送 20G 大陆流量 + 200G 非大陆流量,带宽峰值最高 80Mbps,包年 5 年只要 100 多块,折合每月 2-3 元。但代价是——流量是计费的,超出免费额度要按 0.8 元/GB 扣钱。如果你不盯着流量,被爬虫或恶意刷量一天跑出几十 G,账单直接爆炸。这篇分享我的防天价账单方案。一、免费额度规则出网流量计费,入网免费大陆地域:每月 20G 免费(超出 0.8 元/GB)非大陆地域:每月 200G 免费带宽峰值最大 80Mbps,按量模式二、流量监控脚本思路:每分钟从 /proc/net/dev 读一次公网网卡的上传字节数,累加统计,达到阈值就发企业微信提醒,再超就自动关机。# /usr/local/bin/traffic-guard.sh IFACE="eth0" STATE_DIR="/var/lib/traffic_guard" WARN_GB=16 # 接近 20G 预警 SHUTDOWN_GB=20 # 用满就关机保护核心逻辑:记录上次累计值 → 算增量 → 判断阈值 → 预警/关机。注意跨天清零日统计,方便看日报。三、定时执行apk add cronie rc-service crond start rc-update add crond default crontab -e # 每分钟执行一次 * * * * * /usr/local/bin/traffic-guard.sh四、企业微信通知在企业微信群里添加机器人,拿到 webhook 地址填进脚本,流量接近上限时你手机就能收到预警,不用天天盯着控制台。五、注意事项阈值按免费额度设:大陆机 16G 预警、20G 关机最稳,一毛钱超额都不花开机自启:脚本要配 crond 自启,服务器重启后监控不能丢关机保护是兜底:真被刷流量时,宁可关机也别欠账单2 元/月的服务器真香,但"不管理服务器容易天价账单"这句话,每个羊毛党都该刻在脑子里。
2026年10月01日
6 阅读
0 评论
0 点赞
1
2