操作系统环境:1、Win7旗舰版64位,
2、Vmware上一台Red Hat Linux 6.232位
硬件配置: Win7 一个虚拟网卡MicrosoftLoopback Adapter
Linux一个虚拟网络: Vmnet0(Vmware里的虚拟网络,添加一个Vmnet0,默认桥接MicrosoftLoopback Adapter)
前期准备:1、Win7上安装好虚拟网卡MicrosoftLoopback Adapter,用来做实验测试,最好不要用本地的。
MAC 地址02:00:4C:4F:4F:50
2、Vmware打开虚拟机编辑,新增两块网卡,如图
Network Adapter 的MAC是:00:0C:29:40:47:20
Network Adapter2的MAC是:00:50:56:27:E1:27
3、配置这两个网卡:
Ifcfg-eth1
DEVICE="eth1"
IPV6INIT="none"
NM_CONTROLLED="yes"
ONBOOT="yes"
HWADDR=00:0C:29:40:47:20
IPADDR=192.168.46.3
GATEWAY=192.168.46.254
NETMASK=255.255.255.0
Ifcfg-eth2
DEVICE="eth2"
BOOTPROTO=dhcp
ONBOOT="yes"
OK,以上的工作准备好之后就开始安装配置DHCP服务器了。
一、安装
首先查询是否安装了DHCP服务器
[root@linux2 ~]# rpm -qa dhcp
dhcp-4.1.1-25.P1.el6.i686
显示我已安装,没安装的话执行rpm –ivh dhcp dhcp-4.1.1-25.P1.el6.i686.rpm
安装成功后查看下dhcp的配置文件有哪些,以方便我们工作
[root@linux2 ~]# rpm -qc dhcp
/etc/dhcp/dhcpd.conf //------------主要的配置文件
/etc/dhcp/dhcpd6.conf
/etc/openldap/schema/dhcp.schema
/etc/sysconfig/dhcpd
/etc/sysconfig/dhcpd6
/etc/sysconfig/dhcrelay
/var/lib/dhcpd/dhcpd.leases //--------DHCP上IP地址的租约数据库。
/var/lib/dhcpd/dhcpd6.leases
二、配置
编辑DHCP的主配置文件
[root@linux2 ~]# vim/etc/dhcp/dhcpd.conf
添加或修改以下内容,除了大括号,每个语句末尾要有分号结尾
subnet 192.168.46.0 netmask255.255.255.0 { #子网,用来确定DHCP在哪个网络接口坚挺DHCP服务的请求
option nis-domain "kerly.com"; #配置的NIS域
option domain-name-servers 192.168.46.1; #DNS服务器,注意:不能在DHCP分配的IP范围内!
option domain-name "kerly.com"; #配置域的域名
option routers 192.168.46.254; #网关地址,可以用route –n查看本机网关地址
option subnet-mask 255.255.255.0; #子网掩码
range dynamic-bootp 192.168.46.4192.168.46.140; #这个就重要了,是动态分配的IP地址范围,必须在子网的IP范围内
default-lease-time 600; #默认租约期限 秒为单位
max-lease-time 7200; #最大租约期限 秒为单位
}
#静态IP配置
host kernelry{
hardware ethernet 02:00:4C:4F:4F:50; #Win7上的虚拟网卡的MAC
fixed-address 192.168.46.2; #给它指定的IP
}
-----------------------------------------------------------------
那么,我们已经初步配置玩DHCP了,
[root@linux2 ~]# servicedhcpd restart
Shutting down dhcpd: [ OK ]
Starting dhcpd: [ OK ]
启动成功,如果启动时有错误的话,建议你去看看日志文件/var/log/messages
一般的错误原因:
1、bad range,address 192.168.46.42 not in subnet 192.168.46.0 netmask 255.255.255.224 # address 192.168.46.42 不在子网192.168.46.0和netmask255.255.255.224内。
2、语法错误,漏写分号,少大括号等。
3、DHCP服务器地址池中的IP地址与固定IP地址冲突
……
那么就开始让eth2使用DHCP服务器了
[root@linux2 ~]# ifdown eth2 #禁用eth2
[root@linux2 ~]# dhclient –r //释放地址租约(非必要)
[root@linux2 ~]# ifup eth2
活跃连接状态:激活中
活跃连接路径:/org/freedesktop/NetworkManager/ActiveConnection/24
状态:激活的
连接被激活
[root@linux2 ~]# dhclienteth2 //刷新网卡eth2,使其重新获取租约
我们可以通过ifconfig查看dhcp是否生效,还可以去看看日志文件
Ifconfig
eth2 Link encap:Ethernet HWaddr 00:50:56:27:E1:27
inet addr:192.168.46.5 Bcast:192.168.46.255 Mask:255.255.255.0
inet6 addr:fe80::250:56ff:fe27:e127/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:5859 errors:0 dropped:0overruns:0 frame:0
TX packets:2436 errors:0 dropped:0overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:523136 (510.8 KiB) TX bytes:206271 (201.4 KiB)
Interrupt:16 Base address:0x20a4
/var/log/messages
Jun 6 22:08:16 linux2 dhcpd: DHCPACK on 192.168.46.5to 00:50:56:27:e1:27 via
eth2
这个是Linux上面动态获取的IP,接下来我们去Win7上面看看静态获取的IP
首先,把这块虚拟网卡的TCP/Ipv4改成自动获取IP地址和DNS服务器地址,确定保存生效
运行cmd,执行ipconfig /all查看当前IP信息
以太网适配器虚拟网卡1:
连接特定的 DNS 后缀 . . . . . . .: kerly.com
描述. . . . . . .. . . . . . . . : Microsoft Loopback Adapter
物理地址. . . . . . .. . . . . . : 02-00-4C-4F-4F-50
DHCP 已启用 . . . . . . .. . . . : 是
自动配置已启用. . . . . . .. . . : 是
本地链接 IPv6 地址. . . . . . .. : fe80::392d:17cb:6cd5:c867%17(首选)
IPv4 地址 . . . . . . .. . . . . : 192.168.46.2(首选)
子网掩码 . . . . . . . . . . . . : 255.255.255.0
获得租约的时间 . . . . . . . . . : 2015年6月7日 12:52:35
租约过期的时间 . . . . . . . . . : 2015年6月7日 13:19:41
默认网关. . . . . . .. . . . . . : 192.168.46.254
DHCP 服务器 . . . . . . .. . . . : 192.168.46.5
DHCPv6 IAID . . . . . . . . . . . :469893196
DHCPv6 客户端 DUID . . . . . . . :00-01-00-01-1D-04-3F-66-6C-FD-B9-93-26-06
DNS 服务器 . . . . . . . . . . . : 192.168.46.1
TCPIP 上的 NetBIOS . . . . . . . : 已启用
也可以查看该网卡的状态信息。明显可以看到指定的IP地址,DNS后缀,和租约时间。
总结:
在配置DHCP服务器之前,要考虑好要保留的IP地址,哪些IP地址是静态的,哪些IP地址动态分配的。
还有租约时间是以秒为单位算的。
DHCP和DNS