家庭用户一般都采用拨号连接到Internet,没有固定的外网地址,如果想从外部提供服务,则必须使用动态DNS等技术。在这种情况下,具有当前IP地址的A记录存储在域的DNS服务器中。

提供商提供动态DNS有些支持较少的功能,有些支持的功能更多, 例如,Strato只允许您通过更新URL输入A记录。这对于搭设Web服务器等来说已经足够了,但是对DNS身份验证或邮件服务器等更复杂的应用(例如Let's Encrypt通配符证书)则无法满足。

GoDaddy提供了一个非常丰富的API,它不仅可以管理DNS记录,也支持GoDaddy作为动态DNS的提供商和pfSense中的Let's Encrypt。

 

设置GoDaddy API访问数据

要使用GoDaddy API,必须在https://developer.godaddy.com/上创建API密钥。

单击“创建新API密钥”。在此处输入一个名称,该名称可以说明该API密钥的预期用途。应用环境可以指定为生产用途。

然后显示Key和Secret如下图所示。

设置pfSense动态DNS服务

pfSense下的设置非常简单。在Services > Dynamic DNS下,使用“+添加”按钮创建一个新帐户并填写所需数据。

当使用主动态DNS域时,使用下图中的@。否则在这里填写子域(例如www或邮件)。
Username是先前创建的API访问的Key,Secret在password下输入。
为了使用API,必须指定TTL。默认的GoDaddy值为600。

单击“Save & Force Update(保存并强制更新)”后,你当前连接的IP地址将被输入到GoDaddy的DNS服务器中。
pfSense默认使用http://checkip.dyndns.org确定IP地址。

在“动态DNS客户端”概述中,域旁边的当前IP地址现在应该以绿色显示在缓存IP下,如下图所示。

原文地址