什么是回送和本地主机?
它们为什么存在,它们有什么用途,以及我该如何使用它们?
答案1
这回送设备是一种特殊的,虚拟的 网络接口您的计算机使用它来与自身进行通信。它主要用于诊断和故障排除,以及连接到本地计算机上运行的服务器。
回送的目的
当网络接口断开连接时(例如,当以太网端口已拔出或无线上网已关闭或未与切入点--该接口上无法进行任何通信,甚至无法与您的计算机本身进行通信。环回接口并不代表任何实际硬件,但它的存在使得在您的计算机上运行的应用程序始终能够连接到同一台机器上的服务器。
这对于故障排除很重要(可以将其比作照镜子)。环回设备有时被解释为纯粹的诊断工具。但是当服务器提供您需要的资源时,它也很有用正在您自己的机器上运行。
例如,如果您运行 Web 服务器,则您拥有所有 Web 文档,并且可以逐个文件地检查它们。您可能还可以在浏览器中加载这些文件,但对于服务器端活动内容,它不会像有人正常访问时那样工作。
因此,如果您想体验与其他人相同的网站,最好的方法通常是连接到您自己的服务器。环回接口可以实现这一点。
环回地址
为了IPv4,环回接口被分配所有的IP地址在里面127.0.0.0/8
地址块。也就是说,127.0.0.1
通过127.255.255.254
全部代表您的计算机。但对于大多数目的,只需要使用一个 IP 地址,即127.0.0.1
。此 IP 具有主机名的localhost
映射到它。
bob
因此,要通过以下方式登录SSH到您自己的机器上运行的 SSH 服务器,您可以使用:
ssh bob@localhost
与其他网络适配器一样,环回设备显示在ifconfig
。 它的名字是lo
。
ek@Del:~$ ifconfig lo
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:50121 errors:0 dropped:0 overruns:0 frame:0
TX packets:50121 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:4381349 (4.3 MB) TX bytes:4381349 (4.3 MB)
示例:CUPS
在 Ubuntu 上,一种常见的生产(即不仅仅是诊断)用途localhost
是执行高级打印机配置。在 Web 浏览器中,转到:
http://localhost:631
杯子在端口 631 上运行一个 Web 服务器,它可以用于配置打印,无论您运行什么 GUI(或者即使您根本没有运行 GUI)。
如果您尝试连接到http://127.0.0.1:631
,此方法同样有效。但是,如果您尝试连接到http://127.0.0.2
,则不会成功。所有127.*.*.*
地址在环回接口上都标识您的计算机,但服务器程序可以决定仅绑定到特定 IP 地址。
与 Windows 的显著区别
如果您有 Windows 背景,您可能会认为loopback
本身是 的同义词localhost
(因此能够 ping loopback
、连接到 上的服务器loopback
等等)。该行为是 Windows 所特有的。
- 但是你能 添加任何名称包括
loopback
你的/etc/hosts
文件,以127.0.0.1
作为其地址,其作用将类似于localhost
。
“Loopback”的其他含义
一般概念回送是一种机制,通过该机制消息或信号最终(或循环)回到其起始点。
还有其他几种方法回送在 Ubuntu 中的使用不应与网络中的环回设备混淆。
环形支架
要在 Ubuntu 中挂载磁盘映像,您可以运行:
sudo mount -o loop image.iso /media/label
这通常被称为循环设备(而不是回送设备),但术语回送文件接口偶尔会用到。
这与网络中的环回设备无关。
声音
Pulseaudio 和其他音响系统提供了一种将线路输入“连接”到线路输出的机制,这样音频输入就会回响到扬声器/耳机。Pulseaudio 的环回模块促进了这一点。
在这里,它是正确使用术语回送但是像循环挂载一样,这也与网络中的环回设备无关。 (并且也与循环挂载无关。)