使用ip a命令可查看CentOS动态获取的IP地址,输出中inet后为IP,dynamic关键字表明通过DHCP获取;也可用ifconfig或查看/var/lib/dhclient/dhclient-*.lease文件获取详情。

在CentOS系统里,要查看动态获取的IP地址,最直接有效的方式就是使用
ip a
ifconfig
查看CentOS动态IP地址,其实并不复杂,但背后涉及到的网络配置和DHCP机制,往往值得我们多琢磨几番。
要查看CentOS系统当前通过DHCP动态获取的IP地址,主要有以下几种方法,我个人比较推荐
ip a
首先,打开你的终端,输入:
ip a
或者,
ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:ab:cd:ef brd ff:ff:ff:ff:ff:ff
inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic ens192
valid_lft 86290sec preferred_lft 86290sec
inet6 fe80::20c:29ff:feab:cdef/64 scope link
valid_lft forever preferred_lft forever在这里,你需要关注的是你的物理网络接口(比如
ens192
eth0
inet
/24
dynamic
如果你的系统是比较旧的CentOS版本,或者你习惯了,也可以使用
ifconfig
net-tools
ifconfig
sudo yum install net-tools -y
安装完成后,再运行:
ifconfig
输出会是这样:
ens192: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::20c:29ff:feab:cdef prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:ab:cd:ef txqueuelen 1000 (Ethernet)
RX packets 12345 bytes 67890 (66.3 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 12345 bytes 67890 (66.3 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 123 bytes 456 (456.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 123 bytes 456 (456.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0同样,在你的网络接口(如
ens192
inet
ifconfig
dynamic
另外,你还可以查看DHCP客户端的租约文件,这能提供更详细的DHCP信息:
cat /var/lib/dhclient/dhclient-*.lease
这个文件包含了DHCP服务器分配给你的IP地址、租约时间等信息。通过这些方式,你就能清晰地知道你的CentOS系统当前使用的是哪个动态IP地址了。
CentOS系统获取动态IP地址,核心依赖于DHCP(动态主机配置协议)服务。这其实是一个非常精巧的自动化过程,省去了我们手动配置IP的麻烦。当你启动CentOS系统,或者网络接口被激活时,它会作为一个DHCP客户端,向网络中广播一个DHCP Discover包。这个包就像是在大喊:“喂,有没有DHCP服务器啊,我需要一个IP地址!”
网络中的DHCP服务器收到这个请求后,如果它有可用的IP地址,就会回复一个DHCP Offer包,里面包含了它愿意分配给你的IP地址、子网掩码、默认网关、DNS服务器地址,以及一个重要的参数:租约时间(lease time)。这个租约时间决定了你可以在多长时间内使用这个IP地址。
CentOS客户端收到DHCP Offer后,会发送一个DHCP Request包,明确表示它接受了某个DHCP服务器提供的IP地址。这就像是在说:“好的,我就要这个IP了,谢谢!”
最后,DHCP服务器收到DHCP Request后,会发送一个DHCP ACK(确认)包,正式确认这个IP地址已经分配给你的CentOS系统了。至此,你的CentOS就成功获取了一个动态IP地址,并可以开始网络通信了。
这个过程是自动化的,而且在租约时间快到期时,CentOS客户端还会尝试续租,以保持IP地址不变。如果续租失败,它可能会重新发起整个发现-提供-请求-确认的过程,从而可能获得一个新的IP地址。这就是为什么有时候服务器重启或者网络环境变化后,IP地址会“变脸”的原因。
CentOS服务器的IP地址突然改变,这在生产环境中通常是个令人头疼的问题,特别当你预期它应该保持稳定时。这种情况主要发生在服务器配置为动态获取IP(DHCP)时,而非静态IP。理解其背后的原因,能帮助我们更好地管理网络。
一个最常见的原因是DHCP租约到期。就像我前面提到的,DHCP服务器会给客户端一个IP地址的“使用期限”。当这个期限快到了,客户端会尝试续租。如果续租成功,IP地址通常会保持不变。但如果DHCP服务器故障、网络连接中断导致续租失败,或者DHCP服务器的配置发生了变化(比如IP地址池调整),客户端就可能在重新获取IP时,被分配到一个新的、不同的IP地址。
服务器重启也是一个常见触发点。每次CentOS系统重启,它都会重新发起DHCP请求过程。虽然很多DHCP服务器会尝试将之前分配的IP地址再次分配给同一个MAC地址,但这并非总是保证。尤其是在DHCP服务器负载较高、IP地址池紧张,或者网络中存在多个DHCP服务器时,就可能获得一个新的IP。
此外,网络环境的变化也可能导致IP地址改变。例如,如果你将CentOS服务器从一个网络(比如办公室)移动到另一个网络(比如家庭或不同的数据中心),那么它肯定会从新的网络中的DHCP服务器获取一个全新的IP地址。即使在同一个网络中,如果DHCP服务器的配置被管理员修改,或者更换了新的DHCP服务器,也可能导致IP地址的重新分配。
对于服务器而言,动态IP地址通常不是一个理想的选择,因为它会给远程访问、端口转发以及依赖IP地址的服务带来不便。因此,在大多数服务器部署场景中,我们都会倾向于配置静态IP地址,以确保IP地址的稳定性和可预测性。
将CentOS的动态IP地址配置为静态IP,是服务器管理中的一个基本且重要的操作。这能确保你的服务器在任何时候都使用同一个IP地址,方便远程连接、服务绑定以及防火墙规则的设置。下面我将详细说明如何操作,通常这涉及修改网络接口的配置文件。
在CentOS系统中,网络接口的配置文件通常位于
/etc/sysconfig/network-scripts/
ifcfg-ens192
ifcfg-eth0
ip a
假设你的网络接口是
ens192
ifcfg-ens192
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens192
打开文件后,你需要修改或添加以下几行内容:
BOOTPROTO="static"
IPADDR="192.168.1.200"
NETMASK="255.255.255.0"
PREFIX="24"
PREFIX
/24
255.255.255.0
PREFIX
GATEWAY="192.168.1.1"
DNS1="8.8.8.8"
DNS2="8.8.4.4"
一个配置静态IP的
ifcfg-ens192
TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" BOOTPROTO="static" # 从 "dhcp" 改为 "static" DEFROUTE="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" IPV6_ADDR_GEN_MODE="stable-privacy" NAME="ens192" UUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" # 这个UUID是唯一的,不要改动 DEVICE="ens192" ONBOOT="yes" # 确保开机自动启动接口 IPADDR="192.168.1.200" PREFIX="24" # 或 NETMASK="255.255.255.0" GATEWAY="192.168.1.1" DNS1="8.8.8.8" DNS2="8.8.4.4"
保存并关闭文件后,你需要重启网络服务或重启网络接口,使配置生效:
sudo systemctl restart network
或者,如果你使用的是NetworkManager:
sudo nmcli connection reload sudo nmcli connection up ens192
重启后,再次使用
ip a
以上就是CentOS动态IP怎么查看_CentOS动态获取IP地址查看教程的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号