我不明白(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 的默认安装中)。
既然您已经删除了软件包,那么现在可以删除的软件包bind9
是bind9
require 的软件包,而不是 require 的软件包bind9
。您可以删除它们,但我强烈建议保留它们python
(及其依赖项):有很多 Python 软件,因此您可能很快就会安装一些。
答案2
您可以使用命名为:
维护您的域(服务器)
用作 dns 查询(服务器和桌面)的缓存,因为 Linux 本身不缓存已解析的 dns 记录
如果没有命名,您的 Linux 将能够通过使用 /etc/resolv.conf 或 /etc/hosts 文件中的 dns 通过稳定解析器来解析 dns 查询。