阿里云如何搭建私人dns(阿里云建个人网站)

给阿里云 VPC 中的 Ubuntu ECS 配置自定义 DNS 服务器

由于历史原因一直在用经典网络的 ECS,在安全性方面要弱于 VPC,所以决定将服务器迁移到 VPC 中。给 ECS 配置自定义 DNS 服务器的好处是可以给 ECS 分配自定义后缀的域名,比如 web01.abc ,这样在内网定位服务器就很方便,不用去记一堆内网 IP,如果配置得当,还可以通过 host $ip 这个命令寻找 IP 对应的服务器。

一开始的时候我按照给经典网络 Centos ECS 配 DNS 服务器的方法来操作,直接修改 /etc/resolv.conf ,把里面的 nameserver 配置改成了自己内网中 DNS 服务器 IP,但是发现重启服务器之后会被重置成阿里云分配的 DNS 服务器。

经过研究之后发现,是 Ubuntu 的 resolvconf 会在每次启动的时候将 /etc/resolv.conf 覆盖。 /etc/resolv.conf 本质上是一个软链,会链接到 /run/resolvconf/resolv.conf ,而后者可以通过 resolvconf -u 命令重新生成,生成的内容来自于两个地方:

所有我一开始的思路是:

在删除了 /run/resolvconf/interface/eth0.dhclient 文件之后,执行 service networking restart resolvconf -u 之后,发现 /etc/resolv.conf 里的内容变成了我们期望的值。

但是后来发现同一个 VPC 的不同子网之间 ECS 无法互通,检查之后发现是路由表配置不正确,原因就是之前把 DHCP 给改成了静态 IP,看来 DHCP 是不能禁了,只好重新寻找解决方案。

想到阿里云 DNS 服务器的值是来源于 DHCP,于是就尝试搜索禁止从 DHCP 获得 DNS 服务器,找到了一个相关的 问答 ,有两种方法,一是将 /etc/dhcp/dhclient.conf 文件中 request 配置项的 domain-name, domain-name-servers, domain-search 参数移除,二是在 /etc/dhcp/dhclient.conf 文件中追加一行 supersede domain-name-servers $dns_ip; 。

为了保险起见,我把两个方法都用上,然后执行 rm -f /run/resolvconf/interface/eth0.dhclient service networking restart resolvconf -u ,再重启了一次服务器。检查 /etc/resolv.conf 符合预期,与其他子网 ECS 也能互通,搞定。

如何在阿里云主机搭建dns服务器

如何使用注册阿里云帐号,选择购买您需要的CDN套餐登录阿里云管理控制台进行CDN服务管理,如:添加域名或BUCKET进行加速,您还可以通过API来管理添加域名加速后,您将得到一个CDN的域名解析服务的域名在您的DNS服务商的配置服务中

自建动态DNS(DDNS)服务器

1.首先得有自己的一个域名,可以参考freenom免费顶级域名

2.使用Cloudxns接替管理

3.拥有自己VPS

1.安装Docker

可以参考

或者按照以下安装

使用脚本自动安装

curl -sSL | sh

执行这个命令后,脚本就会自动的将一切准备工作做好,并且把 Docker 安装在系统中。

阿里云的安装脚本

curl -sSL | sh

DaoCloud 的安装脚本

curl -sSL | sh

2.安装动态域名客户端

这里使用zwh8800的客户端

首先,拉取镜像:

docker pull zwh8800/cloudxns-ddns

然后,编写一个很简单的配置文件,文件名必须为 cloudxns-ddns.gcfg,把它放到某个文件夹中(如/home/zzz/cloudxns-ddns/config,下面以此为例子)

[CloudXNS]

APIKey=\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"

SecureKey=\"xxxxxxxxxxxxxx\"

[Domain]

Data=\"home.lengzzz.com\"

Data=\"haha.lengzzz.com\"

上面 APIKey 是你在 CloudXNS 申请的 key,填进去即可。下面是你想要动态的域名,可以写很多。

然后,启动镜像即可。

docker run --name cloudxns-ddns -d -v /home/zzz/cloudxns-ddns/log:/app/log -v /home/zzz/cloudxns-ddns/config:/app/config zwh8800/cloudxns-ddns

依葫芦画瓢就可以运行了

为防止后台停止运行加入restart参数

docker run --name cloudxns-ddns --restart=always -d -v /home/zzz/cloudxns-ddns/log:/app/log -v /home/zzz/cloudxns-ddns/config:/app/config zwh8800/cloudxns-ddns

未经允许不得转载:便宜VPS网 » 阿里云如何搭建私人dns(阿里云建个人网站)