Linux下如何安装DHCP服务和使用
DHCP基于客户/服务器模式。当DHCP客户端启动时,它会自动与DHCP服务器通信,由DHCP服务器为DHCP客户端供给自动分配IP地址的服务。
当然高等的DHCP,不光只是分配地址这么简单,今天我们的课程只是架设一个普通的DHCP的服务器, client端能获取到上网必须的网络配置信息
安装了DHCP服务软件的服务器称为DHCP服务器,而启用了DHCP功效的客户机称为DHCP客户端,DHCP服务器是以地址租约的方法为DHCP客户端供给服务的,它有以下两种方法:
限定租期 和 永久租用
学DHCP服务器,就一定要知道DHCP服务器的工作原理:
DHCPDISCOVER(DHCP发明)
DHCPOFFER(DHCP供给)
DHCPREQUEST(DHCP请求)
DHCPACK(DHCP确认)
这个4个步骤,是client获取IP地址必经的步骤
DHCP供给的时候,服务器已经给client分配了IP地址,第二部分分给client的IP地址是临时的,client得到这个IP地址后,会发出DHCP请求,请求租用这个地址,服务器收到请求后,就会正式把这个地址分配给client,继而向client发送DHCP确认。
这个四步主要是应对同一网络多个DHCP服务器
后台过程:dhcpd
脚本:/etc/rcd/initd/dhcpd
使用端口:67
所需RPM包:dhcp
相关RPM包:
dhcp-devel-305-7el5i386rpm
dhcpv6-010-33el5i386rpm
dhcpv6_client-010-33el5i386rpm
配置文件:/etc/dhcpdconf
日志:/var/log/xferlog
再提示一点吧,网络启动方法也叫bootpc,这样获取的IP地址是不会受服务器的租期111tttcom的,它永远有效
好了,我们先安装DHCP服务器
一、下载或从光盘上找到DHCP服务安装包。
二、安装(dhcp代表其安装包名称):
# rpm -ivh dhcp
三、配置DHCP文件:
复制/usr/share/doc/dhcp/dhcpdconfsample 到/etc目录下,更名为:dhcpdconf
# cp /usr/share/doc/dhcp/dhcpdconfsample /etc/dhcpdconf
当然,也可以先vi /etc/dhcpdconf,然后在末行模式运行以下命令:
r /usr/share/doc/dhcp/dhcpdconfsample
这样这个dhcpdconfsample文件的内容就导进来了。
打开dhcpdconf,要修改的几个地方:
subnet 后面接的是你所定义的网段,要与本机的IP地址同网段,
每一语句以分号“;”结尾,不要忘记。
例如:我的IP是“192168211”,下面是我的配置文件:
ddns-update-style interim;
ignore client-updates;
subnet 19216820 netmask 2552552550 {
option routers 19216821;
option subnet-mask 2552552550;
option nis-domain "domainorg";
option domain-name "domainorg";
option domain-name-servers 19216821;
option time-offset -18000;
range dynamic-bootp 1921682100 1921682254
default-lease-time 21600;
max-lease-time 43200;
filename "/pxelinux0";
next-server 192168211;
host ns {
next-server marvinredhatcom;
hardware ethernet 12:34:56:78:AB:CD;
fixed-address 20717542254;
}
}
四、详细注解:
ddns-update-style interim; #定义所支持的DNS动态更新类型(必选),一般我们设置成关闭,
#interim和none都是关闭的意思
allow/ignore client-updates; #允许/疏忽客户机更新DNS记载
allow/deny unknown-clients; #是否动态分配IP给未知的使用者
allow/deny bootp; #是否响应激活查询
allow/deny booting; #是否响应使用者查询
subnet 19216820 netmask 2552552550 { #设置子网声明
# --- default gateway
option routers 19216821; #设置缺省网关为19216821
option subnet-mask 2552552550; #设置客户端的子网掩码
option nis-domain "domainorg"; #为客户设置NIS域
option domain-name "domainorg"; #为客户设置域名
option domain-name-servers 19216821; #为客户设置域名服务器
option time-offset -18000; # Eastern Standard Time #为客户端指定格林威治时间偏移时间,单位秒,
# 该选项可以在全局配置、局部配置均可使用
# option ntp-servers 19216821; #NTP是时间服务器
# option netbios-name-servers 19216821; 设置wins服务器
# --- Selects point-to-point node (default is hybrid) Don't change this unless
# -- you understand Netbios very well
# option netbios-node-type 2; #设置netbios节点类型 我不清楚这个netbios节点是什么东西
range dynamic-bootp 192168228 1921682254; #设置动态的地址池
default-lease-time 21600; #设置缺省的地址租期
max-lease-time 43200; #设置客户端最长的地址租期
# we want the nameserver to appear at a fixed address
filename "/pxelinux0"; #开始启动文件的名称,应用于无盘安装,可以是tftp的相对或绝对路径
next-server 192168211; #This is the name of the server they should get it from
#tftp服务器,可以和dhcp服务器不在同一机器上,一般是PXE网络使用此参数
#设置主机声明
host ns {
next-server marvinredhatcom; #设置由于定义服务器从引导文件中装入的主机名,用于无盘站
hardware ethernet 12:34:56:78:AB:CD; #指定dhcp客户的mac地址
fixed-address 20717542254; #给指定的mac地址分配ip
}
}
五、配置好dhcpdconf文件后就可以启动dhcp服务了:
# service dhcpd restart
这时可以用“netstat -nlutp”命令查看dhcp服务是否有启动。
六、其它相关文件:
1、这个文件/var/lib/dhcpd/dhcpdleases,可以看到被租出去的IP地址和相关信息。
2、这个文件/etc/sysconfig/dhcpd是指定DHCP服务器111tttcom的网卡,如果只有一个网卡,一般不用设置
DHCPDARGS=eth0 或者是eth1 ,如果全部111tttcom就不用管。
3、这个文件/etc/sysconfig/dhcrelay就是设置DHCP中继的文件,大家打开瞧一下吧。
interfaces 就是来自这个端口的dhcpdiscover(请求)都会转发到后面的DHCPSERVERS服务器。
设置了DHCP中继,需要启动中继服务:service dhcrelay start
七、在linux客户机下面,你可以手动配置你的dhcp:
观察你的网络配置文件,如果你没有设置为自动启动联网,则要修改你的网络配置文件。
# vi /etc/sysconfig/network
添加“NETWORKING=yes”(让引导的时候启动联网)
或者使用
# @echo “NETWORKING=yes”> /etc/sysconfig/network
然后再修改你的网卡配置文件
/etc/sysconfig/network-scriptes/ifcfg-eth0 文件应该包括这几行:
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
1、首先打开电脑网络的本地连接状态窗口页面,找到“属性”按钮。
2、接着继续点击“属性”,就会有本地连接的属性界面,在界面上选中“INTERNET 协议版本4( TCP/IPV4) ”。
3、选中协议后,再继续点击“属性”,这时就会弹出INTERNET 协议版本4( TCP/IPV4)的属性窗口页面,在这里需要将电脑的IP地址设置为自动获取。
4、然后打开电脑的浏览器,在浏览器的地址栏中键入“19216801”或者“19216811”,这个时候进入到路由器页面,在这里输入密码和账号。账号为默认用户名,密码默认为“admin”。
5、在登录完成后,需要继续在页面的菜单栏中找到“路由器设置”。
6、找到页面以后,点击进入到路由器设置的设置页面,在页面菜单中找到“DHCP服务器”。
7、点击“DHCP服务器”,进入到DHCP服务器设置的页面,在页面上可以看到开启和关闭DHCP服务器的功能。只需要选择开启,这时就将dhcp服务器配置完成。
动态主机配置协议(DHCP) 是一种用于使主机能够从服务器自动分配 IP 地址和相关的网络配置的网络协议。DHCP 服务器分配给 DHCP 客户端的 IP 地址处于“租用”状态,租用时间通常取决于客户端计算机要求连接的时间或 DHCP 服务器配置的时间。
步骤 1:在 Ubuntu 中安装 DHCP 服务器
1、 运行下面的命令来安装 DHCP 服务器包,也就是 dhcp3-server。
$ sudo apt install isc-dhcp-server
2、 安装完成后,编辑 /etc/default/isc-dhcp-server 使用 INTERFACES 选项定义 DHCPD 响应 DHCP 请求所使用的接口。
比如,如果你想让 DHCPD 守护进程监听 eth0,按如下设置:
INTERFACES="eth0"
同样记得为上面的接口配置静态地址。
步骤 2:在 Ubuntu 中配置 DHCP 服务器
3、 DHCP 配置的主文件是 /etc/dhcp/dhcpdconf, 你必须填写会发送到客户端的所有网络信息。
并且 DHCP 配置中定义了两种不同的声明,它们是:
parameters - 指定如何执行任务、本文所有软件都可以在《linux就该这么学》里找到相关的资源和讲解是否执行任务,还有指定要发送给 DHCP 客户端的网络配置选项。
declarations - 定义网络拓扑、指定客户端、为客户端提供地址,或将一组参数应用于一组声明。
4、 现在打开并修改主文件,定义 DHCP 服务器选项:
$ sudo vi /etc/dhcp/dhcpdconf
在文件顶部设置以下全局参数,它们将应用于下面的所有声明(请指定适用于你情况的值):
option domain-name "tecmintlan"; option domain-name-servers ns1tecmintlan, ns2tecmintlan; default-lease-time 3600; max-lease-time 7200; authoritative;
5、 现在定义一个子网,这里我们为 192168100/24 局域网设置 DHCP (请使用适用你情况的参数):
subnet 192168100 netmask 2552552550 { option routers 192168101; option subnet-mask 2552552550; option domain-search "tecmintlan"; option domain-name-servers 192168101; range 1921681010 19216810100; range 19216810110 19216810200; }
步骤 3:在 DHCP 客户端上配置静态地址
6、 要给特定的客户机分配一个固定的(静态)的 IP,你需要显式将这台机器的 MAC 地址以及静态分配的地址添加到下面这部分。
host centos-node { hardware ethernet 00:f0:m4:6y:89:0g; fixed-address 19216810105; } host fedora-node { hardware ethernet 00:4g:8h:13:8h:3a; fixed-address 19216810106; }
保存并关闭文件。
7、 接下来,启动 DHCP 服务,并让它下次开机自启动,如下所示:
------------ SystemD ------------ $ sudo systemctl start isc-dhcp-serverservice $ sudo systemctl enable isc-dhcp-serverservice ------------ SysVinit ------------ $ sudo service isc-dhcp-serverservice start $ sudo service isc-dhcp-serverservice enable
8、 接下来不要忘记允许 DHCP 服务(DHCP 守护进程监听 67 UDP 端口)的防火墙权限:
$ sudo ufw allow 67/udp $ sudo ufw reload $ sudo ufw show
步骤 4:配置 DHCP 客户端
9、 此时,你可以将客户端计算机配置为自动从 DHCP 服务器接收 IP 地址。
登录到客户端并编辑以太网接口的配置文件(注意接口名称/号码):
$ sudo vi /etc/network/interfaces
定义如下选项:
auto eth0 iface eth0 inet dhcp
保存文件并退出。重启网络服务(或重启系统):
------------ SystemD ------------ $ sudo systemctl restart networking ------------ SysVinit ------------ $ sudo service networking restart
另外你也可以使用 GUI 来在进行设置,如截图所示(在 Fedora 25 桌面中)设置将方式设为自动(DHCP)。
在Windows Server 2003系统中安装DHCP服务组件的方法如下:
第1步,在“控制面板”窗口中双击“添加或删除程序”图标,打开“添加或删除程序”窗口。单击“添加/删除Windows组件”按钮。
第2步,打开“Windows组件向导”对话框,在“组件”列表中双击“网络服务”选项。
第3步,打开“网络服务”对话框,在“网络服务 的子组件”列表中选中“动态主机配置协议(DHCP)”复选框。依次单击“确定”→“下一步”按钮。
第4步,系统开始安装和配置DHCP服务组件,完成安装后单击“完成”按钮。
一首先了解DHCP的概念
DHCP是实现主机IP地址DNS等动态配置的网络协议
DNCP可以在多种操作系统中实现,包括最常用的LINUX系统和WINDOWS系统
DHCP网络服务的结构中具有服务器和客户机两个角色
DHCP服务器用于为网络中所有的DHCP客户机提供网络配置信息,在同一网络中,
DHCP服务器通常是唯一存在在
网络中的任何主机都可以配置成为DHCP客户机,向DHCP服务器发出配置请求并按照服务器返回的信息进行网络配置
二DHCP服务器能够提供的网络配置信息
1网络接口的IP地址和子网掩码
2网络接口的IP地址对应的网络地址和广播地址
3默认网关地址
4DNS服务器地址
三DHCP服务器的配置
1安装DHCP服务器软件(在RHEL4系统的安装光盘中包括RPM格式的DHCP服务器软件包,包文件的名称是dhcp-301-12_ELi386rpm),在RHEL4的第4安装光盘中,在同一张安装盘中还包括与DHCP相关的其它软件包
# cd /media/cdrom/rehat/rpms/
#ks -l dhcp
dhcp-301-12_ELi386,rpm在REL4中没有被默认安装,需要手动安装
#rpm -qa | grep dhcp
#rpm -ivh dhcp-301-12_ELi386rpm
2其中/usr/sbin/dhcpd 是DHCP服务器的执行文件,/etc/rcd/initd/dhcpd是DHCP服务器的启动脚本,虽然文件名都是DHCPD,但是文件位于不同的目录,功能也不一样
DHCPDCONF配置文件以及建立配置文件和配置文件的格式
#ls /etc/dhcp
#vi /etc/dhcpdconf
如:
subnet 19216810 netmask 2552552550 {
range 1921681100 1921681200;
}
3全局设置
全局设置是DHCPDCONF配置文件中不包括在任何声明中的配置项(参数或选项),
作用于整个配置文件当声明中没有相应的配置项时将使用全局配置项的设置,当声明
中有相应的设置项时将使用本声明中设置,而不采用全局设置项的值
DHCPCONF配置文件中常用的全局设置如下:
1) ddns-update-style参数用来设置DHCP服务器与DNS服务器的动态信息更新模式
2) 默认租约时间使用default-lease-time参数设置,参数值的单位是秒
3) 最大租约时间使用max-lease-time参数设置,参数值的单位是秒
4) 主机所在域的名称使用domain-name先项进行设置,设置的域名将与主机名称一起组成
主机全名
5)DNS服务器地址使用domain-name-servers选项进行设置,设置的值为DHCP客户端需要使用的DNS服务器的IP地址
6)使用subnet声明设置子网属性
subnet 是DHCPCONF文件中最常用的声明,用于在子网中设置动态分配的地址的网络属性,subnet声明中可包括其他的参数就不再说了
4DHCP服务器的启动与停止及重起\和DHCP服务的状态
#service dhcpd start
#service dhcpd stop
#service dhcpd restart
#service dhcpd status
三DHCP配置实例
如
默认租约时间为21600S
最大租约时间为43200S
局域网内所有主机动的域名为abccom
客户机使用的DNS服务器的IP地址是19216811
声明在子网19216810/24中用于动态分配的IP地址范围是1921681100~~~1921681200所分配的子网掩码是2552552550默认网关是19216811
在子网19216810/24中有名为server01的服务器主机,需要的固定分配IP地址是19216811,
#vi /etc/dhcpdconf
ddns-update-style interim;
default-lease-time 21600;
max-lease-time 43200;
option domaion-name "abccom;
option domain-name-servers 19216811;
subnet 19216810 netmask 2552552550 {
range 1921681100 1921681200;
option subnet-mask 2552552550;
option routers 19216811;
host server01 {
hardware ethernet bo:co:c3:22:46:81;
fixed-address 192168111;
}
}
在RHEL中配置DHCP
一、 所需软件包可在rhel第四张光盘中找到 Dhcp-301-12_ELi386rpm Dhcp-devel-301-12_ELi386rpm 二、 相关配置文件
1、/etc/dhcpdconf #此文件默认不存在,可手工填写或复制模板
2、/usr/share/doc/dhcp-301/dhcpdconfsample #此文件为模板可复制为配置文件 3、/var/lib/dhcp/dhcpdleases #此文件为租约文件,记录客户机租约信息
4、/etc/sysconfig/dhcpd #如果服务器有多块网卡此文件中的DHCPDARGS=eth0配置行可设定在eth0这块网卡上监听请求,默认为全部监听 5、/etc/sysconfig/dhcrelay #中继配置文件
三、主配置文件/etc/dhcpdconf中常用声明、参数及选项 1、常用声明
subnet 1110 netmask 2552552550 { range 111100 111110; }
此声明类似windows环境中的作用域,表示在1110/24这个网段中发 IP地址,注意声明后的一对大括号左边的需和声明在同一行。 range 111100 111110; #是指在此声明中可为DHCP客户端动态发 放IP地址的范围,由起始IP 和结束IP 定义范围,本行必须以分号结 尾。
host client {
hardware ethernet 00:11:22:33:44:55; fixed-address 111222; }
此声明类似windows环境中的保留,此声明多设置在subnet 声明中,表示在subnet声明的网段中为特定的DHCP客户端保留IP地址,其中client表示此子声明的名字,常用的做法是以客户机的主机名为host声明命名, hardware ethernet 00:11:22:33:44:55; 表示客户机的MAC地址,fixed-address 111222; 表示当此MAC地址申请IP时所发放的IP地址。 shared-network test { }
此声明类似于windows环境中超级作用域,可以将多个subnet声明包括在其中,test为声明的名字。
2、常用参数
dns-update-style (none|interim|ad-hoc);
定义所支持的DNS动态更新类型,该参数必选且必须放在第一行且只能在全局配置中使用(所谓全局配置是指不包含在任何声明中)。 可选值:None;不支持。interim;DNS互动更新模式。ad-hoc;特殊DNS更新模式。
ignore client-updates;忽略客户端更新,该参数只能在全局配配置中使用。
default-lease-time 21600;默认IP租约时间,单位秒,该参数可以在全局配置、局部配置均可使用。(所谓局部是指在声明中使用,作用范围只是此声明)
max-lesase-time 43200;客户端IP租约时间的最大值,单位秒,该参数可以在全局配置、局部配置均可使用。
天互数据 为您解答,希望能帮到你
0条评论