如何利用VPS建立DDNS服务? (vps建 ddns)

随着互联网的普及,越来越多的用户需要拥有一个稳定的DNS服务,以便在访问互联网时能够快速地定位到所需资源。然而,由于IP地址的动态变化,一些用户需要使用动态DNS服务,从而使得自己的网络资源始终保持可访问状态。在本篇文章中,我们将介绍如何利用VPS建立DDNS服务,来满足这一需求。

一、什么是DDNS?

DDNS,即动态域名系统,它是一种可以随时改变域名与IP地址关联的域名解析服务。传统的DNS服务关联的是固定的IP地址,因此当用户的IP地址发生变化时,会出现域名无法解析的情况。而对于动态IP地址的用户来说,DDNS服务器可以及时更新同步IP地址信息,让用户通过一个永不变化的域名,随时随地访问到自己的网络资源。

二、如何建立DDNS服务器?

在这里,我们将介绍一个基于Ubuntu系统的DDNS服务器建立方法。

1. 安ind9

bind9是一款非常流行的域名解析服务软件,我们可以通过以下命令来安装它:

sudo apt-get update

sudo apt-get install bind9

2. 编辑配置文件

bind9安装完成后,我们需要编辑配置文件,将其配置为DDNS服务器。具体步骤如下:

2.1 确认当前的IP地址。我们可以通过以下命令查看:

ip addr show

这个命令会输出当前计算机的各个网口的IP地址信息,我们需要找到当前使用的网口上的IP地址(通常是eth0),标记一下。

2.2 给DNS服务器起个名字。为了让别人能够找到我们的DNS服务器,我们需要给它命名。打开 /etc/bind/named.conf.local 文件,添加如下代码:

zone “example.com” {

type master;

file “/etc/bind/db.example.com”;

};

这里的example.com是一个示例域名,大家可以根据需要替换为自己的域名。还需要创建一个相应的域名文件db.example.com,内容如下:

;

; BIND data file for local loopback interface

;

$TTL 604800

@ IN SOA example.com. root.example.com. (

2 ; Serial

604800 ; Refresh

86400 ; Retry

2419200 ; Expire

604800 ) ; Negative Cache TTL

;

@ IN NS example.com.

@ IN A IP地址

替换其中的 IP 地址为刚才找到的网口上的 IP 地址。

2.3 开启DDNS服务。打开 /etc/bind/named.conf.options 文件,添加如下代码:

allow-update { key “rndc-key”; };

update-policy {

grant example.com. self example.com. A;

};

这里允许我们使用一个名为 rndc-key 的密钥来更新DNS记录。我们需要创建一个密钥文件 named.rfc1912.zones.key,内容如下:

key “rndc-key” {

algorithm hmac-md5;

secret “这里填写一个定长的随机串,可以使用 dd if=/dev/urandom bs=1 count=16 | xxd -ps 来生成”;

};

注意修改密钥文件的权限,避免被别人读取。

3. 测试DDNS服务

完成上述步骤后,我们需要测试一下自己的DDNS服务器是否工作正常。我们需要在另一台设备上安装 ddclient 这个软件,它可以提供一个 DDNS 客户端功能,并自动向我们的DDNS服务器做出更新。具体命令如下:

sudo apt-get update

sudo apt-get install ddclient

安装完成后,我们需要修改 ddclient 的配置文件 /etc/ddclient.conf,将其中的内容修改为:

daemon=3600 # 每小时刷新一次

use=web, web=whatiyip.com # 获取公网IP地址

protocol=namecheap # 发布给Namecheap DDNS服务器

server=dynamicdns.park-your-domn.com

login=example.com

password=’abcdefghijklmnopqrstuvwxyz123456′ # 填写自己的域名密码

@ # 填写自己的二级域名

*.example.com

注意将 example.com 和 password 修改为自己的值。修改完成后,重启 ddclient:

sudo service ddclient restart

如果一切正常,我们就可以使用自己的域名访问到自己的网络资源了。

三、

相关问题拓展阅读:

映射公网花生壳、PubYun、NoIP、DynDNS、Ngrok、Tunnel、localtunnel、pagekite

这篇文章花了好几天,系统地梳理出了映射公网的几种方式。虽然是针对微信开发的外网服务器来寻找解决方案,但这个知识梳

理可能会在其他地方也受益。平常我也有用TeamViewer,在搜集资料的过程中也知道了其大致工作原理。还有一些免费好用的反向代理软件,可能会在后

头派上用场。

一、映射公网的两种方式介绍

1 动态域名解析+端口映射(公网环境)

动态域名解析,俗称DDNS。目前提供这种服务的厂商还挺多,我目前知道有几家:

Oray花生壳

PubYun公云

No-IP

DynDNS

如果你对一个公网IP有权限,那就可以采用这种方式。你的路由器的WAN口就是宽带,那这种方式就适用。DDNS的作用就是将WAN口分配到IP与域名绑定在一起,访问这个域名,相当于就访问到了你的WAN口。于是你只要在路由器上做一个端口映射即可。

此种方式的局限性可能就是大部分运营商都屏蔽了80等常用端口,所以做微信开樱春发要用到80端口的话这种方式就不大适合。

2 反向代理(内网环境)

如果你在一家公司上班,公司内部可能分了好几级的路由,就比如我,那之一种方式就走不通。写零java基础搞定微信Server_3:搭建微信

Server本地开发环境那晚弄到半夜就是这个原因。哦,我当然不是在加班。我在家里,房间用了一个二级路由,那晚真真是搞死宝宝了。

下面这两张图可以快速了解反向代理。

我们是采用本机与反向代理server组建网络(相当于一个虚拟局域网),访问芹颂昌反向代理server的数据都被转发到本机。

从 有简单一点的将内网映射到外网的工具吗? 这个帖子中收获良多。作者 沙渺 告诉我们:

实际上ngrok就是一种仅仅针对http单一用途的代理服务。ngrok的原理很可能并不是真正的内网穿透,而是真的老老实实的充当反向代理,承担所有实际发生的流量。

这方面的替代服务有localtunnel.me和pagekite等。嫌扒

内网穿透的应用中,通讯双方必然首先对一个公网服务器主动发起连接。。。

各种相关的软件都是如此,例如TeamViewer、Oray向日葵乃至QQ远程协助等。就说这个ngrok,其实也是需要通讯双方连接ngrok中心服务器,甚至中心服务器的某些高级功能还提供付费计划对吧。

于是乎,我们映射公网的工具,除了ngrok之外,又多了 localtunnel.me 和 pagekite 。

二、反向代理的实现

1 自己创建反向代理服务

用这种方式,成本较高,需要三样东西:

服务器

代理服务端的监听转发程序

目的服务端(同时也是面向代理服务器的客户端)的主机转发程序

如果你有服务器,那自己写个转发工具应该是可以实现的。比较省力的方式是参考ngrok的源码。ngrok是应该浓墨重彩写一番,开源,自由,github上开源了V1.0版本

一个在自己VPS搭建ngrok的实例,

很多人和我一样,现阶段就想做一个微信开发,那自己花大精力去实现一个反向代理显然不值得。这时候就得从已有的软件中进行选择。运行稳定,成了最主要考虑的因素。

2 厂商服务

Ngrok比较出名,提供免费服务,但可惜容易被墙。那解决方式就是墙内也搞Ngrok。由于我所知有限,仅仅把目前知道的几家列出来。(这里我可能先入为主了,因为我把这些厂商粗暴地分为了Ngrok和非Ngrok,忽略了其他厂商们所做出的努力。)

Ngrok

免费,但会被墙。

Tunnel

昨晚测试,访问不了。

localtunnel

可用

pagekite

可用

新花生壳

开通内网映射,映射主机即可。目前免费版也要收取8块钱的费用就是了。

NAT123

功能同花生壳,但似乎是免费的。

我贪图省事,直接花钱认证了花生壳,后面四种就没再处理了。看到别人用localtunnel和pagekite有成功的,所以我就不搬了。

vps建 ddns的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于vps建 ddns,如何利用VPS建立DDNS服务?,映射公网花生壳、PubYun、NoIP、DynDNS、Ngrok、Tunnel、localtunnel、pagekite的信息别忘了在本站进行查找喔。


数据运维技术 » 如何利用VPS建立DDNS服务? (vps建 ddns)