我有一个服务器,其文件中的一个条目当前是静态寻址的/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-enp132s0
IP 也是硬编码的:
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-enp132s0
为BOOTPROTO
。DHCP
删除其他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
重新启动网络接口以应用更改。