在 Ubuntu 系统中,可以通过以下方法判断当前 IP 是动态获取(DHCP)还是静态配置:
一、通过命令行工具查看 IP 信息
1. 使用 ip addr 或 ifconfig 命令
-
动态 IP :输出中会显示
dynamic或DHCP标记。baship addr show eth0 # 示例输出: # 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 # inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic eth0 # valid_lft 86399sec preferred_lft 86399sec -
静态 IP :无
dynamic标记,且 IP 地址固定不变。baship addr show eth0 # 示例输出: # inet 192.168.1.200/24 brd 192.168.1.255 scope global eth0
2. 使用 hostname -I 或 nmcli 命令
-
hostname -I仅显示当前 IP 地址,需结合其他命令判断类型。 -
nmcli可查看网络连接状态:bashnmcli device show eth0 # 动态 IP 输出包含 "IP4.ADDRESS=192.168.1.100/24 (DHCP)" # 静态 IP 输出包含 "IP4.ADDRESS=192.168.1.200/24"
二、检查网络配置文件
1. Netplan 配置(Ubuntu 20.04+ 推荐)
-
配置文件路径:
/etc/netplan/*.yaml -
动态 IP 配置示例:
yamlethernets: eth0: dhcp4: yes -
静态 IP 配置示例:
yamlethernets: eth0: dhcp4: no addresses: [192.168.1.200/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8] -
验证方法 :
bashcat /etc/netplan/*.yaml | grep -E "dhcp4|addresses"
2. 传统网络配置(旧版 Ubuntu)
-
配置文件路径:
/etc/network/interfaces -
动态 IP 配置示例:
bashauto eth0 iface eth0 inet dhcp -
静态 IP 配置示例:
bashauto eth0 iface eth0 inet static address 192.168.1.200 netmask 255.255.255.0 gateway 192.168.1.1
三、检查 DHCP 服务状态
1. 查看 DHCP 客户端服务
-
若 DHCP 服务正在运行,可能使用动态 IP:
bashsystemctl status dhcpcd # 或 isc-dhcp-client -
输出包含
Active: active (running)表示 DHCP 客户端正在获取 IP。
2. 检查 DHCP 租约文件
-
DHCP 分配的 IP 信息会记录在租约文件中:
bashcat /var/lib/dhcp/dhclient.leases # 示例内容: # lease 192.168.1.100 { # starts 5 2023/10/01 10:00:00; # renewal 86400; # rebind 172800; # expires 259200; # }
四、其他方法
-
重启网络后观察 IP 变化:
- 动态 IP 重启后会变化,静态 IP 保持不变。
bashsudo systemctl restart networking # 旧版 sudo netplan apply # 新版 -
查看 NetworkManager 连接状态:
bashnmcli connection show # 动态连接类型为 "dhcp",静态为 "manual"
总结
| 方法 | 动态 IP 特征 | 静态 IP 特征 |
|---|---|---|
ip addr/ifconfig |
显示 dynamic 或 DHCP 标记 |
无 dynamic 标记,IP 固定 |
| Netplan 配置文件 | dhcp4: yes |
dhcp4: no + 固定地址和网关 |
| DHCP 租约文件 | 存在租约记录 | 无租约记录 |
| 重启网络后 IP 变化 | IP 变化 | IP 不变 |
通过以上方法,可快速判断 Ubuntu 当前使用的是动态还是静态 IP。若需切换类型,需修改对应配置文件并重启网络服务。
总结
通过nmcli connection show查看整个服务器的网络连接情况,再用nmcli device show 网口 命令查看具体的网口的IP配置情况;