设备与网络接口 IP 地址

Zac*_*Zac 14 networking ip ethernet

我试图了解以下之间的关系:

  • 一个“联网”的 Linux 设备;和
  • 位于该设备上的物理 NIC 卡(使其能够“联网”);和
  • 各种以太网/ Wi-Fi网络接口(eth0eth1wlan0等); 和
  • IP 地址和端口

从我收集到的信息来看,似乎每个接口(同样eth0eth1wlan0, 等)都分配了自己的唯一 IP。意思是我的机器eth0上的 IP 与wlan1.

但这与我的理解相矛盾,即网络设备作为一个整体接收整个设备的单个 IP。

那么它是哪个?设备是否获得了所有接口使用的 1 个 IP,还是每个接口实际上都获得了自己的 IP?如果每个都有自己的,那么是什么决定了该接口上有多少端口可用?

gar*_*Red 12

如果 IP 流量要流过,每个网络接口都将拥有自己的 IP 地址。

以大多数家庭和/或小型办公室拥有的路由器/调制解调器设备为例。

路由器的内侧将连接到您的计算机/笔记本电脑 - 无论是 WiFi 还是以太网。这些通常位于191.168.0.0 - 192.168.255.254或 有时的专用地址范围内10.0.0.0 - 10.255.255.254。您的台式机/笔记本电脑/平板电脑将连接到设备的这一侧,并且其自身和 IP 地址在同一范围内(但与设备不同)。

在路由器/调制解调器的外部,您将拥有一个完全独立的 IP 地址,通常由服务提供商自动分配给您的设备。这是一个可路由的地址,例如98.23.45.62它在连接时对于您的调制解调器/路由器是全局唯一的。

像这样的小型调制解调器/路由器可能会令人困惑,因为它们似乎只有一个地址 - 用户手册中引用的地址,用于通过网络浏览器(例如http://192.168.0.1)管理设备- 而它有许多以太网端口。这是因为该设备本质上在路由器上标记了一个网络交换机,以便将路由器的单个以太网端口拆分为多个端口并连接 WiFi 网桥。

同时,路由器/调制解调器的外部将由服务提供商自动配置其 IP 地址,因此您可能永远不会看到它。(在 Google 中输入我的 IP 地址以了解它是什么)。

图表可能会有所帮助:

                                                                 +--------+
                                                                 | laptop |
                                                                 +--------+
+-----+                +-------------+              +--------+       | 10.0.0.2
|     |98.23.45.61     |             |10.0.0.1      |        |-------+
| ISP |----------------+ modem/router|--------------| switch |
|     |     98.23.45.62|             |              |        |-------+
+-----+                +-------------+              +--------+       | 10.0.0.3
                                                                  +---------+
                                                                  | desktop |
                                                                  +---------+
Run Code Online (Sandbox Code Playgroud)

如您所见,调制解调器/路由器有两个 IP 地址 - 每个网络接口一个。台式机和笔记本电脑有一个 - 在连接到路由器的网络设备上。大多数调制解调器/路由器与大多数笔记本电脑一样具有 WiFi 和以太网连接。如果您要将以太网电缆连接到您的笔记本电脑并启用和配置您的笔记本电脑的 WiFi,那么它也会有两个 IP 地址 - 每个设备一个 - 都在10.0.0.x地址范围内。那只会给你带来问题 - 不要这样做。

端口只是附加到目标 IP 地址的数字。它类似于办公室总机中的电话分机,并决定接收您的流量的服务。它是一个 16 位数字,最大可能为 65535。不过,只使用了其中很小的一个子集。有些是预先分配的众所周知的端口,例如端口 80 上的 http 流量和端口 22 上的安全外壳 (ssh)。这些端口仅在设备制造商安装的相关服务正在设备上运行时才打开并侦听流量.

在上面的调制解调器路由器的情况下,端口 80 将在内部侦听,因为网络服务器正在运行,因此您可以使用网络浏览器管理设备。某些路由器还具有侦听端口 22 的 ssh 服务,以便您可以使用 ssh 客户端管理设备。他们可能会打开端口 53,因为路由器上也会运行 DNS 服务器。

除非您在该设备上安装了服务,否则您的笔记本电脑可能(希望)没有端口侦听。在上图中,您可以在台式 PC 上安装 ssh 服务器服务器,此时(并且防火墙允许)您的台式机将打开端口 22。然后,您的笔记本电脑可以通过 ssh 连接到桌面的 22 端口并登录。

因此,设备上的端口数取决于该设备上运行的服务数量、该服务的配置以及防火墙的配置。

如果您想让 ssh 服务器在上面的示例中运行在您的桌面上,可以从 Internet 上某处的远程用户访问,您会遇到一个小问题,因为尽管您有许多内部地址,但您只有一个外部地址 ( 98.23.45.62)。

要解决此问题,您必须在路由器上配置一个称为端口转发的工具。这会指示路由器接收到达特定端口的所有流量并将其转发到特定的内部主机和端口。

在这种情况下,所有到达端口 22 的流量都被转发到10.0.0.2端口 22。正如您可能已经收集到的,这意味着您只能将端口 22 转发到一个内部服务器。

如果您希望能够通过 ssh 连接到台式机和笔记本电脑,您必须将路由器配置为侦听备用外部端口(例如 2022)并将其转发到您的笔记本电脑的10.0.0.2端口 22。远程用户将必须ssh 98.23.45.62访问桌面和ssh -p 2022 98.23.45.62访问您的笔记本电脑。

当然,除非您特别请求/购买静态 IP 地址,否则它并不总是像外部 IP 地址可以更改那样简单。


net*_*onk 0

设备是一个物理项目,由系统内的标签表示。这样系统就可以对物理设备进行设置/查询/使用等不同的操作。该标签由管理内核系统物理硬件的驱动程序创建。

因此,您可以拥有多个网络设备,每个设备都用一个 uniq 标签进行标识(我们不要让绑定的讨论变得太复杂)。

你的问题是关于ip地址的。

有几种不同的 IP 地址类别。您拥有可以从互联网上的任何地方访问的公共地址和通常仅限于私人区域(例如家庭/企业网络)的私人地址。

通常家庭网络或办公室网络有一些公共 IP 地址和大量私有地址(所有家庭成员的笔记本电脑/手机/平板电脑/冰箱/烤面包机/之间)。

你可以为物理硬件分配尽可能多的 IP 地址,但如果你不想面对无法解决的问题,你必须做得很好并尊重底层的 tcp/ip 逻辑:)

例如,在本地网络 (lan) 中,不能有两个具有相同 IP 地址的硬件。这主要是由于以太网协议基于MAC地址(硬件的唯一标识符),并且本地网络上的MAC地址和IP地址之间存在一对一的关系。

您还可以拥有一台机器,其中有两个硬件,一个具有提供商提供的公共地址,另一个位于您的本地网络内。该机器通常用作本地网络中所有机器通往外部世界的网关。