如何在不重启的情况下获取 DHCP 分配的 IP 地址?

如何在不重启的情况下获取 DHCP 分配的 IP 地址?

我有一个服务器,其文件中的一个条目当前是静态寻址的/etc/hosts,例如:

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.1.91 docker docker.local

我想将这个服务器引入 DHCP,这样我就可以让它从 DHCP 服务器获得静态 IP。

为此,我计划将服务器更改/etc/hosts为:

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 docker docker.local
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

#192.168.1.91 docker docker.local

然而,一旦我这么做了,我必须做什么才能要求 DHCP 服务器为 docker.local 分配一个地址 - 而无需重新启动 docker.local(在 CentOS 7 上)

我想我必须这么做sudo ifdown enp132s0 && sudo ifup eth0,但不确定是否仅此而已。

请注意,/etc/sysconfig/network-scripts/ifcfg-enp132s0IP 也是硬编码的:

TYPE="Ethernet"
BOOTPROTO=none
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="enp132s0"
UUID="4ccacac5-fd8a-46a7-9279-6f9fea7d066e"
DEVICE="enp132s0"
ONBOOT="yes"
DNS1=8.8.8.8
IPADDR=192.168.1.91
PREFIX=24
GATEWAY=192.168.1.99
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes

答案1

hosts 文件与 IP 寻址无关。

修改/etc/sysconfig/network-scripts/ifcfg-enp132s0BOOTPROTODHCP删除其他IP地址信息:

TYPE="Ethernet"
BOOTPROTO=DHCP
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="enp132s0"
UUID="4ccacac5-fd8a-46a7-9279-6f9fea7d066e"
DEVICE="enp132s0"
ONBOOT="yes"
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes

重新启动网络接口以应用更改。

相关内容