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

Ced*_*tin 6 bind

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

named/bind9/etc/resolv.conf之间有什么关系吗?

我在桌面上使用Linux:我需要运行named吗?

我在服务器上使用Linux,我需要运行named吗?

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

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

lsof说 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 
Run Code Online (Sandbox Code Playgroud)

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

~# apt-file search /usr/sbin/named
bind9: /usr/sbin/named
Run Code Online (Sandbox Code Playgroud)

如果我尝试apt-get remove 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
Run Code Online (Sandbox Code Playgroud)

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

删除named/bind9安全吗?删除它会带来什么风险?

Gil*_*il' 5

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

\n\n

即使您确实有多台计算机,如果您不知道 Bind 是什么,它也可能对您没有用处。Bind 专为大型名称服务器而设计。对于典型的家庭或小型办公室环境,我推荐Dnsmasq。实际上,我不\xe2\x80\x94\xc2\xa0你可能有一个路由器设备可以为你做到这一点(并且它可能正在运行带有Dnsmasq的Linux!)。但如果您需要在计算机上运行名称服务器,请使用 Dnsmasq。有关更多详细信息,请参阅如何使用主机名从 LAN 访问计算机。

\n\n

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

\n\n

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

\n\n

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

\n


小智 1

您可以使用命名为:

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

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

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