首页 > 运维 > linux运维 > 正文

Linux:显示和管理IP址设置

雪夜
发布: 2025-07-19 09:36:40
原创
504人浏览过

linux 系统管理员的主要职责之一是确保网络连接。阅读本文以了解系统在网络上的身份以及如何配置它以参与网络数据交换。

现代计算机及其用户几乎依赖网络连接来完成所有操作,包括基于云的应用程序、软件访问、数据访问和通信。似乎计算的各个方面都依赖于网络。Linux 工作站和服务器在这方面的必要性与 Windows 或 macOS 系统没有区别

Linux 系统管理员的主要职责之一是确保网络连接。这需要了解系统在网络上的身份并对其进行配置以参与网络数据交换。

Linux 系统在网络上具有三个身份。各种网络设备以不同的方式使用每个身份。

以下是三个身份及其用途的摘要:

主机名: 一个对用户和管理员友好的名称,为他们提供了一种简单的方法来识别节点。 IP 地址: 路由器和网络配置工具用来识别系统的逻辑地址。 MAC 地址: 网络接口卡 (NIC) 上的物理地址,用于唯一地识别它与交换机和其他第 2 层设备。

例如,计算机的三个身份可能如下所示:

主机名:computer27IP 地址:192.168.2.200MAC 地址:00:1c:42:73:8d:f2

这三个网络身份的使用和功能是本文的假设知识。如果您需要复习,请务必查看基本网络信息。您可能想构建一个实验室环境来练习本文中介绍的命令。如果您需要复习基本的 Linux 命令语法,请参考这篇文章。

避免以 root(管理员)用户身份登录 Linux 系统。大多数系统强制您以普通用户身份登录,然后使用 sudo(超级用户执行)命令和您的密码来提升您的权限。本教程中的一些命令可能需要在您的 Linux 发行版上使用 sudo 命令。您还必须使用 sudo 以提升的权限打开文本编辑器来管理网络配置文件。

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">$ sudo vim /etc/resolv.conf</code>
登录后复制

本文通过提供命令示例并提供轻松维护网络设置的方法,来检查三个网络身份的使用和配置。

显示系统身份

使用 hostname 命令显示系统的对用户友好的名称。这几乎肯定是用戶识别其计算机的唯一方式。主机名可能是称为完全限定域名 (FQDN) 的更大命名结构的一部分,指示系统在分层命名结构中的位置。

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">$ hostname</code>
登录后复制
Linux:显示和管理IP址设置

图 1:hostname 命令显示系统名称。

单个命令还可以显示 IP 和 MAC 地址,尽管输出不太直观。使用 ip addr 命令显示系统中每个网络接口的信息。请记住,每个接口都有其自己的唯一 IP 和 MAC 地址。服务器通常包含两个或多个 NIC,以实现冗余或连接到多个段。

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">$ sudo ip addr</code>
登录后复制
Linux:显示和管理IP址设置

图 2:使用 ip addr 命令显示接口信息,包括 MAC 地址和 IP 地址。

较旧的 Linux 系统使用 ifconfig 命令来实现此目的。

这些值是如何选择和分配的?管理员在安装操作系统时配置主机名。IP 地址可以由管理员手动配置,也可以由动态主机配置协议 (DHCP) 服务器动态分配。MAC 地址由其制造商硬编码。其中,您可能只更改系统的 hostname 和 IP 地址,这可能很少发生。

即使是简单的网络也会很快变得难以管理,因此许多 IT 部门会记录这些配置,以便在故障排除期间轻松参考。

管理系统主机名

系统主机名通常在安装 Linux 时设置。较大的组织通常使用特定的命名约定,以指示系统在网络中的角色或用途。较小的公司可能使用简单的名称。无论如何,系统名称在环境中必须是唯一的。

通过键入 hostname 命令显示当前主机名。

通过键入以下命令将系统的 hostname 临时更改为 comp99

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">$ sudo hostname comp99.mycompany</code>
登录后复制

但是,此名称分配将在系统下次重启时丢失。

如果您需要在安装操作系统后永久更改主机名,请使用 hostnamectl 命令。假设您需要将新主机名设置为 comp42mycompany 域中。使用以下命令:

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">$ sudo hostnamectl set-hostname comp42.mycompany</code>
登录后复制
Linux:显示和管理IP址设置

图 3:使用 hostnamectl 命令更新系统主机名。

此方法使更改在重启后保持持久。hostnamectl 命令修改 /etc/hostname 文件,因此您无需直接查找和编辑它。

更改系统的 hostname 意味着任何通过名称引用的脚本、网络映射或用户将不再能够这样做。因此,通常不建议通过主机名引用系统。IP 地址通常是引用网络服务器、打印机和其他设备的更好方法。

管理系统 IP 地址

管理员负责分配 IP 地址。他们可以通过在网络中的每个系统上手动输入唯一的 IP 地址(非常繁琐)来完成此操作,或者通过配置一个服务器,该服务器具有工作站可以从中租赁 IP 配置的地址池。大多数管理员通过为服务器和其他基本网络设备分配静态 IP 地址,并让工作站和最终用户设备从服务器租赁配置,来结合使用这两种方法。

静态 IP 地址配置

静态 IP 地址对于需要一致且不变的 IP 地址标识符的网络节点很有用。Linux 服务器就是一个很好的例子,打印机、路由器和其他基础设施设备也是如此。手动键入 IP 地址配置非常耗时,并且配置无法容忍打字错误或重复的 IP 地址分配,这使得这种方法在工作站和客户端设备的大规模应用中非常低效。

由于服务器和类似设备往往较少,因此静态分配对这些设备非常有效。您可以设置一个在重启后消失的临时 IP 地址,或者设置一个系统保留的持久设置,除非您更改它。

使用以下命令将临时 IP 地址分配给 eth0 网络接口:

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">$ sudo ip addr add 192.168.2.200/24 dev eth0</code>
登录后复制
Linux:显示和管理IP址设置

图 4:使用 ip 命令设置一个临时静态 IP 地址。

使用 del 子命令删除静态 IP 地址,如下所示:

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">$ sudo ip addr del 192.168.2.200/24 dev eth0</code>
登录后复制

请注意,上面的命令不会永久设置 IP 地址。它们只适用于当前运行时,并且不会在重启后保留。

您可能会发现 Linux 网络的 NetworkManager 组件更易于处理网络配置。该工具使用 nmcli 命令来管理网络设置,而不是直接编辑网络配置文件并重新启动网络服务。

键入 nmcli 命令而不带任何标志以查看是否安装了 NetworkManager:

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">$ sudo nmcli</code>
登录后复制
Linux:显示和管理IP址设置

图 5:nmcli 命令显示接口信息

并非所有发行版都使用 nmcli,但大多数与 Red Hat 相关的发行版都使用。如有必要,请使用发行版的包管理器(可能是 APT 或 DNF)安装 NetworkManager。对于 Debian 类系统,输入 sudo apt install network-manager。在 Red Hat 相关的系统上,输入 sudo dnf install NetworkManager

查看网络设备以识别您要使用的设备名称:

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">$ sudo nmcli device status</code>
登录后复制
Linux:显示和管理IP址设置

图 6:使用 nmcli 命令检查接口状态。

假设输出显示一个名为 enp0s5 的网络接口设备。使用以下 nmcli 命令配置 eth0 接口,其静态 IP 地址为 192.168.2.200子网掩码为 /24,默认网关为 192.168.2.1

芦笋演示
芦笋演示

一键出成片的录屏演示软件,专为制作产品演示、教学课程和使用教程而设计。

芦笋演示 34
查看详情 芦笋演示
代码语言:javascript代码运行次数:0运行复制
<code class="javascript">$ sudo nmcli con add con-name "static-connection" ifname eth0 type ethernet ip4 192.168.2.200/24 gw4 192.168.2.1</code>
登录后复制
Linux:显示和管理IP址设置

图 7:使用 nmcli 命令设置固定的持久静态 IP 地址配置。

使用以下 nmcli 命令重新加载接口:

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">$ sudo nmcli con down eth0$ sudo nmcli con up eth0</code>
登录后复制

修改网络配置文件是使 IP 地址保持持久的另一种方法。这些文件因发行版而异,但这里有两个常见的示例。

在 Red Hat 和类似的发行版上,使用文本编辑器编辑以下文件:

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">/etc/sysconfig/network/etc/sysconfig/network-scripts/ifcfg-eth0</code>
登录后复制

编辑 /etc/sysconfig/network 文件包含主机名、默认网关和 IPv6 配置的设置。

修改 /etc/sysconfig/network-scripts/ifcfg-eth0 文件,添加合适的 IP 地址、子网掩码、网关(默认网关)和至少一个 DNS 服务器地址。

您应该使用 sudo systemctl restart network 命令重启网络服务。与其他命令一样,此命令在不同的发行版中可能有所不同。

Debian 及其相关发行版(Ubuntu、Mint 等)使用 Netplan 配置来管理网络。您指定的信息与 Red Hat 派生发行版相同。Netplan 是 NetworkManager 的一个接口,它使用 YAML 文件配置网络设置。

编辑 /etc/netplan 目录中的默认文件以添加网络接口的设置。请注意,此文件是 YAML 格式的,对语法(尤其是空格)非常挑剔。请记住使用 sudo 运行文本编辑器以提升您的权限。

以下是一个 enp0s5 接口的示例条目。只需将 IP 设置替换为您的网络的相应值即可。dhcp4: no 参数将其设置为静态 IP 地址。如果系统当前是 DHCP 客户端,则此行将读取 dhcp4: true。

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">ethernets:  enp0s5:    dhcp4: no    addresses: [192.168.2.200/24]    gateway: 192.168.2.1    nameservers:      addresses: [192.168.2.10, 192.168.2.11]</code>
登录后复制

保存并关闭文件,然后运行以下命令更新设置:

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">$ sudo netplan apply</code>
登录后复制

使用 ip addr 命令(或尝试 hostname -I 命令)确认 IP 地址是否正确。

编辑 YAML 文档 时要小心。YAML 对空格非常敏感,因此请确保与模板匹配。

如果您想将系统设置为 DHCP 客户端而不是维护静态 IP 地址配置,请通过删除 addresses 和 nameservers 行来编辑文件,然后将 DHCP 行设置为 dhcp4: true。然后系统将成为 DHCP 客户端。

使用图形界面进行静态 IP 配置

网络设置图形用户界面包含一个手动选项,允许管理员配置 IP 地址、子网掩码、网关和 DNS 服务器条目。请务必小心避免在此处出现打字错误。您还必须记住,网络上的任何系统都不能具有相同的 IP 地址,因此需要仔细记录静态分配的 IP 地址。此配置工具在各种发行版中相似,因为始终需要相同的网络设置。

Linux:显示和管理IP址设置

图 8: 图形用户界面界面需要的信息与命令行配置的信息相同。动态 IP 地址配置

最终用户工作站很少需要被网络上的其他系统发现。由于业务数据通常存储在 Linux 文件服务器上并从那里共享,因此用户系统上应该很少有其他系统必须引用的内容。因此,没有必要拥有永久的静态 IP 地址。让这些设备从中央服务器获取 IP 地址效率更高。

动态主机配置协议 (DHCP) 服务使管理员能够定义一个服务器,该服务器具有一个可用的 IP 地址池及其所有相关设置(子网掩码、默认网关/路由器等)。在引导过程中,DHCP 客户端设备发送网络广播请求使用 IP 地址。DHCP 将 IP 配置租借给客户端。与管理员进行静态配置相比,此过程更简单、更灵活、更快。它也更不容易出错。

DHCP 租约生成过程包括由客户端系统发起的四个步骤。这些步骤允许客户端请求 IP 设置并让 DHCP 服务器响应。

以下是步骤:

DHCPDiscover:客户端设备发出的广播,请求 DHCP 服务器。DHCPOffer:DHCP 服务器发出的响应,提供 IP 地址配置。DHCPRequest:DHCP 客户端发出的正式请求,请求使用提供的 IP 地址配置。DHCPAck:DHCP 服务器发出的对分配的配置的确认。

客户端设备定期向 DHCP 服务器进行检查以续订 IP 地址租约。

大多数客户端设备假设它们将是 DHCP 客户端,因此这通常是默认设置。从最终用户的角度来看,这意味着他们的计算机正在自行配置以进行网络连接。无论是在家庭环境还是企业网络中,您都可能将 Linux 系统保留为 DHCP 客户端。例如,当连接到咖啡店的无线网络和您的家庭时,Linux 笔记本电脑将是 DHCP 客户端。您希望笔记本电脑根据其所处的环境自行配置。

要使用 NetworkManager 将主机配置为 DHCP 客户端,请键入以下命令:

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">$ sudo nmcli con modify eth0 ipv4.method auto</code>
登录后复制

使用以下 nmcli 命令重新加载接口:

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">$ sudo nmcli con down eth0$ sudo nmcli con up eth0</code>
登录后复制

如上所述,要将基于 Debian 的发行版设置为 DHCP 客户端,请在 /etc/netplan 目录中编辑接口文件,并添加以下条目:

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">dhcp4: true</code>
登录后复制
使用图形界面配置 DHCP

图形网络配置工具提供了多种选项,包括自动(DHCP)或手动(静态)设置。自动设置将系统配置为 DHCP 客户端,使其能够完成上述租约生成过程。

Linux:显示和管理IP址设置

图 9:使用 GUI 界面将系统设置为 DHCP 客户端。

大多数发行版都有非常类似的 GUI 网络配置工具。这些设置始终是必需的,因此任何图形工具都应该易于理解。

默认网关配置

DHCP 服务器提供的首要设置是客户端的 IP 地址和子网掩码。但是,DHCP 服务器可能还会包含默认网关值。此值是子网中路由器的 IP 地址。客户端计算机不需要路由器才能与同一子网上的其他节点通信,但它们确实需要路由器才能与其他子网上的机器通信。如果系统需要将信息发送到与自身网络 ID 不同的节点,则会将消息转发到路由器。默认网关值让计算机知道路由器在此过程中的位置。

网关 IP 地址是 DHCP 服务器提供的 IP 地址设置的一部分。如果管理员手动配置 IP 地址,则必须在该配置中设置网关值。

配置名称解析

主机名和 IP 地址之间的关系至关重要。大多数人通过主机名来引用系统,但大多数网络设备识别 IP 地址来管理通信。如果最终用户必须记住 172.16.33.58 是“color-sales-printer”或 192.168.2.10 是“dev-dept-fileserver”,那将非常困难。想象一下,如果您必须通过其特定的 IP 地址来跟踪所有您喜欢的互联网网站!

名称解析是指存储和使用有关哪些主机名与哪些 IP 地址相关的信息。

域名系统 (DNS) 提供名称解析。此服务维护一个主机名和 IP 地址数据库。如果用户输入包含主机名的命令,例如 ping server07,他们的工作站将查询 DNS,询问 server07 的 IP 地址。计算机无法基于主机名进行通信;TCP/IP 通信需要 IP 地址。但是,由于 IP 地址对于人们来说很难记住,因此他们需要能够通过名称来引用系统。DNS 将这两个值关联起来,以便网络节点和用户可以使用正确的数据。

假设您告诉您的计算机 ping server07。由于它不知道如何处理此名称,因此它会询问 DNS 服务器,DNS 服务器会以相应的 IP 地址进行响应。

该过程基本上如下所示:

用户输入 ping server07他们的工作站不知道 server07 是什么,并且需要一个 IP 地址工作站向 DNS 服务器发送查询,询问:“server07 的 IP 地址是什么?”DNS 服务器检查其资源记录,直到找到显示“server07 = 192.168.2.22”的记录服务器响应工作站,说明:“server07 的 IP 地址是 192.168.2.22”工作站运行 ping 192.168.2.22

工作站必须知道 DNS 服务器的 IP 地址,以便它可以发送查询。此设置对于计算机至关重要。DHCP 服务器通常会提供它,以及计算机的 IP 地址、子网掩码和默认网关。

以上就是Linux:显示和管理IP址设置的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门推荐
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号