linux服务器DHCP配置问题,第1张

仅仅悬赏5分,还要截图,这样有人回答才怪了,我直接给你贴出来例子,然后照做吧,一看就是linux课后作业。

今天来说一下在RHEL54中搭建DHCP的过程,DHCP服务器的主要作用就是为客户机分配IP地址,搭建DHCP服务器的具体步骤如下:

一、首先确定你的系统中已经安装好DHCP包,如果安装好了,那么就可以继续下一步配置了,相反,就得到相应的网站去下载最新版本。可以使用命令“rpm -qa |grep dhcpd”来查看DHCP软件包是否安装上了。如果没有安装好,那么可以把系统光盘挂载到系统里面,然后使用命令”rpm -vih dhcp-”来安装DHCP软件包。

二、配置DHCP服务器的IP地址,可以使用VI编辑器来编辑"/etc/sysconfig/network-scripts/ifcfg-eth0"来配置IP地址,如:要给eth0配置一个19216801的IP地址,那么这个配置文件可以这么改:

DEVICE=eth0            //为此网卡配置的IP地址;

BOOTPROTO=static        //这个网卡接口是静态IP地址还是动态IP地址,静态为static,动态为dhcp;

HWADDR=00:0C:29:3A:E3:B7    //此网卡的MAC地址;

IPADDR=19216801        //静态IP地址;

NETMASK=2552552550    //上面IP地址的子网掩码;

三、配置好IP地址后,使用命令“service network restart”来重启网络服务以使IP地址生效。

四、IP地址弄好后,然后就是修改DHCP服务的配置文件,默认DHCP的主配置文件存放在目录“/etc/dhcpdconf"里,当我们第一次编辑此配置文件时,配置文件里会提示我们可以参考“/usr/share/doc/dhcp*/dhcpdconfsample“帮助文件,我们只要使用命令”cp /usr/share/doc/dhcp/dhcpdconfsample /etc/dhcpdconf“把那个帮助文件拷到etc下面进行覆盖,然后再进行配置。

注意:那个*是指DHCP软件包的版本号,而不是通配符。

五、到这一步就可以对配置文件进行修改来实现DHCP服务的运用了。在修改之前我们首先来看一下这个文件中的一些参数各代表什么意义:

1声明:

  DHCP配置文件中的declaration(声明),用来描述dhcpd服务器中对网络布局的划分,是网络设置的逻辑范围,常用的声明具体如下:

shared-network:用来告知是否为一些子网络分享相同网络。

subnet:描述一个IP地址是否属于该子网。

range:用来提供动态分配IP地址的范围。

host:需要进行特别设置的主机,如为LAN中的某个打印机服务器配置一个固定的IP地址。

group:为一组参数提供声明。

allow unknown-clients; deny unknown-clent:是否动态分配IP地址给未知的使用者。

allow booting;deny booting:是否响应使用者查询。

filename:开始启动文件的名称,应用于无盘工作站。

next-server:设置服务器从引导文件中装入主机名,应用于无盘工作站。

2参数:

ddns-update-style:配置DHCP-DNS为互动更新模式。

default-lease-time:指定默认的租约时间的长度,单位为秒。

max-lease-time:设置最大租约时间长度,单位同样为秒。

hardware:设置网卡接口类型和MAC地址。

server-name:告知DHCP客户服务使用的IP地址。

get-lease-hostnames flag:检查客户端使用的IP地址。

fixed-address ip地址:分配给客户端一个固定的IP地址。

authritative:拒绝不正确的IP地址的要求。

3选项:

subnet-mask:为客户端设定子网掩码。

domain-name:为客户端指明DNS名称。

domain-name-server:为客户端指定DNS服务器的IP地址。

hostname:为客户端指定主机名称。

routers:为客户端设定默认网关。

broadcast-address:为客户端设定广播地址。

ntp-server:为客户端设定网络时间服务器IP地址。

time-offset:为客户端设定和格林威治时间的偏移时间,单位为秒。

六、弄明白各个参数及选项的作用后,我们就可以搭建DHCP服务器了,下面以一个简单的实例来演示如何搭建一个DHCP服务器。

    假设一个公司的局域网络,在该网络中需要使用DHCP服务器,要求对DHCP服务器进行以下设置:

1网络中IP地址的网段为:19216810。

2子网掩码为:2552552550

3动态分配的IP地址区间为:1921681100-1921681254。

4DNS服务器的IP地址为:192168110。

5默认网关为:192168111。

6公司的打印机服务器IP地址要求为固定IP:19216815。

根据以上条件,修改/etc/dhcpdconf配置文件的内容如下:

ddns-update-style none;

ignore client-updates;

subnet 19216810 netmask 2552552550 {

    option routers        192168111;

    option subnet-mask        2552552550;

    option domain-name        "liweicom";

    option domain-name-server    192168110;

    range 1921681100 1921681254;

    default-lease-time 21600;

    max-lease-time 43200;

host print {

    hardware ethernet 00:0C:12:0F:1D:CE;  //打印服务器的MAC地址;

    fixed-address 19216815;

    }

}

七、上面就是根据实例中公司的需求来修改的配置文件,修改好后退出。然后建立客户租约文件,因为运行DHCP服务器程序还需要一个名为dhcpdleases的客户租约文件,在这个文件中保存了所有已经分配出去的IP地址。dhcpdleases文件默认位于/var/lib/dhcpd目录中,通过RPM包安装的DHCP服务器程序,默认有这个文件,如果不是RPM包安装的,而是tar包等安装的,那么就必须手动创建这么一个文件,不然DHCP服务启动不起来。

八、启动dhcpd服务,配置客户端。可以使用service dhcpd restart来重启dhcpd服务。客户端配置可以分为两种,一种是linux客户端,另一种是windows客户端,当然也许还有别的客户端类型,不过应该不多,linux客户端中需要手动修改/etc/sysconfig/network-scripts/ifcfg-eth0配置文件,把选项BOOTPROTO=dhcp改成这样,然后重启一个网络服务。而在windows客户端里有两种方法,一是在配置IP地址那里选择自动获得,二是在开始——》运行里输入cmd命令,在打开的终端中输入命令:ipconfig /release ,然后再输入ipconfig /renew来自动获得IP地址。当然做这些之前得保证客户机到DHCP服务器的网络是互通的。

九、做完上面这些后,你的DHCP服务器一般就可以使用了,如果不可以使用,那么根据出错的提示来进行排错。

工具/原料

一台Linux主机或虚拟机(这里CentOS 65为例)

编译源码或软件源方式安装dhcp软件

方法/步骤

首先我们先了解下 DHCP,DHCP采用客户端/服务器的工作模式,由客户端向服务器发出获取IP地址的请求,服务器接收到请求后会把网络配置信息发送给客户端,实现IP地址的动态分配。DHCP提供三种地址分配策略:

1:手工分配 在服务器上指定为哪些主机分配固定的IP,也就是说这些主机永远获取的都是给它们设置好的IP。

2:自动分配 地址分配给客户机后,这个地址就永远给了客户机。这样客户机不在线也不会回收IP,会造成浪费,不同于手工分配。

3:动态分配 也是用的最多的策略了,它将IP地址分配出去后会有个租约,等租约时间到了,就会回收IP,如果主机还在线,在租约时间快到时,会向DHCP服务器发送续约请求,以便继续使用。

以上手工分配适合于打印机、其他提供web服务、ftp服务的主机等,因为它们需要一个固定的IP地址。动态分配能有效解决IP地址不够用的问题,租约到期后被回收的IP地址会重新给新请求的客户端使用。

DHCP的安装可以通过从软件源直接安装或自己编译安装。编译安装的话下载地址在:https://wwwiscorg/downloads/

这里选择编译安装DHCP,下图为DHCP源码包的官方下载页面,我们选择最新版dhcp-431targz

首先我们先解压源码包

# tar xf dhcp-431targz

指定安装目录和配置文件目录

# cd dhcp-431

# /configure --prefix=/usr/local/dhcp --sysconfdir=/etc

配置过程非常快,等配置完了可以echo $确定下是否成功

接着就可以编译安装了,请耐心等待编译完成

# make && make install

如果采用软件源安装的话直接 " yum install dhcp "即可,不过版本会比较旧

接着将配置文件复制过去,在安装目录的 server 目录中

# cp server/dhcpdconfexample /etc/dhcpdconf

生产地址池文件,用于记录已经分配出去的IP地址

# touch /var/db/dhcpdleases

接着修改配置文件,在最后添加提供服务的网段

subnet 10000 netmask 255000

{

range 100050 1000100;

}

我这里为10000网段提供服务,range定义了地址池,记得修改成适合你们的,然后就可以试着启动服务了。

# /usr/local/dhcp/sbin/dhcpd

如果是以软件源方式安装的dhcp软件,直接 service dhcpd start

我们可以用" killall dhcpd "来结束服务

服务启动后可以用 " ps aux | grep dhcpd "查看下启动的进程,DHCP服务监听 udp 67 端口,客户端以广播的方式请求IP地址,整个局域网内,没开启DHCP服务的主机就忽视掉了请求,DHCP服务器就会响应这个请求,如果同时有多个DHCP服务器在工作肯定看哪个响应的快喽!

接下来再启动台主机试试效果把,我又启动了一台XP,让其自动获取IP地址,看 是不是获取了地址池中第一个IP "100050"呢

接下来看下dhcpd的配置文件 " /etc/dhcpdconf "

dhcpdconf中由声明、注释、参数、选项四大类语句构成

注释就是"#"开头的注释信息。声明定义网络布局,刚才的subnet就属于声明。参数是定义dhcpd服务的各种网络参数,如租约的时间、主机名等。选项是以option作为开始,为客户机指定主机名、广播地址、子网掩码等

声明:

include "filename" 将指定的文件内容添加到配置文件中

shared-network 名称 {

参数

声明

} 指定共享相同网络的子网

subnet 网段 netmask 子网掩码 {

参数

声明

} 定义哪些IP分配给客户,一般与range结合使用

range 起始地址 终止地址; 定义IP范围,终止地址可以没有

host 主机名 {

参数

声明

} 定义保留地址

group {

参数

声明

} 为一组参数提供声明

参数:

ddns-hostname 名称 指定使用的主机名,不设置默认当前主机名

ddns-domainname 名称 指定域名

ddns-update-style 参数 指定DNS的更新模式 { ad-hoc | interim | none }

default-lease-time 时间 默认租约时间(单位秒)

max-lease-time 时间 最大租约时间

server-name 名称 告诉客户端服务器的名称

hardware 接口类型 硬件地址 指定客户机硬件接口类型和mac地址

fixed-address IP地址 ,IP地址 为客户端提供一个或多个IP地址,该参数只能出现在host声明中

选项: 前面需加option

broadcast-address 广播地址 指定客户端广播地址

domain-name 域名 指定客户端域名

domain-name-servers 地址 指定客户端的DNS服务器

host-name 主机名 指定客户端主机名

ntp-server 地址 指定时间服务器地址

routers 地址 指定默认网关IP

subnet-mask 子网掩码 指定客户端子网掩码

比如我们为10000网段提供服务,DNS服务器为8888,网关为1000254,子网掩码为255000,默认租约时间6小时

subnet 10000 netmask 255000

{

range 100050 1000100;

option subnet-mask 255000;

option routers 1000254;

option domain-name-servers 8888;

default-lease-time 21600;

}

看看是不是网关和DNS也被自动获取了呢。注意都要以分号结束哦

现在再试试为其配置指定的IP地址,我们先把要指定主机的网卡mac地址记下来,然后给他配置10101010这个IP

subnet 10000 netmask 255000

{

range 100050 1000100;

option subnet-mask 255000;

option routers 1000254;

option domain-name-servers 8888;

server-name mydhcp;

default-lease-time 21600;

host winXP {

hardware ethernet 00:0C:29:6E:4B:A1;

fixed-address 10101010;

}

}

这回使用了 ipconfig -all 显示的更详细了,这里连服务器的地址也列出来了,也可以使用这个参数查看网卡的mac地址

11

演示用的是Windows主机,如果是Linux主机需要修改网卡的配置文件,设置"BOOTPROTO=dhcp",然后可以通过 dhclient eth0 来给eth0这块网卡获取IP地址。

linux下dhcp服务配置教程

发布于 2017-09-05 12:06:09 | 109 次阅读 | 评论: 0 | 来源: 网友投递

LinuxLinux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。

这篇文章主要为大家详细介绍了linux下dhcp服务的配置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

1、DHCP简介

(1)DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个简化主机IP地址分配管理的TCP/IP标准协议,用户可以利用DHCP服务器管理动态的IP地址分配及其他相关的环境配置工作,如:DNS服务器、WINS服务器、Gateway(网关)的设置。

(2)DHCP基于客户/服务器模式。当DHCP客户端启动时,它会自动与DHCP服务器通信,由DHCP服务器为DHCP客户端提供自动分配IP地址的服务。

(3)安装了DHCP服务软件的服务器称为DHCP服务器,启用了DHCP功能的客户机称为DHCP客户端。

2、实验要求

架设一台DHCP服务器,并按照下面的要求进行配置:

(1)为子网19216800/24建立一个IP作用域,并将在1921680100~1921680149范围之内的IP地址动态分配给客户机。

(2)假设子网中的DNS服务器地址为1921680253,域名为alicecom,将这些参数指定给客户机使用。

(3)为某台主机保留1921680120这个IP地址。

配置2台DHCP客户机,试测试DHCP服务器的功能。

根据要求完成上述DHCP实验,要求撰写完整实验教程(实验拓扑图、图文并茂的实验步骤 )

3、实验拓扑

4、实验步骤

(1)先挂载镜像,配置本地yum源

(2)解决网卡不一致问题,配置各主机IP地址

(3)将3台主机加入NAT网络,同时将NAT模式的DHCP功能关闭

(4)在dhcp-s上安装dhcp服务器(默认未安装)

[root@lyy 桌面]# yum install dhcp -y

(5)修改dhcpconf配置文件

[root@lyy 桌面]# gedit /etc/dhcp/dhcpconf /usr/share/doc/dhcp/dhcpconfsample

/usr/share/doc/dhcp/dhcpconfsample:是系统自带的dhcp配置文件的模板,可以根据需要参考复制相应内容

注意:配置文件一定要写正确,否则dhcp服务不能启动成功,如漏写 { 或 ;等等

(6)启动dhcp服务

[root@lyy 桌面]# service dhcpd start  //注意是httpd

(7)修改dhcp-c1的BOOTPROTO为dhcp

[root@lyy 桌面]# gedit /etc/sysconfig/network-scripts/ifcfg-eth0

(同样的方法修改dhcp-c2)

(8)分别重启dhcp-c1和dhcp-c2的网络服务

5、结果测试

查看dhcp-c1和dhcp-c2获取的ip

dhcp-c1:

dhcp-c2:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持PHPERZ。

相关阅读:

linux下dhcp服务配置教程

Linux操作系统安装图文配置教程详细版

linux下的dhcp服务的完全配置(图文详解)

linux下NFS配置教程详解

Linux下Varnish缓存的配置优化方法

Linux 操作系统下Web服务器配置详细介绍

Linux下防火墙的简单配置与插入规则介绍

linux下配置yum源方法详解

Linux下安装配置MySQL

linux防火墙配置教程之允许转发实验(2)

Linux 下sftp配置之密钥方式登录详解

linux下通过xinetd服务管理 rsync 实现开机自启动

linux系统下搭建DDNS服务

记住把 dhcp 和 bind, bind-utils 装上就行了。

配置:

一 生成密钥

# dnssec-keygen -a HMAC-MD5 -b 128 -n USER DHCP_UPDATER

这时当前目录下会生成Kdhcp_updater+xxx+xxxxxkey及private两个文件

# cat Kdhcp_updater+xxx+xxxxxkey

DHCP_UPDATER IN KEY 0 2 157 qSSpjerAuaPE/X3JJyxSww==

其中qSSpjerAuaPE/X3JJyxSww==下面要用到的。

参数说明:

上述dnssec-keygen命令的功能就是生成更新密钥,其中参数-a HMAC-MD5是指密钥的生成算法采用HMAC-MD5;参数-b 128是指密钥的位数为128位;参数-n USER DHCP_UPDATER是指密钥的用户为DHCP_UPDATER

二、DHCP的配置:

配置DHCP server 时很简单,可以参考 /usr/share/doc/dhcp-xxx/dhcpdconfsample来做。也可以先把这个文件cp 到 /etc/dhcpdconf,然后根据自己的需要做适当修改。下面贴出我的一个/etc/dhcpdconf,供大家参考:

ddns-update-style interim;

ignore client-updates;

max-lease-time 604800;

default-lease-time 86400;

key DHCP_UPDATER {

algorithm HMAC-MD5;

secret qSSpjerAuaPE/X3JJyxSww==;

};

zone shctocom {

primary 127001;

key DHCP_UPDATER;

}

zone 16023010in-addrarpa {

primary 127001;

key DHCP_UPDATER;

}

subnet 102301600 netmask 2552552550 {

range 1023016030 10230160230;

# --- default gateway

option routers 10230160254;

option subnet-mask 2552552550;

option broadcast-address 10230160255;

# --- option nis-domain "domainorg";

option domain-name "shctocom";

option domain-name-servers 1023012833,1023012834;

}

几个要注意的地方:

1 'ddns-update-style'

这个就是动态DNS的更新方式,有几个选项,我用的是interim,可以用 man dhcpdconf找到另外的几个选项。

2 'ignore client-updates'

这个选项是不允许客户机更新DNS记录。当然,也可能允许,但会有一点问题。

3 'key DHCP_UPDATER'

这个是更新DNS的KEY,是必须的。其中algorithm 后的是生成key的算法,key的生成是用 'dnssec-keygen -a HMAC-MD5 -b 128 -n USER DHCP_UPDATER'。

4 'zone'

要更新的zone,如果是本机就是DNS server,primay 就写127001,要是其它机器是DNS server, 就写那台机器的IP。

别的都是一般DNS该有的了,要注意的是一定要有 range 那一行,不然就分不了IP啦。

配好以后,可以启动一下试试, service dhcpd start,如果没问题,把dhcpd改成开机就启动,chkconfig --level 2345 dhcpd on。

三、bind(named)的配置。

# rpm -qa | gerp bind

看有没有bind-xx及bind-chroot-xx理论上chroot可以提高安全性但设置时繁琐一点

# rpm -qa | gerp caching-name

看caching-nameserver是否也已经装了,这个不装的话就要自己写namedca等几个文件了

######################3namedconf参考范例:

// generated by named-bootconfpl

options {

directory "/var/named";

/

If there is a firewall between you and nameservers you want

to talk to, you might need to uncomment the query-source

directive below Previous versions of BIND always asked

questions using port 53, but BIND 81 uses an unprivileged

port by default

/

forward first;

forwarders { 202992248; 2029922467; 202106020; };

// query-source address port 53;

};

//

// a caching only nameserver config

//

controls {

inet 127001 allow { localhost; } keys { rndckey; };

};

key DHCP_UPDATER {

algorithm HMAC-MD5;

secret qSSpjerAuaPE/X3JJyxSww==;

};

zone "" IN {

type hint;

file "namedca";

};

zone "localhost" IN {

type master;

file "localhostzone";

allow-update { none; };

};

zone "00127in-addrarpa" IN {

type master;

file "namedlocal";

allow-update { none; };

};

zone "16023010in-addrarpa" IN {

type master;

file "named16023010";

allow-update { key DHCP_UPDATER; };

};

zone "shctocom" IN {

type master;

file "namedshctocom";

allow-update { key DHCP_UPDATER; };

};

include "/etc/rndckey";

/var/named/

区域文件

$TTL 86400

$ORIGIN shctocom

@ IN SOA NS1shctocom rootNS1shctocom (

2007121001;

28800;

14400;

3600000;

86400);

IN NS NS1shctocom

IN MX 0 mailshctocom

mail IN A 1023012940

webserver IN A 1023012836

www IN CNAME webserver

smbserver IN A 1023012833

ftp IN CNAME smbserver

named12823010

$TTL 86400

@ IN SOA NS1shctocom rootmailshctocom(

2007121001;

28800;

14400;

3600000;

86400);

IN NS NS1shctocom

40 IN PTR mailshctocom

33 IN PTR smbservershctocom

80 IN PTR webservershctocom

其中多了的是

key DHCP_UPDATER {

algorithm HMAC-MD5;

secret qhB++OR5yWo8BTXwk/m4ng;

};

这就是更新dns要用的key,必须和dhcpdconf里的一样。

还有就是每个 zone 都可以用 key 来update了。

这样就行了。然后启动一下试试吧。

你就可以ping 机器名来找你同事的机器了。

四。测试(主要讲讲LINUX)

在客户机上加入一个文件/etc/dhclientconf内容如下

send fqdnfqdn "test"; //test为本机的hostname

send fqdnencoded on;

send fqdnserver-update off;

运行dhclient或重新启动

正常的话DNS服务器主机的/var/named/chroot/var/named下会多出一个以jnl结尾的

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » linux服务器DHCP配置问题

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情