1.
准备与前提
- 确认你有台湾云服务商(例如:台灣在地或国际厂商在台湾区域)的控制台账号与权限(可申请/释放IP、管理网络、DNS 权限)。
- 准备能 SSH 的终端(macOS/Linux 或 Windows 的 WSL/PowerShell),知道实例的管理员账号(ubuntu/centos/root 等)。
- 准备域名和域名注册商的后台账号(若使用云提供的 DNS,可直接在云 DNS 控制台操作)。
2.
查看当前实例IP
- 登录云控制台,打开实例详情,查看“公网 IP”(Public IP / 弹性IP)与“私有 IP”(Private IP / 内网 IP)。
- 在服务器上通过 SSH 执行:`ip addr show` 或 `ip a`,确认网卡(如 eth0 或 ens3)的分配地址。示例:`ip a | grep inet`。
3.
申请与保留静态/弹性IP(云端操作)
- 在云控制台找到“网络/彈性IP/Elastic IP/浮动IP”页面,选择“申请/创建/保留弹性IP”。
- 选择区域(务必选择台湾区域)并生成或绑定到你的实例。记下分配到的公网IP,例如 1.2.3.4。
4.
在实例端确认/调整网络设置(Linux 常见系统)
- Ubuntu(使用 netplan):编辑 /etc/netplan/*.yaml,示例:
network:
version: 2
ethernets:
ens3:
dhcp4: no
addresses: [10.0.0.5/24]
gateway4: 10.0.0.1
nameservers:
addresses: [8.8.8.8,1.1.1.1]
保存后执行 `sudo netplan apply`。
- CentOS7(使用 ifcfg):编辑 /etc/sysconfig/network-scripts/ifcfg-ens3,设置静态 IP、NETMASK、GATEWAY,重启网络:`sudo systemctl restart network`。
- 备注:云供应商公网IP一般通过 NAT/路由器映射到虚拟机,若你使用弹性IP,只需在云控制台绑定;实例通常保留私网为静态,公网在云端控制。
5.
安全组与防火墙设置
- 在控制台的“安全组/防火墙”中开放必要端口:SSH(22)、HTTP(80)、HTTPS(443)、SMTP(25,若发邮件)。
- 在实例上确认 ufw 或 firewalld 规则,例如 `sudo ufw allow 22/tcp`,`sudo ufw enable`。
6.
域名与DNS基础记录类型
- A 记录:域名指向 IPv4(例如 www -> 1.2.3.4)。
- AAAA 记录:指向 IPv6。
- CNAME:别名指向另一个域名(不要在根域名使用 CNAME)。
- MX:邮件交换记录,指向处理邮件的主机(通常为域名或子域)。
- PTR:反向解析,用于将 IP 映射回域名,通常由 IP 提供方(云商)在其 DNS 反向区配置。
7.
在域名注册商或云 DNS 上添加记录(实操步骤)
- 登录域名管理控制台,进入“DNS 管理”或“解析设置”。
- 添加 A 记录:主机记录填写如 “@” 或 “www”,记录类型选择 A,记录值填写你的弹性IP(例 1.2.3.4),TTL 可设 600(10 分钟)或 3600(1 小时)。保存。
- 添加 CNAME:例如 blog 指向 ghs.googlehosted.com。
- 添加 MX:优先级(10)主机名 mail.example.com;同时在 A 记录中为 mail.example.com 指向服务器 IP。
8.
设置反向 DNS (PTR) —— 邮件发送重要
- PTR 必须由管理 IP 的组织(云商)设定。到云控制台的“浮动IP/弹性IP”详情页,查找“设置反向解析/Reverse DNS”或提交工单。
- 提交想要的 PTR 值,例如 1.2.3.4 -> mail.example.com。云商会替你在其反向 DNS 区设置。完成后可用 `dig -x 1.2.3.4 +short` 验证。
9.
实际示例:把 example.com 的 www 指向台湾云服务器
- 在控制台申请弹性IP 1.2.3.4 并绑定到实例。
- 在 DNS 管理中新建 A 记录:主机:www,值:1.2.3.4,TTL:600。
- 在服务器上配置 web 服务(如 nginx),确认监听 80/443:`sudo systemctl status nginx`,并确保安全组开放端口。
- 测试:`dig +short www.example.com @8.8.8.8` 应返回 1.2.3.4;浏览器访问 http://www.example.com。
10.
测试与故障排查常用命令
- 查看本地解析:`dig A example.com` 或 `nslookup example.com`。
- 指定 DNS 服务器查询:`dig @8.8.8.8 example.com`。
- 检查端口连通性:`telnet 1.2.3.4 80` 或 `nc -vz 1.2.3.4 443`。
- 查看反向解析:`dig -x 1.2.3.4 +short`。若不正确,联系云商设置 PTR。
11.
TTL 与生效时间说明
- DNS 修改后会在 TTL 时间内缓存;若你要快速切换,提前将旧记录 TTL 调低(如 300),等待缓存过期后再变更。
- 通常解析在几分钟到 48 小时内完全传播,取决于各级 DNS 缓存策略。
12.
日常维护与监控建议
- 定期确认弹性IP是否仍被绑定(防止未使用时被释放产生费用)。
- 使用监控工具(如 Pingdom、UptimeRobot)监测域名解析与网站可用性。
- 若更换服务器,先在新服务器配置好服务并测试,再把域名 A 记录切换到新 IP,降低中断时间。
13.
常见问题与解决思路(问答 1)
问:为什么我在控制台绑定弹性IP后,域名解析仍不生效?
答:首先用 dig 检查 DNS 是否已改为新 IP(`dig +short example.com`);若 DNS 没改,确认是否在正确的 DNS 服务(注册商或云 DNS)修改;若 DNS 已改但访问不到,检查安全组/防火墙、服务器是否监听对应端口、云端是否有 SNAT/NAT 规则或路由冲突。
14.
常见问题与解决思路(问答 2)
问:如何为邮件服务器配置合格的 DNS 记录以防止被判为垃圾邮件?
答:至少需要:1)A 记录指向邮件服务器 IP;2)PTR(反向 DNS)将该 IP 指回你的邮件主机名;3)SPF 记录(TXT)声明允许发送的主机;4)DKIM 签名并在 DNS 中发布公钥 TXT;5)DMARC 记录用于策略与报告。提交 PTR 请求给云商。
15.
常见问题与解决思路(问答 3)
问:我的域名解析偶尔解析到旧 IP,如何彻底清除旧缓存?
答:无法强制其他 DNS 服务器立即清除缓存,只能通过降低 TTL(在切换前至少提前一天设置低 TTL,例如 300 秒),等待旧 TTL 过期后再切换。必要时通知第三方缓存服务或 CDN 做刷新操作。
来源:从零开始学习如何管理台湾云服务器ip 与DNS配置