centos配置dhcp获取ip地址的方法分享

发布时间:2019-11-15编辑:脚本学堂
本文介绍下,在centos中配置通过dhcp的方式获取IP地址的方法,有需要的朋友参考下。

centos中,配置IP地址的方法,分为两种,一是dhcp方式,另一种是静态ip地址的方法。

今天,我们介绍第一种dhcp方式,有关静态IP地址的配置,请参考如下的文章:
centos 手动设置静态IP地址的方法分享(图文)
linux单网卡的双静态IP配置方法
linux配置静态IP

在centos中配置dhcp方式获取IP地址,修改文件ifcfg-eth0
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
修改内容:
 

DEVICE=eth0 #描述网卡对应的设备别名,例如ifcfg-eth0的文件中它为eth0
BOOTPROTO=static #设置网卡获得ip地址的方式,可能的选项为static,dhcp或bootp,分别对应静态指定的 ip地址,通过dhcp协议获得的ip地址,通过bootp协议获得的ip地址
BROADCAST=192.168.0.255 #对应的子网广播地址
HWADDR=00:07:E9:05:E8:B4 #对应的网卡物理地址
IPADDR=12.168.1.2 #如果设置网卡获得 ip地址的方式为静态指定,此字段就指定了网卡对应的ip地址
IPV6INIT=no
IPV6_AUTOCONF=no
NETMASK=255.255.255.0 #网卡对应的网络掩码
NETWORK=192.168.1.0 #网卡对应的网络地址
ONBOOT=yes #系统启动时是否设置此网络接口,设置为yes时,系统启动时激活此设备

在笔者的配置过程中,遇到一个问题,CentOS的客户端不能从DHCP服务器获取IP地址,能正常获取IP的系统中多了个dbclient进程。

原因分析:
/sbin/dhclient是一个客户端的进程,这里存在二种功能,其一是与DHCP Server进行通讯,其二接收控制台的命令。

dhclient进程是由NetworkManager启动,NetworkManager进程如下:
 

复制代码 代码示例:
NetworkManager --pid-file=/var/run/NetworkManager/NetworkManager.pid --ppp-dns-workaround
/usr/sbin/nm-system-settings --config /etc/NetworkManager/nm-system-settings.conf

NetworkManager也算是服务器,类似x window,因为在Gome中的System Mananger中的Network Manager功能实际上就是向这个NetworkManager的进程发送命令,由它执行,同时setup命令中的Network Config也是向这个进程发送命令,如果它没有启动,则不能发送命令,也不会被执行,当然这个NetworkManager也算是一种服务器,就如同service network restart,它对应chkconfig中的NetworkManager服务名。

在NetworkManager启动的情况下,dhclient进程的参数是:
 

/sbin/dhclient -d -sf /usr/libexec/nm-dhcp-client.action -pf /var/run/dhclient-eth0.pid -lf /var/lib/dhclient/dhclient-eth0.lease -cf /var/run/nm-dhclient-eth0.conf eth0

其父进程为NetworkManager。

在NetworkManager没有启动的情况下,dhclient的进程的参数是:
 

/sbin/dhclient -1 -q -lf /var/lib/dhclient/dhclient-eth0.leases -pf /var/run/dhclient-eth0.pid eth0

其父进程为init。

在dhcp能获取到ip的场景下,此进程必须出现,否则dhcp无法获取IP地址。

接下来该如何操作,想必你已经明白了,那就抓紧修改下吧,去体会上网的乐趣了。