DHCP服务概述:
名称:DHCP - Dynamic Host Configuration Protocol 动态主机配置协议。
功能:DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,主要优点:
特点: C/S 模式
自动分配IP地址,方便管理
DHCP不会同时租借相同的IP地址给两台主机;
DHCP管理员可以约束特定的计算机使用特定的IP地址;
可以为每个DHCP作用域设置很多选项;
客户机在不同子网间移动时不需要重新设置IP地址。每次都自动获取IP地址就可以了。
DHCP的缺点:
当网络上存在多服务器时,一个DHCP服务器不能查出已被其它服务器租出去的IP地址;
DHCP服务器不能跨路由器与客户机通信,除非路由器允许BOOTP协议转发。
端口:
DHCP服务使用:端口67(bootps) 68(bootpc) 。
安装DHCP:
[root@localhost Packages]# RPM -ivh 软件包名如下:
dhcp-common-4.1.1-25.P1.el6.x86_64.rpm #包括DHCP客户端和服务端共同需要的一些件
dhclient-4.1.1-25.P1.el6.x86_64.rpm #dhcpclient
dhcp-4.1.1-25.P1.el6.x86_64.rpm # dhcp 服务端包
或
yum -y install dhcp #yum 安装dhcp
配置文件位置:
1、主配置文件:
/etc/dhcp/dhcpd.conf
打开这个配置文件,发现提示寻找模板配置文件:
2、DHCP主程序包安装好后会自动生成主配置文件的范本文件
/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample
补充:开源服务软件里, 以.sample 结尾的文件是软件的模板样例文件,需要关注下。
现在我们将范本配置文件复制到/etc 目录下替换掉空白dhcpd.conf 主配置文件。
[root@xuegod63~]# cp -r /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
注意:复制完以后,不要启动。因为配置文件没有写。不写一般都会报错。需要注意!
一、主配置文件配置:
配置文件:/etc/dhcp/dhcpd.conf 部分配置解释
# option definitions common to all supported networks... #定义全局配置,通用于所有支持的网络选项.
option domain-name "example.org"; #为客户端指定所属的域
option domain-name-servers ns1.example.org, ns2.example.org; #为客户端指定DNS服务器地址
配置参数声明:
subnet 网络号 netmask 子网掩码 {......}
作用:定义作用域,指定子网
如:
注意:网络ip必须与DHCP 服务器的ip在同一网段
配置文件:
第一步: 指定服务器要分发的ip网段。
subnet 网络号 netmask 子网掩码 { 配置参数 结束使用 }
第二步: 指定动态ip的地址范围。
range 起始IP 地址结束IP 地址 ;
第三步: 为客户端指定默认网关。
option routers IP 地址 ;
第四步:为客户端指定DNS 服务器ip地址。
option domain-name-servers IP 地址 ;
第五步: 定义默认IP 租约时间,以秒为单位的租约时间。
default-lease-time 600;
第六步: 定义客户端IP租约时间的最大值,当客户端超过租约时间,却尚未更新IP 时,最长可以使用该IP 的时间。 单位秒
max-lease-time 7200; (数字)
}
结束使用大反括号,第五、第六步,可以忽略!
开启服务:
[root@xuegod63~]# sytemctl start dhcpd #临时启动DHCP服务;
[root@xuegod63~]# systemctl enable dhcpd #开机自动启动dhcp服务;
查看端口起来了吗?发现端口是67证明启动成功!
[root@xuegod63~]# netstat -anpu | grep “:67”
例:
复制完dhcp模板,进入dhcp主配置文件。( cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf )
[root@abcabc ~]# vim /etc/dhcp/dhcpd.conf
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.150 192.168.10.222;
option domain-name-servers 8.8.8.8,144.144.144.144;
option routers 192.168.10.1;
}
为主机留IP地址:
例:
host abc { #红色为主机名称
hardware ethernet 00:0c:29:ee:5c:75 ; #红色字体为mac地址
filename "192.168.10.200"; #红色字体为客户机预留IP地址
}
二、客户机获取DHCP:
进入客户机Linux系统网卡配置文件,如下:
[root@xuegod64 network-scripts]# vim ifcfg-ens35
TYPE="Ethernet"
BOOTPROTO="dhcp" ##改成dhcp模式
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
#IPADDR=192.168.10.102
#NETMASK=255.255.255.0
#GATEWAY=192.168.10.254
#DNS1=192.168.10.254
NAME=eth0
UUID=278a13d0-553c-4e4f-adeb-0b72d166ae53 # 可以省略
DEVICE=eth0
ONBOOT=yes
重启网卡:
[root@xuegod64 network-scripts]# ifdown ens35 && ifup ens35
然后xuegod64改为自动获取IP地址。
查看:
[root@xuegod64 network-scripts]# ifconfig ens35
ens35: 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:fe07:3630 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:07:36:30 txqueuelen 1000 (Ethernet)
RX packets 5 bytes 864 (864.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 9 bytes 1242 (1.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
查看默认网关
[root@xue64~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
查看DNS
[root@xuegod64 network-scripts]# cat /etc/resolv.conf
;generated by /sbin/dhclient-script
search xuegod.cn
nameserver 192.168.1.1