我不明白(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安全吗?删除它会带来什么风险?
如果您有多台计算机,并且您希望您的计算机充当其他计算机的名称服务器(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 软件,因此您可能很快就会安装一些。
小智 1
您可以使用命名为:
维护您的域(服务器)
作为 dns 查询(服务器和桌面)的缓存,因为 Linux 本身不缓存已解析的 dns 记录
如果没有命名,您的 Linux 将能够通过使用 /etc/resolv.conf 或 /etc/hosts 文件中的 dns 通过稳定解析器来解析 dns 查询。