如何在 UbuntuDebian Linux 中设置 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 服务器
1、 DHCP 配置的主文件是 /etc/dhcp/dhcpdconf, 你必须填写会发送到客户端的所有网络信息。
并且 DHCP 配置中定义了两种不同的声明,它们是:
parameters - 指定如何执行任务、是否执行任务,还有指定要发送给 DHCP 客户端的网络配置选项。
declarations - 定义网络拓扑、指定客户端、为客户端提供地址,或将一组参数应用于一组声明。
2、 现在打开并修改主文件,定义 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;
3、 现在定义一个子网,这里我们为 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 客户端上配置静态地址
1、 要给特定的客户机分配一个固定的(静态)的 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;
}
保存并关闭文件。
2、 接下来,启动 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
3、 接下来不要忘记允许 DHCP 服务(DHCP 守护进程监听 67 UDP 端口)的防火墙权限:
$ sudo ufw allow 67/udp
$ sudo ufw reload $ sudo ufw show
步骤 4:配置 DHCP 客户端
1、 此时,你可以将客户端计算机配置为自动从 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)。
此时,如果所有设置完成了,你的客户端应该可以自动从 DHCP 服务器接收 IP 地址了。
就是这样了!在本篇教程中,我们向你展示了如何在 Ubuntu/Debian 设置 DHCP 服务器。在反馈栏中分享你的想法。如果你正在使用基于 Fedora 的发行版,请阅读如何在 CentOS/RHEL 中设置 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
基本配置完成。
安装DHCP包
[root@miner-k ~]# yum -y install dhcp
[root@miner-k ~]# rpm -ql dhcpx86_64
/etc/dhcp
/etc/dhcp/dhcpdconf # DHCP的配置文件
/etc/dhcp/dhcpd6conf
/usr/sbin/dhcpd # DHCP的服务器端的主进程
/usr/sbin/dhcrelay # DHCP的中继服务器的进程
/var/lib/dhcpd/dhcpdleases #DHCP的租约记录
修改配置文件
option domain-name "iscorg"; # 指定/etc/resolvconf 中search后的参数
option domain-name-servers 114114115115, 114114114114; # DNS服务器的地址
subnet 102542390 netmask 255255255224 {
option routers 2042542391; #指定网关
range 1025423910 1025423920; # 指定DHCP的地址池,Linux分配IP地址是由大到小的分配,windows中分配是由小到大分配
option routers rtr-239-0-1exampleorg, rtr-239-0-2exampleorg;
}
# 通过MAC地址指定IP对应的主机
host fantasia {
hardware ethernet 08:00:07:26:c0:a5; #网卡的mac地址
fixed-address 1025423930; # 指定不在Range范围内的地址
DHCP 对应端口
服务器端 UDP 67
客户端 UDP 68
实例部署DHCP服务器
修改配置文件
[root@miner-k ~]# vim /etc/dhcp/dhcpdconf
subnet 1921681000 netmask 2552552550 {
range 192168100200 192168100210;
option domain-name-servers 114114114114,114114115115;
option domain-name "minerexampleorg";
option routers 1921681001;
default-lease-time 600;
max-lease-time 7200;
}
启动DHCP服务器
[root@miner-k ~]# service dhcpd restart
Starting dhcpd: [ OK ]
检查DHCP的监听端口
[root@miner-k ~]# netstat -anlp | grep 67
udp 0 0 0000:67 0000: 4841/dhcpd
subnet 1921682030 netmask 2552552550 {
range 192168203100 192168203119;
range 192168203131 192168203200;
default-lease-time 86400;
max-lease-time 86400;
host machine_name {
hardware ethernet 00:0f:1f:b2:11:3d;
fixed-address 1921681100;
}
}
1安装dhcp软件包
#rpm –ivh dhcp-301-12_ELi386rpm
2配置文件dhcpdconf
由于dhcpdconf默认没有包括在软件包中,所以要最近创建
#cp /usr/share/doc/dhcp-302/dhcpdconfsample /etc/dhcpdconf
3编辑dhcpdconf
#vi /etc/dhcpdconf
配置文件的基本格式
Subnet 19216810 netmask 2552552550 { range 1921681100 1921681200}
(声明了网络地址是19216810子网掩码是2552552550的子网中,ip地址从1921681100~1921681200之间的地址用于DHCP客户端进行动态地址分配)
在dhcpdconf配置文件中可以包括声明、参数和选项3种基本格式
Subnet是常用的声明,声明中的设置(大括号中的内容)在整个声明范围中有效;
Subnet关键字后面设置子网的网络地址,netmask关键字后面设置子网掩码
参数由设置项和设置值组成,根据参数所在位置的不同,参数的位置可作用于全局或指定的声明中,参数是以“;”结束的,如:
Default-lease-time 21600;(默认释放时间)
max-lease-time 43200;(最大释放时间)
选项总是由option关键字引导,后面跟具体的选项和选项的设置值,选项根据所在的位置不同可作用于全局或某个声明中,选项也是以“;”结束的,如:
Option routers 19216811 (网关)
Opyion subnet-mask 2552552550 (子网掩码)
使用host声明设置主机属性
host server01{
hardware Ethernet 0:c0:c3:22:46:81;
fixed-address 192168111;
option subnet-mask 2552552550
option routers 19216811;
}
上面的配置实例中使用host声明了名为server01的主机,其MAC地址为0:c0:c3:22:46:81,为主机分配使用的ip地址为192168111,同时为该主机设置的子网掩码是2552552550,网关地址是19216811
多网络接口时需要配置的文件
# vi /etc/sysconfig/dhcpd
DHCPDARGS=eth0
表示dhcp将只在eth0网络接口上提供DHCP服务。
4dhcpd服务的启动与停止
Dhcpd服务的启动脚本位于/etc/initd/dhcpd
启动dhcpd服务
#service dhcpd start
停止dhcpd服务
#service dhcpd stop
修改启动状态
#chkconfig –level 35 dhcpd on
准备好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服务。
0条评论