📜  在客户端-服务器计算机之间设置本地DNS服务器

📅  最后修改于: 2021-06-28 08:19:18             🧑  作者: Mango

在本文中,您将看到DNS服务器的概述以及如何在客户端计算机和服务器计算机之间设置本地DNS服务器。在这里,我们将使用Wireshark。让我们一一讨论。

介绍 :
DNS服务器是包含公共IP地址及其关联的主机名的数据库的计算机服务器,在大多数情况下,DNS服务器用于根据请求将这些名称解析或转换为IP地址。 DNS服务器运行特殊软件,并使用特殊协议相互通信。

要设置DNS服务器,我们需要两个虚拟机,在这里,我们将在笔记本电脑上运行的两个Ubuntu虚拟机的帮助下实施,我将服务器虚拟机命名为Ubuntu,将客户端虚拟机命名为Ubuntu客户端。为了了解DNS服务器的工作方式,我们使用Wireshark数据包捕获来查看DNS服务器如何处理请求。

步骤1:在服务器虚拟机上安装Wireshark:

  • 在此,您可以使用以下命令通过此命令安装Wireshark。安装Wireshark之后,我们将开始设置DNS服务器。
sudo apt-get install wireshark

步骤2:配置客户端虚拟机:

  • 我们需要将自定义DNS服务器的IP地址添加到客户端计算机。这是通过将服务器的IP地址添加到文件/etc/resolv.conf中来完成的,该文件存储DNS服务器解析的顺序。这样可以确保使用自定义DNS服务器来解析名称。要查找服务器虚拟机的IP地址,请首先转到服务器虚拟机,然后在终端中此命令
ifconfig
  • 在我的情况下,Inet之后的值为IP地址,我的服务器计算机的IP地址为10.0.2.15。

  • 现在,转到客户端虚拟机,然后在终端中运行此命令并输入用户密码以打开该文件。
sudo gedit /etc/resolv.conf
  • 您会发现与此类似的屏幕,现在将这一行添加到文件的第一行并保存。
nameserver 10.0.2.15

笔记 –
在我的情况下,将服务器IP地址更改为10.0.2.15,服务器IP地址为10.0.2.15。

步骤3:配置服务器虚拟机:

  • 要设置DNS服务器,我们需要一个名为bind9的软件,bind9服务器用作服务器虚拟机上的DNS服务器。可以使用以下命令进行安装。
sudo apt-get install bind9
  • 安装bind9之后,让我们使用此命令检查bind9服务器的状态。
sudo service bind9 status

  • 如果看到活动(运行)状态,那么我们很好。如果您看到其他类似故障,停止或不活动的信息,请键入此命令并重新启动服务器虚拟机,这将解决此问题。
sudo service bind9 restart
  • 现在,我们刚刚完成了本地DNS服务器的设置,现在我们来看看它是如何工作的。

步骤4:使用Wireshark执行数据包捕获:

  • 转到服务器虚拟机并打开终端,然后键入此命令以打开Wireshark。

笔记 –
使用sudo命令以管理员权限打开Wireshark,如下所示。

sudo wireshark
  • Wireshark打开后,双击任意项或单击任意项,然后单击鼠标右键,然后单击“开始捕获”。

  • 现在,快速转到客户端虚拟机并打开终端,然后对任何网站执行ping操作,例如ping www.flipkart.com
ping www.flipkart.com
  • 15或20秒后,按 + C停止对www.flipkart.com进行ping操作。

  • 现在转到服务器虚拟机,并通过按面板左上方的红色按钮停止捕获Wireshark,这将停止捕获Wireshark。

  • 现在,在“应用显示过滤器”上键入DNS,然后按Enter。

  • 现在,观察图7中捕获数据包的第一帧,源是客户端虚拟机的IP地址,目的地是服务器的IP地址,这意味着客户端正在向服务器虚拟机发送请求以获取结果网页www.flipkart.com
  • 现在,观察帧号191,源是服务器虚拟机的IP地址,目的地是客户端虚拟机的IP地址,这意味着服务器虚拟机将响应发送到客户端虚拟机。