烂泥:centos安装及配置DHCP服务器
有关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服务器的更多相关文章
- 烂泥:centos安装及配置DNS服务器
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 要在centos配置DNS服务器,要先安装DNS软件BIND.当然我们也可以安装其他的DNS软件,比如国内的开源DNS软件DNSPod. 在此我们以通过 ...
- 烂泥:CentOS安装及配置TFTP服务器
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 为什么要学习有关TFTP服务器的安装及配置呢?主要是为了后续学习有关linux系统的无人值守安装做准备. TFTP简单文件传输协议,使用UDP的69端口 ...
- 怎样在 CentOS/RHEL 7/6 上安装和配置 Sendmail 服务器
在 CentOS 上,可以通过 mailx 命令 或 sendmail 命令来给因特网发送电子邮件. 关于前者的文章比较多,关于后者的文章比较少. 这里记录了我在 CentOS 7 上安装和配置 se ...
- 7、二种 为二个不同的子网配置DHCP服务器(中继代理服务器)
环境如下: (参考之前,保证二个子网可以互相ping通) 虚拟机vm1 192.168.170.3 VMnet8 (NAT模式) 虚拟 ...
- CentOS安装与配置LNMP
本文PDF文档下载:http://www.coderblog.cn/doc/Install_and_config_LNMP_under_CentOS.pdf 本文EPUB文档下载:http://www ...
- Kali Linux常用服务配置教程安装及配置DHCP服务
Kali Linux常用服务配置教程安装及配置DHCP服务 在Kali Linux中,默认没有安装DHCP服务.下面将介绍安装并配置DHCP服务的方法. 1.安装DHCP服务 在Kali Linux中 ...
- (转)RedHat/CentOS安装和配置kerberos
RedHat/CentOS安装和配置kerberos 需要在kerberos server和客户端都先安装ntp (Internet时间协议,保证服务器和客户机时间同步 ) 1 kerberos 服 ...
- Linux配置DHCP服务器,DHCP中继配置
配置dhcp服务器 第一步:配置网卡 第二步: 安装dhcp (需要先构建yum仓库,构建yum仓库的方法在之前的博客里有) 编写dhcp.conf文件 进去以后会出现这个内容 需要执行下面的内容将内 ...
- Windows Server 2003 下如何安装及配置 FTP 服务器(转)
Windows Server 2003 下如何安装及配置 FTP 服务器 一.安装 FTP 服务器组件: 写在这里的一点 : 安装及配置 FTP 服务器之前 , 必须先手工配置服务器本身的 IP 地址 ...
随机推荐
- Qt 框架 开发HTTP 服务器 开发记录
最近需求需要开发一款 HTTP ,然后由于先前接触过Qt,就直接用Qt写HTTP服务器了,也是为了当作练手,要不然是直接上HTTP框架的. 后端用C++ Qt框架 前端为了练手 当然是纯生的 js h ...
- linux2.4.18内核定时器的使用
Linux2.4下驱动中定时器的应用 我的内核是2.4.18的.Linux的内核中定义了一个定时器的结构: #include<linux/timer.h> struct timer_lis ...
- 内存分段 && 缓冲区 && 析构函数
一.内存中的程序: 在进程被载入内存中时,基本上被分成许多小的节,以下是6个主要的节. 低地址 高地 ...
- Python正则表达式模块(re模块)
Python是我接触到的第一门编程语言,虽然它足够简单,但是对于当时刚刚接触编程语言的我来说还是有些难度的,于是只是了解了一些Python的基本语法,稍微深入一点的地方都没怎么了解.不过,到现在为止, ...
- PowerShell与CMD在路径解析上的一点不同
对于路径含有空格的文件夹,在加入PATH环境变量时,前后往往会加上引号.这种情况,CMD可以正确识别:但是Powershell却不能加上引号,否则无法定位路径. 例如,在PS中,$env:path查看 ...
- java响应微信用户信息(wechat4j)
你的微信应用程序接收到用户发送的消息事件之后,可以进行响应.wechat4j支持多种消息的响应. wechat4j响应消息的部分在wechat4j的入口WechatSupport.java中定义,直接 ...
- Underscore学习笔记1
项目用了很久underscore.每次都是临时查手册,没有系统的研究过,最近有空正好看看 github地址:https://github.com/lily1010/underscore_learn 一 ...
- windows上JSP开发环境全搭建
JSP开发环境全搭建 最近需要用到JSP做项目,所以要配置JSP的开发环境,总结一下配置步骤以备以后再配置需要. 配置JAVA开发环境,配置JDK 下载JDK,在这里下载开发所需的JDK,可以根据自己 ...
- [ javascript html Dom image 对象事件加载方式 ] 对象事件加载方式
<!DOCTYPE html> <html lang='zh-cn'> <head> <title>Insert you title</title ...
- xUtils类库的使用
序言: 作为一个职业的程序猿,不会像新手一样把每一个需要实现的功能每次重写一遍,因为程序猿能熟练的使用各种第三方类库. 毕竟人类因为会使用工具才站到了食物链顶端. 现在就让我们学习使用xUtils类库 ...