我有一个可以访问 DNS 管理的域,但我的注册商没有 API。
我有一个 VPS,可以托管自己的网站。
我有一个家庭光纤连接,有时会更改 IP,我的家庭 (Raspberry Pi) VPN 变得无法连接,因为我不知道新的公共 IP。
作为解决方法,我设置了 PushBullet(以及每天运行的脚本)以将新的公共 IP 发送到我的手机,这样我就可以更新我的 VPN 客户端并能够访问我的家庭 VPN。一切正常。
我对我的 IP 更改频率感到非常恼火,我必须不断编辑并重新导入我手机上的 VPN 配置文件。我不会让我在不重新导入的情况下更改 IP。不是世界末日,但不是重点。
因为我有自己的域和 VPS,所以我想知道如何利用我现有的资产来创建一个 DIY DNS 服务器或“转发器”,这样我就可以创建一个子域以在我的配置文件中使用,而且还可以编写一个我的 Raspberry Pi 上的脚本自动使用新 IP 更新我的 VPS,以便将任何请求(OpenVPN 流量)发送到我的 Rasperry Pi 服务器?
我可以加入 DynDNS 或 AN-Other 动态 DNS 提供商,但我认为我有合适的工具。
我不打算更改我的名称服务器或类似的东西……我的域和网站都可以正常工作……
这是 BIND 的工作吗?IPTables 是否足够,因为它可以定义为特定流量?
谢谢!
您必须使用 BIND 创建自己的 DNS 服务器来解决这个问题,但我认为最好将其留给动态 DNS 提供商,因为您的 IP 中的任何更改都可能会更快地在 DNS 中传播,而不是提到与 DIY DNS 服务器相关的安全问题可能会很复杂。我个人在运行 dd-wrt 固件的路由器后面的非光纤家庭互联网上运行服务器计算机。我使用 fardns.org,其中 dd-wrt 具有专门针对 dynDNS 的配置。它从来没有出现过问题,而且工作起来很有魅力。
使用 Docker、Go 和 Bind9 的动态 DNS
https://github.com/dprandzioch/docker-ddns允许您设置一个动态 DNS 服务器,允许您从世界任何地方连接到家里的设备。您所需要的只是一个便宜的 VPS、一个域和对其名称服务器的访问权限。