如何在Linux下安装配置DHCP服务器
DHCP服务在linux下算是最简单的服务了。
DHCP服务的配置。
DHCP简介:
DHCP动态主机配置协议,在一个小型局域网里可以通过手工指定ip地址的方式,但如有大量的主机,如果还是手工指定,那是一个很大的工作量,而且也容易出错,这时,就可以通过配置一台DHCP服务器来解决,为每台主机分配一个ip地址。DHCP作用域是指DHCP服务器可分配给DHCP客户端的IP地址范围,一个DHCP服务器至少要一个作用域,如有多个作用域,作用域之间的IP地址不能重叠。
DHCP的工作原理:
DHCP工作过程分为四个步骤:
第一步(DHCPDISCOVER):客户端发送广播查找可以给自己提供IP地址的DHCP服务器,
第二步(DHCPOFFER):DHCP服务器发送广播提供一个可用的IP地址,并在地址池中将该地址打上标记,以防再次分配。
第三步(DHCPREQUEST):客户端收到广播后再次发送一个广播请求该地址,如果有多台DHCP响应,则第一个收到的优先。
第四步(DHCPACK):DHCP服务器收到广播后再发送一个广播,确认该地址分配给这台主机使用,并在地址池中将该地址打上标记,以防再次分配。
DHCP的基本配置:
第一步:安装软件:
[root@localhost ~]# rpm -ivh /misc/cd/Server/dhcp-305-18el5i386rpm
第二步:编辑配置文件:
[root@localhost ~]# vi /etc/dhcpdconf
# see /usr/share/doc/dhcp/dhcpdconfsample
当进入到配置文件里面时,这里是空的,有如上一行的提示,说可以参考这个文件来编写配置文件,那就复制一份再编辑。
[root@localhost ~]# cp -rvf /usr/share/doc/dhcp-305/dhcpdconfsample /etc/dhcpdconf
[root@localhost ~]# vi /etc/dhcpdconf
ddns-update-style interim; //配置DHCP和DNS为互动更新模式,
ignore client-updates; //忽略客户端的更新。
subnet 1921681000 netmask 2552552550 { //定义作用域
option routers 1921681001; //默认路由
option subnet-mask 2552552550; //子网掩码
option nis-domain "rhelcom"; //NIS域名
option domain-name "rhelcom"; //DNS域名
option domain-name-servers 19216810010; //DNS服务器地址
option time-offset -18000; # Eastern Standard Time //为客户端设置与格林威治的时间偏移
option ntp-servers 19216811; //网络时间服务器地址
option netbios-name-servers 19216811; //指定WINS服务器地址
range dynamic-bootp 192168100128 192168100254; //动态分配的地址范围
default-lease-time 21600; //默认租约时间
max-lease-time 43200; //最大租约时间
host abc { //指定特定主机
hardware ethernet 00:0C:29:FD:44:C8; //硬件地址
fixed-address 19216810030; //IP地址
}
}
如有多个要绑定的主机时可以把所有主机信息用group{ }包括起来,这样更方便管理。格式如下 :
group {
……这里不可以添加一些佤全局选项,这样就不用在每个里面写了。
host abc {
……
……
}
host xyz {
……
……
}
}
[root@localhost ~]# service dhcpd restart
测试:
在linux下:
首先让地址从DHCP获取:
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=dhcp
[root@localhost ~]# service network restart //重启一下网络服务,这里不能使用ifdown和ifup,因为要配置路由信息。
[root@localhost ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:FD:44:C8
inet addr:19216810030 Bcast:192168100255 Mask:2552552550
这就是绑定的IP地址。
[root@localhost ~]# cat /etc/resolvconf
; generated by /sbin/dhclient-script
search rhelcom
nameserver 19216810010
这里的DNS服务器地址也获取到了。
[root@localhost ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
1921681000 0000 2552552550 U 0 0 0 eth0
16925400 0000 25525500 U 0 0 0 eth0
0000 1921681001 0000 UG 0 0 0 eth0
默认路由也获取到了。查看一下端口:
[root@localhost ~]# netstat -tlunp | grep 68
udp 0 0 0000:68 0000 16150/dhclient
查看客户端的租约文件:
lease {
interface "eth0";
fixed-address 19216810030; //固定地址
option subnet-mask 2552552550; //子网掩码
option time-offset -18000; //时间偏移
option routers 1921681001; //默认路由
option dhcp-lease-time 21600; //租约时间
option dhcp-message-type 5;
option domain-name-servers 19216810010;
option dhcp-server-identifier 19216810020;
option nis-domain "rhelcom";
option domain-name "rhelcom";
renew 5 2010/4/9 09:01:40;
rebind 5 2010/4/9 11:34:53;
expire 5 2010/4/9 12:19:53;
}
windows下:
把IP地址设成自动获取。
C:\Documents and Settings\Administrator>ipconfig /all
Connection-specific DNS Suffix : rhelcom
Physical Address : 00-0C-29-D3-C6-B3
Dhcp Enabled : Yes
Autoconfiguration Enabled : Yes
IP Address : 192168100253
Subnet Mask : 2552552550
Default Gateway : 1921681001
DHCP Server : 19216810020
DNS Servers : 19216810010
Lease Obtained : 2010年4月9日 14:44:12
Lease Expires : 2010年4月9日 20:44:12
基本配置完成。
1 查看是否设置开机启动
chkconfig --list | grep dhcpd
2 查看端口是否打开
netstat -anulp | grep :67
3查看服务状态
/etc/initd/dhcpd status
查看是否运行dhcp服务: ps aux | grep dhcp |grep -v grep
4:关闭 dhcpd
/etc/initd/dhcpd stop
5:开启 hdcpd
/etc/initd/dhcpd start
准备好PE维护U盘、映像总裁软件(网络中可搜索下载)。首先使用安装命令进行安装DHCP服务器包dhcp3-server,安装完成后,编辑/etc/default/isc-dhcp-server使用INTERFACES选项定义DHCPD响应DHCP请求所使用的接口。
2、接着让DHCPD守护进程监听eth0,使用如图所示的设置进入接口配置静态地址,主文件/etc/dhcp/dhcpdconf填写会发送到客户端的所有网络信息。
3、然后指定执行任务、是否执行任务,还有指定要发送给DHCP客户端的网络配置选项,定义网络拓扑、指定客户端、为客户端提供地址,或将一组参数应用于一组声明。
4、接着打开并修改主文件,定义DHCP服务器选项,在文件顶部设置以下全局参数,它们将应用指定使用情况的参数值。
5、然后给特定的客户机分配一个固定静态的 IP,显式将这台机器的MAC地址以及静态分配的地址添加到文件中去,进行保存关闭文件。
6、最后启动DHCP服务,并让它下次开机自启动,允许DHCP守护进程监听67UDP 端口的防火墙权限,这样就可以轻松的使用DHCP服务。
我认为有2种办法1。你可以查看防火墙信息,如图,可以清晰的看到,1921681200的IP给了哪个MAC地址
2
/var/lib/dhcpd/dhcpdleases
这个文件专门记录了DHCP的分配情况
1 查看是否设置开机启动
chkconfig --list | grep dhcpd
2 查看端口是否打开
netstat -anulp | grep :67
3查看服务状态
/etc/initd/dhcpd status
查看是否运行dhcp服务: ps aux | grep dhcp |grep -v grep
4:关闭 dhcpd
/etc/initd/dhcpd stop
5:开启 hdcpd
/etc/initd/dhcpd start
service named status 查看DNS服务状态。 (把named改成dhcpd就是查看DHCP服务状态
2 netstat -anpl |grep 53 查看DNS端口。(把53改成67就是DHCP端口)
3 named-checkconf 检查DNS服务器配置文件
4 named-checkzone 正向域名 区域配置文件(比如named-checkzone abccom /var/named/abccomzone) 检查DNS正向区域文件内容
5 named-checkzone 反向域名 区域配置文件(比如named-checkzone 1168192in-addrarpa /var/named/1921681rev) 检查DNS反向区域文件内容
6 chkconfig --list named 检查DNS服务是否是开机自启动,on 是开启,off是关闭,可以使用chkconfig --level 35 服务名 on (或者off)进行开启或关闭)(把named改成dhcpd是检查DHCP服务)
7 ps aux |grep named 检查DNS服务进程,( 把named改成dhcpd是检查DHCP服务)
dhcp服务器是用来动态分配内网IP的,咗嚛搭建一个dhcp服务器可以用于自动分配局域网IP。当然很多路由器都有这个功能了,这里以centos系统为例
查找确认dhcp服务,通过rpm -qa查询
如果没有安装的话,通过 yum install dhcp即可安装
编辑dhcp服务器主配置文件,默认是空的。我们可以去拷贝一个模板,路径在/usr/share/doc/dhcp/dhcpconfigsample
然后我们编辑/etc/dhcp/dhcpconf文件,具体参考如下范例。range分配的地址池, optiondms dns服务器地址,option routers网关地址, 然后是租约的时间等
配置好之后,重启dhcp服务。 /etc/initd/dhcpd restart 如果是centos7系统,通过systemctl来重启服务
查看dhcp服务器地址,通过ifconfig确认
linux客户端怎么用dhcp服务器找到同一个网段的电脑,修改网卡配置文件,吧bootroto改成dhcp类型
然后重启网卡服务,就会自动去获取dhcp服务器的地址了
等待片刻之后,再次查看IP已经分配为dhcp地址池的地址了
dhcp客户端查看,可以通过dhclient命令查看
如果是win系统,通过ifconfig/renew 获取地址。当然要改成自动获取模式哈
0条评论