创建 DNS 时路由器更改默认网关

创建 DNS 时路由器更改默认网关

我正在使用 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 服务器。

  1. 运行以下命令安装bind9:

    sudo apt install bind9 bind9utils
    
  2. 通过编辑 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";
    };
    
  3. 替换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
    
  4. 运行sudo systemctl restart bind9重新启动bind9并应用新的配置:

  5. 在路由器的设置中,将主 DNS 服务器设置为您的 DNS 服务器的 IP 地址(此示例中为 192.168.1.11)。

相关内容