本文由秀依林枫提供友情赞助,首发于烂泥行天下

有关DHCP服务器的配置一直打算学习,这几天终于抽出时间来专门学习这个知识点。

DHCP:动态主机配置协议,在此就不多做介绍。不清楚的童鞋,可以去百度下。

本次实验OS:centos6.5 64bit

双网卡:eth0为外网网卡,eth1为内网网卡

eth0网卡外网可以正常连接互联网,如下:

要想配置DHCP服务,我们要先来安装DHCP软件包,如下:

yum -y install dhcp

检查安装DHCP软件包,所生成的文件。如下:

rpm -ql |dhcp

通过上图我们可以看到有DHCP服务的配置文件以及DHCP服务的启动文件。

通过上图我们可以知道,DHCP的配置文件为/etc/dhcp/dhcpd.conf。但该配置文件内容默认是空的,我们可以从dhcp安装目录下复制一个到/etc/dhcp/下。如下:

vi /etc/dhcp/dhcpd.conf

cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf

dhcpd.conf文件有两大部分,分别是全局配置和局部配置:

1、当全局配置与局部配置发生冲突时,局部配置优先级更高。

2、配置文件中每一行必须以分号结尾,因为在启动dhcpd时是不会报错的,只能通过查看日志文件/var/log/message得知配置文件是否有问题。

3、局部配置必须包含在一对中括号之间。

●常用参数:

●ddns-update-style (none|interim|ad-hoc):定义所支持的DNS动态更新类型,该参数必选且必须放在第一行且只能在全局配置中使用。

●default-lease-time:客户端IP默认租约时间,单位秒,该参数可以在全局配置、局部配置均可使用。

●max-lesase-time:客户端IP租约时间的最大值,单位秒,该参数可以在全局配置、局部配置均可使用。

●subnet 网络号 netmask 子网掩码 {…..}:定义作用域。

●range 起始IP 结束IP:动态IP地址范围。

●option routes IP地址:默认网关,该选项可以在全局配置、局部配置均可使用。

●option subnet-mask 子网掩码:默认子网掩码,该选项可以在全局配置、局部配置均可使用。

●option domain-name-servers:DNS服务器地址,该选项可以在全局配置、局部配置均可使用。

●option domain-name:DNS后缀,该选项可以在全局配置、局部配置均可使用。

●host 名称 {…..} 为特殊机器保留IP地址。

相关的事例说明如下:

ddns-update-style none;

subnet 10.5.5.0 netmask 255.255.255.224 {设置子网声明

range 10.5.5.26 10.5.5.30;设置DHCP的IP地址池

option domain-name-servers ns1.internal.example.org;设置DNS服务器地址

option domain-name "internal.example.org";为客户端设置DNS后缀

option routers 10.5.5.1;设置缺省网关为192.168.2.1

option broadcast-address 10.5.5.31;设置DHCP的广播地址

default-lease-time 600;设置客户端缺省的地址租期

max-lease-time 7200;设置客户端最长的地址租期

}

host ubuntu {为MAC地址00:0c:29:ee:38:80的机器保留IP地址10.5.5.3

hardware ethernet 00:0c:29:ee:38:80;

fixed-address 10.5.5.3;

}

本次实验的配置如下:

more /etc/dhcp/dhcpd.conf

option domain-name "ilanni.com";

option domain-name-servers 192.168.1.1,223.5.5.5;

default-lease-time 600;

max-lease-time 7200;

ddns-update-style none;

subnet 10.5.5.0 netmask 255.255.255.0 {

range 10.5.5.2 10.5.5.254;

option domain-name-servers 192.168.1.1;

option routers 10.5.5.1;

default-lease-time 600;

max-lease-time 7200;

}

host ubuntu{

hardware ethernet 00:0c:29:ee:38:80;

fixed-address 10.5.5.3;

}

注意有关作用域的配置,其实模版配置文件中。是有几个版本的,如下:

我们使用的最后一个配置选项,以上配置文件保存后,我们现在来设置DHCP服务器两张网卡的网络配置。

我们来设置eth0外网网卡,具体配置如下:

more /etc/sysconfig/network-scripts/ifcfg-eth0

eth1内网网卡,具体配置如下:

more /etc/sysconfig/network-scripts/ifcfg-eth1

同时因为本机是多网卡机器,所以我们在此还要配置DHCP监听的网卡。如下:

vi /etc/sysconfig/dhcpd

我们再前边已经提到过eth1网卡时内网网卡,所以在DHCP监听的网卡中我们填写的是eth1.

以上配置完毕后,我们现在来启动DHCP服务,如下:

上述配置文件中,我们特别为MAC地址00:0c:29:ee:38:80机器预留10.5.5.3这个IP地址,其他的机器我们没有做此设置。

我们来先看其他机器,如下:

通过上图,我们可以看到此机器已经正常获取IP地址及相关的信息。

再来查看那台我们做过保留的IP地址的机器,如下:

通过上图,我们可以看到该机器通过手工设置IP地址的,而且IP地址就是我们预留的。

按道理说,到此我们的DHCP服务器已经配置完毕。但是我们会发现,已经获得IP地址的机器是不能上网的,如下:

这个已经和DHCP服务本身没有关系了,而是需要我们再DHCP所在的服务器开启NAT服务。

为了操作方便,我们先暂时关闭DHCP所在服务器的防火墙,如下:

/etc/init.d/iptables stop

开启IP转发功能,如下:

然后在执行sysctl –p命令:

注意图中的报错信息,这个是因为没有加载bridge模块导致。现在我们来手工加载该模块,如下:

modprobe bridge

lsmod |grep bridge

然后再次执行sysctl –p命令,如下:

以上操作完毕后,再执行如下iptables命令,开启iptables的NAT网络地址转换功能。如下:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

其中eth0为外网网卡。

通过这条命令就可以开启iptables的NAT地址转换的功能,这条命令的意思是当有数据包要转发出去时,iptables就会将IP地址转换为eth0接口的IP地址。上边这条命令的好处在于不必理会接口的IP地址是什么,转换会自动进行。

或者以下命令:

iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE

iptables --append FORWARD --in-interface eth1 -j ACCEPT

现在我们再来看看,客户端是否可以正常连接互联网。如下:

以上对防火墙的操作是暂时的,下次重启DHCP服务器客户端还是无法正常连接互联网。

我们可以通过/etc/init.d/iptables save,把该规则进行保存。如下:

/etc/init.d/iptables save

more /etc/sysconfig/iptables

最后我们来查看租约的数据库文件/var/lib/dhcpd/dhcpd.leases,如下:

到此我们有关DHCP服务器的相关配置已经全部完成。在这还有一部分知识没有介绍,是和PXE有关的。这部分,我们会在kickstart无人值守安装linux中做介绍。

烂泥:centos安装及配置DHCP服务器的更多相关文章

  1. 烂泥:centos安装及配置DNS服务器

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 要在centos配置DNS服务器,要先安装DNS软件BIND.当然我们也可以安装其他的DNS软件,比如国内的开源DNS软件DNSPod. 在此我们以通过 ...

  2. 烂泥:CentOS安装及配置TFTP服务器

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 为什么要学习有关TFTP服务器的安装及配置呢?主要是为了后续学习有关linux系统的无人值守安装做准备. TFTP简单文件传输协议,使用UDP的69端口 ...

  3. 怎样在 CentOS/RHEL 7/6 上安装和配置 Sendmail 服务器

    在 CentOS 上,可以通过 mailx 命令 或 sendmail 命令来给因特网发送电子邮件. 关于前者的文章比较多,关于后者的文章比较少. 这里记录了我在 CentOS 7 上安装和配置 se ...

  4. 7、二种 为二个不同的子网配置DHCP服务器(中继代理服务器)

    环境如下:        (参考之前,保证二个子网可以互相ping通) 虚拟机vm1        192.168.170.3                    VMnet8 (NAT模式) 虚拟 ...

  5. CentOS安装与配置LNMP

    本文PDF文档下载:http://www.coderblog.cn/doc/Install_and_config_LNMP_under_CentOS.pdf 本文EPUB文档下载:http://www ...

  6. Kali Linux常用服务配置教程安装及配置DHCP服务

    Kali Linux常用服务配置教程安装及配置DHCP服务 在Kali Linux中,默认没有安装DHCP服务.下面将介绍安装并配置DHCP服务的方法. 1.安装DHCP服务 在Kali Linux中 ...

  7. (转)RedHat/CentOS安装和配置kerberos

    RedHat/CentOS安装和配置kerberos 需要在kerberos server和客户端都先安装ntp (Internet时间协议,保证服务器和客户机时间同步 ) 1  kerberos 服 ...

  8. Linux配置DHCP服务器,DHCP中继配置

    配置dhcp服务器 第一步:配置网卡 第二步: 安装dhcp (需要先构建yum仓库,构建yum仓库的方法在之前的博客里有) 编写dhcp.conf文件 进去以后会出现这个内容 需要执行下面的内容将内 ...

  9. Windows Server 2003 下如何安装及配置 FTP 服务器(转)

    Windows Server 2003 下如何安装及配置 FTP 服务器 一.安装 FTP 服务器组件: 写在这里的一点 : 安装及配置 FTP 服务器之前 , 必须先手工配置服务器本身的 IP 地址 ...

随机推荐

  1. [Test] 单元测试艺术(1) 基础知识

    单元测试不是软件开发的新概念,在1970年就一直存在,屡屡被证明是最理想的方法之一. 本系列将分成3节: 单元测试基础知识 打破依赖,使用模拟对象,桩对象,测试框架 创建优秀的单元测试 本节索引: 单 ...

  2. 复利计算6.0—软件工程(web版本)

    复利计算再升级------------------------------------------------------------ 客户在大家的引导下,有了更多的想法: 这个数据我经常会填.... ...

  3. Use the PDFs below or the HTML contents to the left to install and configure P6 EPPM and its additional components.

    Welcome to Your Documentation   Use the PDFs below or the HTML contents to the left to install and c ...

  4. URL与图像格式

    绝对/相对URL “绝对URL”是指资源的完整的地址,通常以“http://”打头: “相对URL”是指Internet上资源相对于当前页面的地址,它包含从当前页面指向目标资源位置的路径,不以“htt ...

  5. ScriptManager和UpdatePanel控件实现局部刷新

    ScriptManager和UpdatePanel控件联合使用可以实现页面异步局部更新的效果.其中的UpdatePanel就是设置页面中异步局部更新区域,它必须依赖于ScriptManager存在,因 ...

  6. 【jQuery基础学习】09 jQuery与前端(这章很水)

    这章主要是将如何将jQuery应用到网站中,或者说其实就是一些前端知识,对于我这种后端程序来说其实还是蛮有用的. 关于网站结构 文件结构 前端文件分三个文件夹放 images文件夹用来存放将要用到的图 ...

  7. js 当前日期及时间

    返回时间格式 : 2016-07-22 10:22:30 function getNowFormatDate() { var date = new Date(); var seperator1 = & ...

  8. Servlet3.0 Test

    1. Servlet3.0 Test and Annotation used 你可以从tomcat7中lib文件夹中找到servlet-api.jar package com.goodfan.serv ...

  9. linux shell 编程

    1,获取命令执行的结果,字符串拼接(脚本最常使用的功能)   cmd_result=$(date +%Y%b%d)        //使用变量获取命令执行的结果 或者 cmd_result=`date ...

  10. nginx服务器是怎么执行php脚本的?

    简单的说: fastCGI是nginx和php之间的一个通信接口,该接口实际处理过程通过启动php-fpm进程来解 析php脚本,即php-fpm相 当于一个动态应用服务器,从而实现nginx动态解析 ...