首頁 > 系統教程 > Linux > 如何檢查您的IP地址是靜態的還是Linux中的DHCP(2024)

如何檢查您的IP地址是靜態的還是Linux中的DHCP(2024)

William Shakespeare
發布: 2025-03-21 10:10:12
原創
613 人瀏覽過

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></strong></code><mark> method=manual</mark>

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

[proxy]
登入後複製

如輸出所示,我已經為我的有線以太網連接分配了靜態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></strong></code><mark> iface enp89s0 inet manual</mark>

auto vmbr0
iface vmbr0 inet static
    address 192.168.1.101/24
    bridge-ports none
    bridge-stp off
    bridge-fd 0
[...]
登入後複製

對於不使用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></strong></code><mark> auto</mark>
登入後複製

如上面的輸出所示,我的網絡中使用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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板