扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
在本页阅读全文(共4页)
在配置了dhcp中继的路由器上,禁止无意义udp广播报的转发
问题的提出:
正如前面章节说描述的那样,路由器上配置IP helper addresses命令后,默认情况下路由器不仅转发dhcp请求,同时也转发其他的udp报,这样很可能会增加DHCP 服务器所在链路的负担,同时也增加了DHCP 服务器的CPU利用率,这可能会引起很严重的网络通信问题。
所以cisco的ios 提供了限制ip helpe-address 命令所带来的负面影响的方法。
解决实例;
CISCO路由器允许用no ip forward-protocol udp 命令来禁止对所无意义的UDP`数据报的转发
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#no ip forward-protocol udp tftp
//禁止转发tftp请求数据报文
Router1(config)#no ip forward-protocol udp nameserver
//禁止转发nameserver请求数据报文
Router1(config)#no ip forward-protocol udp domain
//禁止转发domain请求数据报文
Router1(config)#no ip forward-protocol udp time
//禁止转发time请求数据报文
Router1(config)#no ip forward-protocol udp netbios-ns
//禁止转发netbios-ns请求数据报文
Router1(config)#no ip forward-protocol udp netbios-dgm
//禁止转发netbios-dgm请求数据报文
Router1(config)#no ip forward-protocol udp tacacs
//禁止转发tacacs请求数据报文
Router1(config)#end
Router1#
关于配置的相关讨论;
1 配置了DHCP中继的路由器,默认情况下也转发下列udp 广播报文.
2 尤其是在windows的网络环境中,在没有配置no ip forward-protocol udp 的情况下,DHCP 服务器会接受到来自各个不同网段的大量的NetBIOS 请求报文,这通常是引起网络拥挤,阻塞的一个很大的原因,所以作为一个基本的配置准则,我们推荐你使用no ip forward-protocol udp netbios-ns 和 no ip forward-protocol udp netbios-dgm 这两条配置命令来限制路由器向DHCP服务器转发NetBIOS请求报文。
3 上面的实例中禁止了所有不必要的协议的转发,在实际的应用中,很多大公司通常只禁止NetBIOS 请求报文的转发,这主要是因为NetBIOS 报文是引起网络问题的关键原因所在。
4 必须认识到,配置了udp中继(ip hlpe-address x.x.x.x.)的路由器并没有实现针对不同协议,转发到不同的(或者说指定的服务器上)的功能。她会傻傻的,一古脑儿的把所有的协议(上表中所列的协议),义无反顾的发往所有的服务器。
例如,有server1 为dhcp 服务器(1.1.1.1 ) server2 为dns服务器(2.2.2.2)
在路由器上 配置如下后
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#interface Ethernet0
Router1(config-if)#ip helper-address 1.1.1.1
Router1(config-if)#ip helper-address 2.2.2.2
Router1(config-if)#end
Router1#
实际效果是,不管是server1还是server2都将接收到包括dhcp请求,dns请求,以及其他udp的请求报文。
配置路由器为DHCP客户端,使之动态获取ip地址
问题的提出:
有时候,你会希望自己的网络中的路由器动态获取ip地址(即配置路由器作为dhcp服务的客户端),这种情况通常是不多见的,我们也强烈不建议这么做,因为路由器作为网络中间设备需要有高度的可管理性以及可靠性,而动态地址是我们的路由器管理变得更加复杂和不稳定。
但是,有一种情况比较适合配置路由器为dhcp客户端,那就是路由器作为局域网(或者说内部网)的边界连接到isp的时候。
解决实例;
用ip address dhcp client-id 命令来配置路由器为DHCP的客户端,由此动态获取ip地址
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#interface Ethernet0
Router1(config-if)#ip address dhcp client-id Ethernet0 //开启DHCP的客户端,以使得该接口动态的从DHCP服务器端获得IP地址
Router1(config-if)#end
Router1#
Interface Ethernet0 assigned DHCP address 172.25.1.57, mask 255.255.255.0
Router1#
关于配置的相关讨论;
1 CISCO的IOS在版本12.1(2)T之后,加入了DHCP客户端以及DHCP服务器端功能,也就是说,在这之前的IOS只能配置DHCP的中继功能(ip helper-address)。
2 和普通的DHCP客户端一样,路由器配置为DHCP客户端后,也可以自动获得除ip地址以外的相关配置信息,例如网络掩码,默认网关,域名,DNS SERVER的ip地址。但是,要记住如果路由器本身用命令静态配置了域名,则路由器自身静态配置的域名为最终配置结果,而对于DNS SERVER 的信息,则是把动态获取的DNS SERVER ip 地址以追加的方式加入到静态配置表中去。
3 下面的输出是路由器动态获得默认路由的情况下的输出,输出显示由DHCP动态获得的路由条目为S(静态),AD(管理距离为254),这里值得注意的是AD自动被设置为254,由此保证由DHCP获得的路由是作为最后路由被路由器选择的,也就是说只有在静态路由,以及其他动态路由协议的路由表中不存在相应的路由条目的时候才被选择。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者