20分钟搭建一个自用的DDNS服务

08年的时候,在学校,花了点时间做了个ddns服务,不知道现在是否还活着,ddns.bitunion.org。
当时的方案,powerdns + mysql + php ui,php ui是自己做的,简单地做了个校内邮箱的校验,使用了个简单的token机制来更新记录。

这回,有个需求是需要做一个ttl < 10的ddns服务,之前所有域名都在dns.he.net上,最小ttl限制到了300,这样以来,更新的延迟特定场景下不够用。 自用DDNS的需求里,域名不会被广泛知晓并使用,否则NS服务器的压力会是个问题。

方案还是一样,powerdns + mysql,写了个最简单的http接口页面给ddclient用。

服务器是 ubuntu 17.04,公网IP 1.2.3.4.
目标域名 xxx.ddns.sskaje.me

安装软件

按下列命令安装必备软件,全默认

配置powerdns

考虑到现在的linux服务器,本地53端口经常被占用,所以需要修改 /etc/powerdns/pdns.conf,指定监听的IP

配置zone和records

在sskaje.me的域名服务器上,添加NS记录 ddns.sskaje.me,指向IP 1.2.3.4。考虑到未来可能改IP,可以加一个A记录 ddns1.sskaje.me,指向 1.2.3.4,这样ddns.sskaje.me的NS设置成 ddns1.sskaje.me。

创建zone

更正SOA记录

添加 xxx.ddns.sskaje.me,设置ttl=10

简单的更新脚本

DynDNS的更新接口参数类似:

认证使用 http basic auth 完成的。

所以一个简单的服务端脚本

20分钟搭建一个自用的DDNS服务 by @sskaje: https://sskaje.me/2017/07/set-up-simple-ddns-server-in-20-minutes/

抛开路由为局域网内机器启用IPv6

支持IPv6这事情不一定非得要路由上配,局域网内只要有Linux机器能用IPv6就行。
这种事情做之前,对于完全不会的人和会的人都很简单,但对我这种稍微懂一点的,还没做可能就先想多了。

测试环境

公司
路由:TP-Link某老旧企业路由,不支持IPv6
Linux:Debian Jessie, 服务主机,兼顾dns,dhcp等等服务,LAN接口eth0
网络:北京联通家庭光纤 PPPoE
IPv6 服务:Tunnel Broker
其他软件:dnsmasq, dhcpd

Continue reading “抛开路由为局域网内机器启用IPv6” »

抛开路由为局域网内机器启用IPv6 by @sskaje: https://sskaje.me/2016/01/linux-ipv6-tunnel-and-advertise/

Incoming search terms:

EdgeRouter同时更新TunnelBroker和HE.NET DDNS

之前文章里TunnelBroker for EdgeRouter Lite提及TunnelBroker和He.net DDNS同时更新的解决方案,后来证实不是那么稳定。

其实TunnelBroker.net里提供了解决方案。
在TunnelBroker.net的Tunnel Details里,选择Advanced,最下边的一组配置是HE Dynamic DNS Settings
Hostname填入HE.NET的DDNS域名,API Key填DDNS域名的更新key。

然后修改EdgeRouter的配置:

EdgeRouter同时更新TunnelBroker和HE.NET DDNS by @sskaje: https://sskaje.me/2015/06/edgerouter%e5%90%8c%e6%97%b6%e6%9b%b4%e6%96%b0tunnelbroker%e5%92%8che-net-ddns/

Incoming search terms:

HE.net Dynamic DNS on Ubiquiti Router

HE.net provides free DDNS service, compatible with DynDNS’s update format.
Link: Dynamic DNS on HE.net.

I’m using Ubiquiti EdgeRouter Lite, Dynamic DNS support can be found from web GUI console, but the server address is not configurable.

Here is a copy of my config:

You can also configure from CLI.

1 Pick the right interface
2 Set server
3 DO NOT SAVE OR UPDATE FROM WEB GUI CONSOLE!

HE.net Dynamic DNS on Ubiquiti Router by @sskaje: https://sskaje.me/2015/03/he-net-ddns-on-ubnt-router/

Incoming search terms:

Dynamic DNS on HE.net

I was using ZoneEdit and set my ddns there like:

But it’s worse than it was.

The HE.net, hurricane electronic, was known by its IPv6 tunnel, also providing free dynamic dns service, no monthly reactivation required like no-ip.

https://dns.he.net/
Register and Sign in, add a domain and add an A record, check the Enable entry for dynamic dns, save and then click the renew icon, which means Generate a DDNS key, generate the key or enter your own key twice, save.

Then curl like:

or

Dynamic DNS on HE.net by @sskaje: https://sskaje.me/2014/04/dynamic-dns-he-net/