什么是
xip.io
是一个提供通配符 DNS
解析的魔法域名。你可以无需配置,将自定义的任何域名解析到指定的 IP
地址。假设你的 IP
地址是 10.0.0.1
,你只需使用 前缀域名+IP地址+xip.io
即可完成相应自定义域名解析。
1 | 10.0.0.1.xip.io # 解析到 10.0.0.1 |
xip.io
使用上已经很简单了,如果你想使用自己的域名来实现一个类似 xip.io
同样功能也是很容易的。你只需部署一个 xip.name
的开源软件就可以简单实现了!
什么是
xip.name
是受 xip.io
启发,使用 Golang
开发的一个支持通配符的 DNS
服务器。
xip.name 也同样提供了一个和 xip.io 类似的公共 DNS 服务,它的使用上和 xip.io
无异。你同样可以直接使用:
1 | 10.0.0.1.xip.name # 解析到 10.0.0.1 |
部署教程
前置条件:
- 一台有公网
IP
并开放53
端口的服务器 - 一个有管理权限的域名
- 一个提供支持通配
NS
记录的DNS
解析服务的帐号
安装
xip.name
使用 Go
语言开发,通常情况下,安装是很容易的,你只需直接下载并放到相应路径即可使用它。
由于 xip.name
项目没有直接提供二进制包下载,所以这里我们使用 go
命令进行源码下载后,进行编译安装。
1 | # 安装 GO 环境 |
安装完成后,我们给 xip.name
增加一个 Systemd
配置文件。
1 | $ cat << EOF > /usr/lib/systemd/system/xip.service |
注: ExecStart 配置的启动命令的 -fqdn 是用来定义 DNS 服务器要支持的域名,这里设置的是 ywzm.org.。你可以根据实际情况进行调整。
一些常规的 xip
服务管理操作
1 | # 启动 xip |
配置 DNS
要成功实现 xip.name
提供的服务,只部署相关程序是不够的。还需要配置你自定义域名的 NS
解析记录,目前国内支持通配 NS
记录的免费 DNS
服务商不多,这里我使用的是阿里云 DNS
解析。
配置其实也很简单,主要需要配置一个通配的 NS
记录和一个指向 DNS
服务器的 A 记录。
以我的域名 ywzm.org 为例,假设部署 xip.name 服务器的公网 IP 是 11.22.33.44
。DNS 就应该增加以下两条解析记录:
- 增加一条通配 NS 记录解析到 ns1.ywzm.org
1 | * ns ns1.ywzm.org |
- 增加一条 A 记录解析到 11.22.33.44
1 | ns1.ywzm.org A 11.22.33.44 |
以上配置好就完成了,看下最终效果吧!
最后,我们来验证一下吧:
从上面的结果可以看到,我们并未对域名进行任何配置就自动实现了相应解析,是不是很给力呢?有兴趣的同学赶紧用起来吧!