Linux 安装中什么时候需要绑定/命名?

Linux 安装中什么时候需要绑定/命名?

我不明白(Debian)Linux 系统何时需要命名/绑定。我知道它与域名解析有关,但我不明白它叫什么。

之间有什么关系吗命名/bind9/etc/resolv.conf

我在桌面上使用 Linux:我需要运行命名的

我在服务器上使用Linux,我需要运行命名的

如果我的服务器没有附加域名并且我只能通过 SSH 使用它的 IP,该怎么办:我可以安全地关闭/删除吗命名的

如果我有一台服务器,其 IP 附加了域名,并且仅在端口 443 / https 上运行 Web 服务器,我需要 name/bind9 吗?

拉索夫说bind正在监听端口53(我认为)和953,但我不知道它是在外部监听还是仅在本地监听:

~# lsof -i -n
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
named   2488 bind   20u  IPv4   8189      0t0  TCP 127.0.0.1:domain (LISTEN)
named   2488 bind   21u  IPv6   8191      0t0  TCP [::1]:domain (LISTEN)
named   2488 bind   22u  IPv4  10931      0t0  TCP 127.0.0.1:953 (LISTEN)
named   2488 bind   23u  IPv6  10932      0t0  TCP [::1]:953 (LISTEN)
named   2488 bind  512u  IPv4   8188      0t0  UDP 127.0.0.1:domain 
named   2488 bind  513u  IPv4   8188      0t0  UDP 127.0.0.1:domain 
named   2488 bind  514u  IPv4   8188      0t0  UDP 127.0.0.1:domain 
named   2488 bind  515u  IPv4   8188      0t0  UDP 127.0.0.1:domain 
named   2488 bind  516u  IPv6   8190      0t0  UDP [::1]:domain 
named   2488 bind  517u  IPv6   8190      0t0  UDP [::1]:domain 
named   2488 bind  518u  IPv6   8190      0t0  UDP [::1]:domain 
named   2488 bind  519u  IPv6   8190      0t0  UDP [::1]:domain 

如果我问它属于哪个包,它会告诉我:

~# apt-file search /usr/sbin/named
bind9: /usr/sbin/named

如果我尝试apt-get 删除bind9,它告诉我不再需要以下软件包:

... ~#  apt-get remove bind9
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  bind9utils libexpat1 libpython-stdlib libpython2.7-minimal libpython2.7-stdlib mime-support python python-minimal python2.7 python2.7-minimal

所以我到目前为止他们依赖于bind9/named。

删除named/bind9安全吗?删除它会有破坏什么的风险?

答案1

如果您有多台计算机并且希望您的计算机充当名称服务器(域名系统服务器)用于其他计算机,即这些计算机与您的计算机联系以将主机名(用户键入的内容和应用程序键入的内容)转换为 IP 地址(计算机实际上如何在幕后相互指定)。

即使您确实有多台计算机,如果您不知道 Bind 是什么,它也可能对您没有用处。 Bind 专为大型名称服务器而设计。对于典型的家庭或小型办公室环境,我建议域名解析。事实上,我不知道——您可能有一个路由器设备可以为您执行此操作(并且它可能正在运行带有 Dnsmasq 的 Linux!)。但如果您需要在计算机上运行名称服务器,请使用 Dnsmasq。看如何使用主机名从 LAN 访问计算机更多细节。

如果您的计算机不是 DNS 服务器,则不需要 Bind 或任何其他名称服务器软件。您不需要在普通客户端 PC、Web 服务器、SSH 服务器等上使用 Bind。并且您不应该运行它,因为它有安全漏洞的历史记录。

在任何计算机上都有用的是缓存名称服务器,它中继来自同一计算机上运行的程序的 DNS 请求,并缓存响应以减少 DNS 请求的平均延迟。 Dnsmasq 可以做到这一点(例如,出于此目的,Dnsmasq 被包含在 Ubuntu 的默认安装中)。

既然您已经删除了软件包,那么现在可以删除的软件包bind9bind9require 的软件包,而不是 require 的软件包bind9。您可以删除它们,但我强烈建议保留它们python(及其依赖项):有很多 Python 软件,因此您可能很快就会安装一些。

答案2

您可以使用命名为:

  1. 维护您的域(服务器)

  2. 用作 dns 查询(服务器和桌面)的缓存,因为 Linux 本身不缓存已解析的 dns 记录

如果没有命名,您的 Linux 将能够通过使用 /etc/resolv.conf 或 /etc/hosts 文件中的 dns 通过稳定解析器来解析 dns 查询。

相关内容