首页 > 系统教程 > 操作系统 > 如何检查您的IP地址是静态的还是Linux中的DHCP(2024)

如何检查您的IP地址是静态的还是Linux中的DHCP(2024)

William Shakespeare
发布: 2025-03-21 10:10:12
原创
588 人浏览过

How to Check if Your IP Address is Static or DHCP in Linux (2024)

了解您的 Linux 系统使用静态 IP 地址还是 DHCP 分配的 IP 地址,出于各种原因都非常有用。例如,如果您要托管 Web 服务器或运行游戏服务器,则需要使用静态 IP 地址。如果您尝试解决网络问题,也可能需要知道您的 IP 地址。本文介绍如何在 Linux 中检查您的 IP 地址是静态的还是 DHCP 分配的

本文介绍了手动方法和命令行方法,并清楚地解释了静态 IP 地址和动态 IP 地址之间的区别。

目录

    1. 通过检查网络配置文件确定 IP 地址是静态的还是 DHCP 的
    1. 使用 nmcli 命令检查 IP 地址是静态的还是 DHCP 的
    1. 通过检查 DHCP 租约信息查找 IP 地址是静态的还是动态的
  • 结论

简介

IP 地址是网络上设备的唯一标识符。它用于在设备之间路由流量,并允许它们相互通信。

IP 地址有两种类型:静态动态

  • 静态 IP 地址是手动分配的,并且保持不变,直到它们被更改。
  • 动态 IP 地址由 DHCP 服务器自动分配,并且可能会随着时间的推移而改变。

大多数家庭和办公室网络使用 DHCP 为设备分配 IP 地址。这是因为它更容易管理,并且有助于防止 IP 地址冲突。

但是,在某些情况下,需要使用静态 IP 地址,例如托管 Web 服务器或运行游戏服务器。

如果您不确定您的 Linux IP 地址是静态的还是 DHCP 分配的,您可以使用以下任何一种方法。

在 Linux 中,您可以通过检查系统的网络配置文件或使用 nmcli 等命令行工具,或者通过检查租约信息来确定 IP 地址是静态分配的还是通过 DHCP 分配的。

  1. 通过检查网络配置文件确定 IP 地址是静态的还是 DHCP 的

对于使用 NetworkManager 的 Linux 系统,您可以使用此方法查找 IP 地址是静态的还是动态的。

配置可能存储在 /etc/NetworkManager/system-connections/ 中。您可以在此处检查各个连接文件。

<code>$ sudo ls /etc/NetworkManager/system-connections/
Auto Ostechnix_jio_5g.nmconnection  Auto Sk vivo V21e 5G.nmconnection   Wired connection 1                  
Auto Ostechnix.nmconnection         Ostechnix_jio_4g.nmconnection   </code>
登录后复制

例如,要检查“Wired Connection 1”是使用静态 IP 还是动态 IP,请使用以下命令查看其配置文件的内容:

<code>$ sudo cat /etc/NetworkManager/system-connections/Wired\ connection\ 1</code>
登录后复制

查找以 method= 开头的行,位于 [ipv4] 和 [ipv6] 部分下。如果显示 auto,则为 DHCP。如果显示 manual,则为静态。

<code>[connection]
id=Wired connection 1
uuid=5cfE09f2EG-20a6-3089-8577-5269e5cf08gh
type=ethernet
permissions=
timestamp=1650630622

[ethernet]
mac-address-blacklist=

[ipv4]
address1=192.168.29.55/24,192.168.29.1
dns=8.8.8.8;
dns-search=
<strong><mark>method=manual</mark></strong>

[ipv6]
addr-gen-mode=eui64
dns-search=
ip6-privacy=2
method=auto

[proxy]</code>
登录后复制

如输出所示,我已经为我的有线以太网连接分配了静态 IP 地址。

如果您想查看所有可用网络连接的详细信息,请运行:

<code>$ sudo cat /etc/NetworkManager/system-connections/*</code>
登录后复制

对于不使用 NetworkManager 的 Debian/Ubuntu 系统或派生系统:

检查 /etc/network/interfaces 文件。

<code>$ cat /etc/network/interfaces</code>
登录后复制

如果您看到 iface inet dhcp,则它正在使用 DHCP。如果您看到 iface inet static,则它是静态的。

<code>[...]
source /etc/network/interfaces.d/*

auto lo
iface lo inet loopback

<strong><mark>iface enp89s0 inet manual</mark></strong>

auto vmbr0
iface vmbr0 inet static
    address 192.168.1.101/24
    bridge-ports none
    bridge-stp off
    bridge-fd 0
[...]</code>
登录后复制

对于不使用 NetworkManager 的较旧的 Red Hat/Fedora 系统或派生系统:

检查 /etc/sysconfig/network-scripts/ 中的文件。

<code>$ cat /etc/sysconfig/network-scripts/ifcfg-*</code>
登录后复制

查找以 BOOTPROTO= 开头的行。如果显示 dhcp,则为 DHCP。如果不是,则为静态。

  1. 使用 nmcli 命令检查 IP 地址是静态的还是 DHCP 的

您也可以在具有 NetworkManager 的 Linux 系统上使用此方法。

nmcli 工具是 NetworkManager 的命令行客户端。您可以使用它快速确定 IP 地址的来源。

<code>$ nmcli con show [connection-name]</code>
登录后复制

将 [connection-name] 替换为您连接的名称。

例如,要查看“Auto Ostechnix_jio_5g”连接的来源,您将运行:

<code>$ nmcli con show 'Auto Ostechnix_jio_5g'</code>
登录后复制

在输出中,查找 ipv4.method 或 ip6.method 行。如果显示 auto,则为 DHCP。如果显示 manual,则为静态。

输出通常很长。因此,您可以使用以下grep 命令来过滤您想要的精确细节。

<code>$ nmcli con show 'Auto Ostechnix_jio_5g' | grep ipv4.method
ipv4.method:                            <strong><mark>auto</mark></strong></code>
登录后复制

如上面的输出所示,我的网络中使用 DHCP 服务器动态分配了 IP 地址。

如果您想查看 IP 版本 6 的来源,请在上面的命令中将 ipv4.method 替换为 ipv6.method。

  1. 通过检查 DHCP 租约信息查找 IP 地址是静态的还是动态的

Linux 上的 DHCP 客户端通常会记录其活动,您可以检查这些日志以查找是否通过 DHCP 获取了 IP 地址。此外,DHCP 客户端通常将其租约信息存储在租约文件中。

对于 dhclient:

租约文件通常位于 /var/lib/dhcp/dhclient.leases 或 /var/lib/dhclient/dhclient.leases。

<code>$ cat /var/lib/dhcp/dhclient.leases</code>
登录后复制

如果您在此文件中看到最近的租约,则系统已通过 DHCP 获取其 IP。

请记住,检查方法可能因 Linux 发行版和版本而异,以及使用的网络工具(NetworkManager、传统的 ifup/ifdown、systemd-networkd 等)而异。上面提供的方法涵盖了许多常见场景,但并非所有可能的配置。

结论

在本简短指南中,我们讨论了几种检查您的 IP 地址是静态的还是从 DHCP 服务器动态分配的方法。了解您的系统是使用静态 IP 地址还是 DHCP 分配的 IP 地址,对于在 Linux 中解决网络问题非常有益。选择适合您的方法,并在几秒钟内确定 IP 的来源。

相关阅读:如何在 Linux 和 Unix 中配置静态 IP 地址

以上是如何检查您的IP地址是静态的还是Linux中的DHCP(2024)的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板