我正在使用 Ubuntu 20.04,我的路由器是 TP-Link AXE-5400。就这一点而言,我是 Ubuntu 和 Linux 的新手,但我设法通过 Proxmox 创建了一些 VM。云服务器、游戏服务器、Plex 等等。我厌倦了输入所有 IP 地址,想创建一个作为 DNS 运行的 VM。当一切完成后,我的路由器突然发疯并更改了网关,这使我失去了与 Proxmox 和所有 VM 的联系。经过大量工作尝试改回网关,但它不让我改回,直到我阻止路由器中与该特定 VM 的连接,然后我在 Proxmox 上更新了 IP,最后又获得了连接。
由于我花了几个小时才完成这项工作,所以我放弃了,并清除了虚拟机。显然,我明天会再试一次。我的目标是我的路由器将使用我的 DNS 作为主 DNS,但我如何避免这种情况再次发生?即使我的域名已解析并且服务器表示一切正常,但我不明白它作为 DNS 是如何工作的,因为我没有在任何配置文件中输入像 Google 或 Cloudflare 这样的真正 DNS。
有人对第二轮有什么建议吗?我想补充一下,我从路由器上删除了 DNS 服务器,并换上了新的,这让它变得更加疯狂。我尝试使用 bind9 制作 DNS。
答案1
作为临时修复,尝试使用 IP 为 1.1.1.1 的 Cloudfare 使 DNS 服务器正常工作。在 Ubuntu 中,只需在“设置”应用中输入 1.1.1.1 ->网络->细节选项卡 -> DNS 将 Cloudfare 设置为默认 DNS。这将允许您在尝试设置自己的 DNS 服务器时隔离路由器失灵的问题。
一旦 Cloudflare 的 DNS 在 Ubuntu 中运行,您就可以使用 bind9 设置自己的 DNS 服务器。
运行以下命令安装bind9:
sudo apt install bind9 bind9utils
通过编辑 bind9 的主配置文件(位于 )来配置 bind9
/etc/bind/named.conf.local
。进行以下更改:listen-on-port 53 { any; }; allow-query { any; }; zone "example.com" IN { type master; file "/etc/bind/db.example.com"; };
替换
example.com
为你的实际域名。创建一个名为的区域文件/etc/bind/db.example.com
并添加以下内容:$TTL 3600 example.com IN SOA ns1.example.com. root.example.com. ( 2023120500 ; Serial 3600 ; Refresh 1800 ; Retry 604800 ; Expire 86400 ; Minimum ) NS ns1.example.com. NS ns2.example.com. ; A record for your server example.com IN A 192.168.1.11
运行
sudo systemctl restart bind9
重新启动bind9并应用新的配置:在路由器的设置中,将主 DNS 服务器设置为您的 DNS 服务器的 IP 地址(此示例中为 192.168.1.11)。