如何在 UbuntuDebian Linux 中设置 DHCP 服务

如何在 UbuntuDebian Linux 中设置 DHCP 服务,第1张

步骤 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服务。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 如何在 UbuntuDebian Linux 中设置 DHCP 服务

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情