dhcp服务器的安装配置与测试课程设计内容模板

dhcp服务器的安装配置与测试课程设计内容模板,第1张

dhcp:

如何解决局域网非法DHCP服务器问题?

最近公司里部分计算机频繁出现不能上网的问题,这些计算机都是自动获得IP的,但经过检查我发现他们获得的网关地址是错误的,按照常理DHCP不会把错误的网关发送给客户端计算机的。后来我使用ipconfig /release释放获得的网络参数后,用ipconfig /renew可以获得真实的网关地址,而大部分获得的仍然是错误的数据。所以我断言局域网中肯定存在其他的DHCP服务器,也叫做非法DHCP服务器。为什么真正的DHCP服务器分配的网络参数无法正确传输到客户机上呢?

首先来了解下DHCP的服务机制:

一般公司内部都会有一个DHCP服务器来给客户端计算机提供必要的网络参数信息的,例如IP地址,子网掩码,网关,DNS等地址,很多情况路由器就可以担当此重任。每次客户端计算机启动后都会向网络中发送广播包寻找DHCP服务器(前提是该计算机被设置为自动获得IP地址),广播包随机发送到网络中,当有一台DHCP服务器收到这个广播包后就会向该包源MAC地址的计算机发送一个应答信息,同时从自己的地址池中抽取一个IP地址分配给该计算机。

为什么非法DHCP会被客户端计算机认为是合法的?

根据DHCP的服务机制,客户端计算机启动后发送的广播包会发向网络中的所有设备,究竟是合法DHCP服务器还是非法DHCP服务器先应答是没有任何规律的,客户端计算机也没有区分合法和非法的能力。这样网络就被彻底扰乱了,原本可以正常上网的机器再也不能连接到intelnet。

解决方法:

1、ipconfig /release 和 ipconfig /renew

我们可以通过多次尝试广播包的发送来临时解决这个问题,直到客户机可以得到真实的地址为止。即先使用ipconfig /release释放非法网络数据,然后使用ipconfig /renew尝试获得网络参数,如果还是获得错误信息则再次尝试/release与/renew直到得到正确信息。

提醒:这种方法治标不治本,反复尝试的次数没有保证,另外当DHCP租约到期后客户端计算机需要再次寻找DHCP服务器获得信息,故障仍然会出现。

2、通过“域”的方式对非法DHCP服务器进行过滤

将合法的DHCP服务器添加到活动目录(Active Directory)中,通过这种认证方式就可以有效的制止非法DHCP服务器了。原理就是没有加入域中的DHCP Server在相应请求前,会向网络中的其他DHCP Server发送DHCPINFORM查询包, 如果其他DHCP Server有响应,那么这个DHCP Server就不能对客户的要求作相应,也就是说网络中加入域的DHCP服务器的优先级比没有加入域的DHCP服务器要高。这样当合法DHCP存在时非法的就不起任何作用了。

提醒:这种方法效果虽然不错,但需要域的支持。要知道对于众多中小企业来说“域”对他们是大材小用,基本上使用工作组就足以应对日常的工作了。所以这个方法,效果也不错,但不太适合实际情况。

3、在路由交换设备上封端口

DHCP服务主要使用的是UDP的67和68端口,DHCP服务器端应答数据包使用68端口,67端口为客户机发送请求时使用。所以我们可以在路由器上保留服务器的68端口,封闭客户机的68端口,就能达到过滤非法DHCP服务器的目的。

提醒:如果计算机很多的话,操作起来不方便,而且会增加路由器的负担,影响到网络速度。

4、查出非法DHCP服务器幕后黑手,进行屏蔽

DHCP服务器也充当着网关的作用,如果获得了非法网关地址,也就是知道了非法DHCP服务器的IP地址。通过ping ip 查到主机名,通过arp 主机名 查出MAC地址。知道了MAC地址,就可以在路由器中屏蔽这个MAC,或者是屏蔽该MAC的68端口。或者其他的方法都行,幕后黑手都找到了,怎么处置就随你了。我用的就是这第4种方法。

-----------------------------------------------------

WINS服务器和DNS服务器有什么区别?

对于许多人来说,WINS服务器和DNS服务器之间的关系还是一件神秘的事情。不过,我们希望用你的问题澄清这个事情。

首先,DNS指的是“域名服务器”,而WINS指的是“Windows互联网名称服务”。两者都是用来解析域名的,但是,使用的方法完全不同!

为了帮助说明这个问题,我准备使用一个例子,保证让你正确地了解这两种服务的情况。

考虑一个名为“Jupiter”的文件服务器和下面两个指令:

Ping Jupiter.space.net

Net use * jupiter mainshare

上面两个指令看起来很相似。第一个指令是向我们的文件服务器发送一个ping (icmp echo)数据包,确认这个服务器在工作。而第二个指令呼叫同一台服务器(jupiter),以便连接到一个名为“mainshare”的共享文件夹。

虽然这两个指令都指向同一台服务器(Jupiter),但是,它们之间的区别是很重要的。

这里的“Ping”使用DNS把Jupiter.space.net解析为一个IP地址,如204.45.12.1。而“net use”指令使用WINS把NetBIOS名称“Jupiter”解析为一个IP地址。

这样,你也许会感到疑惑,为什么有两种不同的服务实际上在完成同一个任务?

这个问题的答案是,这两种服务的每一种服务都依靠不同的协议。他们只是以不同的方式工作。

WINS是微软网络拓扑的一个重要的组成部分。在过去,你需要在Windows网络中运行一个WINS服务器以避免域名解析的问题。当时的这种NetBIOS(Windows机器名称)协议只能在NetBEUI传输协议上工作。如果你曾经使用过Windows 95,你会记得NetBEUI协议经常出现在你的网络属性中。在网络属性中,TCP/IP协议也是一个选项。

目前,DNS取代了WINS。由于微软对NetBIOS做了修改,允许它使用TCP/IP堆栈完成其工作(TCP/IP协议上的NetBIOS),大多数DNS服务器都能够处理NetBIOS的请求。这就是WINS服务器变得越来越少的原因。

简言之,DNS把TCP/IP主机名称映射为IP地址,WINS把NetBIOS主机名称映射为IP地址。

--------------------------------------------------------

DNS:

常见的DNS错误

1. 没有增加 SOA (start of authority) RR 的 serial 值

这是最主要的 DNS 出错的原因. 因为, serial 值没有增加, secondary server 就不会在 primary server 的资料改变后随著更心. 包括改变 SOA 里面其他的值, seconrary server 自己并不会发觉. 即使是修改 SOA RR 里面的资料, 也都要记得去改 SOA RR 的 serial 值. 改了 serial 后,secondary 到时后查出有增加, 就会从 primary 作一次 zone transfer. 改了 SOA RR 后, 最好去测试一下 secondary server 是不是有更新. 目前有些工具程式可以帮忙检查.

2. 在 BIND 中的资料, 后面, 少打了一个点 (.)

少打了一个点, 看起来差不多. 但是却造成了很大的问题. BIND 的设定档案一定要小心的设定. 要不然很可能产生以下的效果:

在 sample.com.tw. 这层: sample.com.tw IN NS ns.sample.com.tw 却是代表: sample.com.tw.sample.com.tw. IN NS ns.sample.com.sample.com.tw.

-- 在 com.tw 这层, 的确发生过这样的事情.

3. 忘记设定 reverse DNS (或称 pointer, PTR) RR

很多系统, 在有 connection 建立时, 会花一段不短的时间. 去查查client 端的 Domain Name 是否能够转成 IP Address. (例: Telnet)另外一个例子是 traceroute. 当在 traceroute 时, 所经过的 router都会去查 reverse, 在台湾常常因为没有设, 显示时就会 delay. 就是因为 traceroute 会去查每个 hop 的 domain name. 另外一个例子就是当连线到其它的 host, 该 host 上就会纪录来源地. 这时也要用 PTR. ==>参阅 RFC 1537, RFC 1713

4. DNS 管理者的协调工作

要是 parent 跟 chile zone 的管理者 (这层有可以有好几个 )没有联络好,很可能, 就会产生两种错误: lame delegations (不完整的授与) 还有missing delegations (遗失的授与). lame delegations 的情况是, parent列出下面某个 domain 的 name server, 但是其中可能有几台, 没有这个zone 的全部资料 (authority 的意义). 要是parent 列出的这些 name server 通通都没有 SOA (primary, secondary server 都会有 SOA), 这就成了 missing delegations. 最常遇到 missing delegations 的状况是这个单位改 IP, 但是又没有与上面一层通知. 当然, 也有一些程式可以帮忙找出 lame and missiong delegations.

-- 事实上, 从 syslog 中就可以找到一堆 “Lame server on ...“ 的讯息. 当然, 在 make BIND 时也可以关掉这些.

5. 坏的 resolv.conf 设定

resolv.conf 里面包含了 local domain, 当你没有把全部的 domain name 打出来时, 就会自动加上去这个东西. 然后机器就不会去查 DNS 而直接用这个 domain name 连出去了. 要是 resolv.conf 有不正确的 domain name entry, 那就有可能连到一堆不存在的地方. (然后得到 error.)

6. 旧的 root cache 档案

root cache 档案里面会写 root domain 的 DNS 的 domain name 还有 IP,root cache 并不是自己会去改变, 更新的. 而是要人工去设定. 系统管理员要去注意是否有新增家 root server. 要是一台 DNS 用了一个太旧的 root cache 档案, 就有可能有些 domain 会查不到. 最新的 root cache 档案可以从 ftp://rs.internic.net/domain/named.root 抓到.

服务器安装DHCP/DNS,自己的IP设为静态192.168.10.1/255.255.255.0.网关设置为192.168.10.254。在DHCP中设置分配区间为31-200.预留的也设置即可

DHCP服务器通过接收网络中广播的IP地址请求数据包为网络中没有IP地址的设备提供IP地址;

DHCP中继,相当于一个接力站,即为在不同的广播域的设备提供IP地址的中继站。因在不同的广播域,因此广播方式获取DHCP就不可能了,需要一个中继站将接收到的DHCP广播包转发到另一个广播域的dhcp主机,DHCP服务器根据来源包的转发端口(三层)为不同的广播域提供相应的IP地址。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/441390.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-30
下一篇2023-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存