Ubuntu如何判断获取到的IP地址是静态IP还是动态?

在 Ubuntu 系统中,可以通过以下方法判断当前 IP 是动态获取(DHCP)还是静态配置:


一、通过命令行工具查看 IP 信息

1. 使用 ip addr 或 ifconfig 命令
  • 动态 IP :输出中会显示 dynamic 或 DHCP 标记。

    bash 复制代码
    ip 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 地址固定不变。

    bash 复制代码
    ip 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 可查看网络连接状态:

    bash 复制代码
    nmcli 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 配置示例:

    yaml 复制代码
    ethernets:
      eth0:
        dhcp4: yes
  • 静态 IP 配置示例:

    yaml 复制代码
    ethernets:
      eth0:
        dhcp4: no
        addresses: [192.168.1.200/24]
        gateway4: 192.168.1.1
        nameservers:
          addresses: [8.8.8.8]
  • 验证方法 :

    bash 复制代码
    cat /etc/netplan/*.yaml | grep -E "dhcp4|addresses"
2. 传统网络配置(旧版 Ubuntu)
  • 配置文件路径:/etc/network/interfaces

  • 动态 IP 配置示例:

    bash 复制代码
    auto eth0
    iface eth0 inet dhcp
  • 静态 IP 配置示例:

    bash 复制代码
    auto 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:

    bash 复制代码
    systemctl status dhcpcd   # 或 isc-dhcp-client
  • 输出包含 Active: active (running) 表示 DHCP 客户端正在获取 IP。

2. 检查 DHCP 租约文件
  • DHCP 分配的 IP 信息会记录在租约文件中:

    bash 复制代码
    cat /var/lib/dhcp/dhclient.leases
    # 示例内容:
    # lease 192.168.1.100 {
    #   starts 5 2023/10/01 10:00:00;
    #   renewal 86400;
    #   rebind 172800;
    #   expires 259200;
    # }

四、其他方法

  1. 重启网络后观察 IP 变化:

    • 动态 IP 重启后会变化,静态 IP 保持不变。
    bash 复制代码
    sudo systemctl restart networking  # 旧版
    sudo netplan apply                 # 新版
  2. 查看 NetworkManager 连接状态:

    bash 复制代码
    nmcli 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配置情况;

相关推荐
火云代理9 小时前
更换网络后为什么会退出登录?分清 IP、Cookie 与会话的关系
服务器·网络·网络协议·tcp/ip·php·ip
火云代理13 小时前
同一个网站,有的网络能打开、有的打不开?认识 IPv4 与 IPv6 的访问差异
服务器·网络·网络协议·tcp/ip·测试工具·php·状态模式
火云代理16 小时前
Python 使用代理 IP 前,先弄清 Requests 的配置来源与验证方法
网络·python·网络协议·tcp/ip·ip
如夏倾城16 小时前
QUIC——HTTP/3 的唯一底层传输协议 及 0-RTT恢复
网络·网络协议·tcp/ip·安全·http
张彦峰ZYF1 天前
浏览器调试接口的官方化:从 chrome-devtools-mcp 看 Agent 原生工具层的形成
人工智能·chrome·agent·mcp·apache-2.0许可·devtools-mcp·调试闭环
瓦瓦gogo2 天前
从一个 TypeScript 函数开始理解 MCP 协议
linux·ubuntu·typescript
鱼听禅2 天前
Ubuntu安装YOLOv8进行菌落识别训练
linux·python·yolo·ubuntu
MyBili2 天前
Chrome性能优化实战:让老旧浏览器重获流畅体验
chrome·性能优化·谷歌浏览器·内存管理·浏览器提速·老旧设备优化·卡顿解决
Zucker n3 天前
文献发现、课题组织与证据可追溯的论文阅读。
论文阅读·windows·ubuntu
Frag0ut3 天前
Chrome PWA离线落地实战指南:2026 网页应用原生级体验全栈开发攻略
chrome·pwa·service worker·离线浏览·web应用开发·网页原生体验·前端离线缓存