秋秋

 

浅析企业上网行为管理


 上网行为管理是随着互联网的发展而产生的新的市场领,用户对网络安全的要求,已不仅局限于被动的防护(如:端口控制、防火墙、防病毒之类),开始主动的关注人的网络行为。上网行为管理到目前为止有7年的发展历史,2004年以后开始广泛普及,目前主要应用在金融和电信行业。

  市场发展

  近两年各个国家都加强了对网络安全的监管粒度,尤其是对互联网内容和人的网络行为的监管:在美国,著名的《萨班斯·奥克斯利法案》中规定上市企业必须对内部人员的上网行为进行控制和管理,以确保企业的IT系统运转正常,否则将面临被摘牌的可能。同样在中国,公安部发布了第82号令《互联网安全保护技术措施规定》,其中也明确规定:接入到互联网上的单位需要通过技术手段对内部上网行为进行审计,这在很大程度上促进了市场的需求。

  厂商发展

  网络行为管理作为一个新兴产业,已经成为业界的热点,未来几年市场将处于“井喷”时期,目前业界涌现了不少上网行为管理厂商。但是不同的厂商提供不同的产品,有着迥然不同的技术观点:国内厂商非常贴近国内用户的需求,能够对用户需求迅速响应,但技术层面相对欠缺;国外厂商掌握着比较先进核心技术,但是技术理念不适应国内用户需求,所以目前各个厂商的市场份额此消彼长。

  技术展望

  目前上网行为管理产品技术层面主要分为:协议识别、管理控制和报表分析三部分,另外附加一些其他功能点,如图1所示。

  上网行为管理主要功能点

                                              图1.上网行为管理主要功能点

  现在上网行为管理技术发展主要集中以下四个特性

  1. 上网内容过滤的准确性,特别是URL地址库的及时更新完善;

  2. 针对不断涌现应用协议识别的完备性:如P2P、IM、音视频、网游等;

  3. 信息保密性:防止各种重要敏感信息通过邮件、IM、FTP、BBS等方式泄露出去;

  4. 网络硬件平台的增强性,通过不断增强上网行为管理的网络硬件平台来保证其性能提升。

  Hillstone作为专业的安全网络解决方案的厂商对上网行为管理一直保持持续的关注,认为一个成功的上网行为管理产品方案是高性能的硬件平台和功能丰富的软件结合,特别是上网行为管理在针对上层应用协议做数据包代码特征和行为特征识别时会消耗很大的系统资源,容易造成性能的“瓶颈”,而Hillstone创新一代的网络安全架构(多核+ASIC)和专有的StoneOS (强大的应用层处理, QoS功能)为此提供了坚实的保障基础。

  同时Hillstone认为上网行为管理不仅仅是个单一的技术产品,还要符合用户的上网习惯和国情,所细心贴近国内用户的需求,避免了国外专业厂商在国内的水土不服,立志为国内用户创造一个良好的上网环境。

 
 
 
 

卡巴防火墙反黑客的设置技巧


  用了一段时间卡巴斯基自带的防火墙,对于“反黑客”有一点小的经验,跟大家分享一下。

  对“应用程序”的设置

  对于应用程序,我们知道他们都是以“.exe”为后缀名的,也就是可执行文件,所有程序的运行,包括病毒,都要以可执行文件来执行任务。“反黑客”里的“应用程序”项就是用来监控应用程序的联网状态的,由用户自己选择“允许”或“阻止”来控制是否联网。我们可以通过此设置来监控所有要联网的应用程序,并且“允许”、“阻止”。

  一般你将“反黑客”设置成“学习(训练)模式”时,任何未设定规则而要联网的应用程序都会弹出窗口询问用户。我们也可以自主的进行设置。

  进入“卡巴KIS主界面——设置——反黑客——点击第一个‘设置’ ”,便进入设置窗口,然后选择“应用程序规则”。如果你想添加规则,选择“添加”,编辑规则选择“编辑”,删除规则选择“删除”,同时还可以“导入”和“导出”数据库(没用过)。

  当你想添加时,选择“添加后”,会有一个“浏览”和“应用程序”选项,“应用程序”选项里都是已经在运行的应用程序,“浏览”需要自己寻找想添加规则的应用程序。选择好之后,进入编辑界面,再点击“添加”,出现编辑窗口。规则名称最好填应用程序的名称。“远程IP地址”的意思是“是否允许程序访问此远程IP地址”,比如QQ发出后,它要连接QQ服务器的IP;“远程端口”的意思是“是否允许程序通过某IP(非自己)的某端口进行访问”,比如QQ发出后,它要连接QQ服务器的IP的某端口;“本地端口”的意思是“是否允许程序通过自己的IP的某端口访问”;“时间范围”的意思是“允许或阻止此程序在这段时间进行网络访问”。附加操作大家都知道是什么意思,就不介绍了。设完了吗?没有!!你还需要在“规则描述”里进行设置,选择“允许或阻止”,“出入网”,“TCP连接或UDP数据包”,“端口、IP和时间”等设置。

  设置完之后,你可以随时在“模版”里进行规则的“允许或阻止”等设定,不需要重新进入修改。

  对“包过滤规则”的设置

  “包过滤”是什么?就是通过防火墙的设置,监测包的特征来“放行或阻止”的,“允许、阻止或限制”每个IP的数据包的传送和连接数,阻挡攻击,禁止访问某些站点等。这不就是“防火墙”的最基本的特性了么?对!有了“包过滤”,就勉强算是“防火墙”了。

  在设置上,和应用程序实际上差不多,只不过多了一个“本地IP地址”而已。现在,我要介绍一下怎么设置“IP地址”。和“应用程序规则”一样,进入“远程或本地IP地址”后都有很多选择,“电脑IP地址(也就是单独设置某一地址)”、“IP地址范围”和“子网地址”。“子网地址”应用的不多,本人也不是很懂,就不介绍了。“本地IP地址”的设置,输入自己局域网内的IP就行了(不包括自己),“IP地址范围”也是输入局域网内允许的范围;这是属于局域网内部的连接。“远程IP地址”应用不多,我就不介绍了。

  对于包过滤,用卡巴自带的规则一般就够了,不需要添加新的规则。

 对“区域”的设置

  “区域”里都是已存在和连接的网络,在这里可以添加新的网络连接的信任机制。默认的一般都有一个“Internet”,设置为“Internet”。局域网的话就会有另一个连接,最好设置为“本地网络”。隐秘模式便会隐蔽你的IP地址,保护安全。

  “Internet”,“本地网络”和“可信”的区别在于:

  Internet:阻止文件和打印机共享,阻止错误报告,应用应用程序规则和包过滤规则;(应用在公用网络)
  本地网络:允许文件和打印机共享,允许错误报告,应用应用程序规则和包过滤规则;(应用在有网关的网络,局域网)
  可信:允许文件和打印机共享,允许错误报告,不应用应用程序规则和包过滤规则。(允许任何连接)

  一般自己不用设置,在连接了新网络之后便会自动提示你,让你进行选择(默认是Internet)。

  “附加”里基本不用设置,用推荐项最好。

  侵入探测系统的设置

  这个为默认开启,也是肯定要开启的,根据其他人的观点,在“设置”里可以把“阻止攻击电脑”那个时间限制的勾去掉,并不会影响入侵的探测和阻止。时间限制只是用来封锁你的网络,使攻击者(黑客)不能连接你的电脑,没有太大的用处。默认的60分钟太长,意味着你在受到攻击后一个小时都不能上网。不放心的话,可以设为2分钟。

  一般来说如果不是频繁受攻击,卡巴的“反黑客”个人用户也就够用了,黑客一般不会无聊到攻击个人电脑的地步。但如果问题比较严重,还是要重视。

 

BEA WebLogic平台下J2EE调优攻略


应用程序调优(目录) 1.1.1 通用代码调优 1.1.2 减小没有必要的操作   对象的创建是个很昂贵的工作,所以我们应当尽量减少对象的创建,在需要的时候声明它,初 始化它,不要重复初始化一个对象,尽量能做到再使用,而用完后置null有利于垃圾收集。让类实现Cloneable接口,同时采用工厂模式,将减少类的创建,每次都是通过clone()方法来获得对象。另外使用接口也能减少类的创建。对于成员变量的初始化也应尽量避免, 特别是在一个类派生另一个类时。   异常抛出对性能不利。抛出异常首先要创建一个新的对象。Throwable接口的构造函数调用名为, fillInStackTrace()的本地(Native)方法,fillInStackTrace()方法检查堆栈,收集调用跟踪信息。只要有异常被抛出,VM就必须调整调用堆栈,因为在处理过程中创建了一个新的对象。 异常只能用于错误处理,不应该用来控制程序流程。   此外, 建议关闭Debug输出,尽量少用串行化、同步操作和耗时昂贵的服务(如Date())。 1.1.3 使用合适的类型   当原始类型不能满足我们要求时,使用复杂类型。String和StringBuffer的区别自不必说了,是我们使用最多的类型,在涉及到字符运算时,强烈建议使用StringBuffer。在做String匹配时使用intern()代替equal()。   带有final修饰符的类是不可派生的, 如果指定一个类为final,则该类所有的方法都是final。   Java编译器会寻找机会内联所有的final方法,这将能够使性能平均提高50%。类的属性和方式使用final或者static修饰符也是有好处的。   调用方法时传递的参数以及在调用中创建的临时变量都保存在栈(Stack)中,速度较快。所以尽量使用局部变量。   ArrayList和Vector,HashMap和Hashtable是我们经常用到的类,前者不支持同步,后者支持同步,前者性能更好,大多数情况下选择前者。 1.1.4 尽量使用pool,buffer和cache   使用pool、buffer和cache能大大提高系统的性能,这在J2EE的大部分技术中都是适用的。   在WebLogic中就大量使用了池:JDBC Connection Pool、Socket Pool、Object Pool和Thread Pool。I/O操作中,buffer是必须的,特别是对大文件的操作,不然容易造成内存溢出。字节操作最快,所以尽可能采用write(byte[]),Buffered FileOutputStream比Buffered FileWriter要快,因为FileWriter需要Unicode到Byte的转换。   而后面讲到的JDBC、JSP、EJB和JMS我们都非常建议使用buffer和cache。为HttpServletResponse设置buffersize,使用wl-cache,缓存在JNDI树上获取的对象等等。   此外,使用JDK 1.4的非阻塞I/O对性能也有很大提高。 1.2 JDBC代码调优 1.2.1 严格资源使用   JDBC代码调优最大的原则就是使用WebLogic的连接池,而不是自己直连数据库。在我接触的很多自己实现连接池的项目中,大部分遇到死锁和连接泄漏的问题,最后得不得修改代码。而WebLogic提供了功能强大,性能良好的数据库连接池,我们要做的只是封装一个连接管理类,从JNDI树上获取数据源并缓存,得到连接,并提供一系列关闭数据库资源的方法。   对任何资源使用的原则是用完即关,不管是数据库资源、上下文环境,还是文件。数据库资源的泄漏极易造成内存泄漏,乃至系统崩溃。在使用完数据库资源后依次关闭ResultSet,Statement和Connection,而在一个数据库连接多次进行数据库操作时要特别注意ResultSet和Statement依次关闭。 try{   //open connection   pstmt =conn.prepareStatement(strSql1);   pstmt.executeUpdate();   pstmt.close();   pstmt =conn.prepareStatement(strSql2);   rs=pstmt.executeQuery();   while (rs.next()){   //process  } rs.close(); pstmt.close();  }catch(Exception e){   //close rs,psmt,con }finally{   //close rs,psmt,con } 1.2.2 实用技巧   在JDBC操作中还有一些小的技巧跟大家分享:由于获取连接时默认自动提交方式,使用connection.setAutoCommit(false)关闭自动提交,使用PreparedStatement,批量更新,业务复杂或者大数据量操作时使用存储过程,尽量使用RowSet,此外设置记录集读取缓存FetchSize和设置记录集读取方向FetchDirection对性能也有一定的提高。 1.2.3 优化SQL语句   SQL语句的优化牵涉到很多数据库的知识,需要与索引配合,因此需要DBA对代码中的SQL进行检查测试。常见的,select *不提倡使用,效率极差,建议显式获取列,即使是所有字段也应罗列,而取总数时使用count(*),为提高cache的命中率,尽量做到SQL重用。对于大数据量的查询,可以充分利用Oracle数据库的特性,每次取出m-n行的数据,实现分页查询。另外,提高性能的好选择可能就是把所有的字符数据都保存为Unicode,Java以Unicode形式处理所有数据,因此,数据库驱动程序不必再执行转换过程。 1.3 Web代码调优 1.3.1 HttpSession的使用   应用服务器保存很多会话时,容易造成内存不足,所以尽量减少session的使用,放置session 里的对象不应该是大对象,最好是简单小对象,实现串行化接口。当会话不再需要时,应当及时调用invalidate()方法清除会话。而当某个变量不需要时,及时调用removeAttribute()方法清除变量。请勿将EJB对象放置在session中。 1.3.2 JSP代码调优   目前,在JSP页面中引入外部资源的方法主要有两种:include指令,以及include动作。 include指令:例如,该指令在编译时引入指定的资源。在编译之前,带有include指令的页面和指定的资源被合并成一个文件。被引用的外部资源在编译时就确定,比运行时才确定资源更高效。 include动作:例如。该动作引入指定页面执行后生成的结果。由于它在运行时完成,因此对输出结果的控制更加灵活。但是,只有当被引用的内容频繁地改变时,或者在对主页面的请求没有出现之前,被引用的页面无法确定时,使用include动作才合算。   对于那些无需跟踪会话状态的jsp,关闭自动创建的会话可以节省一些资源。使用如下page指令: ; 尽量不要将JSP页面定义为单线程,应设置为; 在JSP页面最好使用输出缓存功能,如: ; 尽量用wl:cache定制标记来缓存静态或相对静态的内容,缓存jsp:include操作的结果能显著提高应用程序的运行性能。 1.3.3 Servlet代码调优   Servlet代码调优比较简单:在Servlet之间跳转时,forward比sendRedirect更有效;设置HttpServletResponse 缓冲区,如:response.setBufferSize(20000); 在init()方法里缓存静态数据,而在destroy()中释放它;建议在Servlet里使用ServletOutputStream输出图片等对象;避免在Servlet和Jsp中定界事务等。 1.4 JMS代码调优 1.4.1 注意必要的事项,避免使用不必要的特征   JMS提供了强有力的消息处理机制,但是为了最大限度的提高JMS系统的性能,应避免使用不需要使用的特征,同时也要注意必要的事项。比如:尽量使用接收程序能直接使用的最简单、最小的消息类型;消息选择器要尽可能简单(最好不使用),尽量不要使用复杂的操作符,如like、in或者between等,使用字符串数据类型的速度最慢; 务必为特定的应用程序定义特定的JMS连接工厂,并且禁用默认的JMS连接工厂;不要在javax.*与weblogic.*的名字空间中使用JNDI名称;尽量使用异步消费者,线程不必封锁以等待消息的到达; 使用完JNDI树上的资源后注意关闭。 1.4.2 消息类型的选择   标准JMS提供了五种消息类型,而TextMessage应用最为普遍, 当发送的消息是几种原始数据类型的集合体时,最好使用MapMessage消息类型,而不要使用ObjectMessage,以便减少不同系统间的耦合。此外消息是否使用压缩要慎重考虑,压缩未必能减少消息大小。如果生产者、消费者和目的地并置在同一WebLogic Server内部,通常不使用压缩。WebLogic特有的XMLMessage能为运行于消息主体之上的消息选择器提供内嵌式支持,而且易于数据交换。因此,建议应用程序之间传送消息使用XML消息格式,而应用程序内部间传送消息使用二进制消息格式。 1.4.3 确认方式的选择和JMS事务   使用事务性会话时,尽量使用恰当的消息确认方式:如果需求允许,使用NO_ACKKNOWLEDGE; 非持久的订阅者使用DUPS_OK_ACKNOWLEDGE或者MULTICAST_NO_ACKNOWLEDGE。而使用JTA的UserTransaction,确认方式将被忽略。在使用JMS事务时,无效的消息会导致事务的回滚,以致消息重发这样的死循环。此时,可以将无效消息发送到错误消息队列,并提交JMS事务,这将确保消息不会再次传递。 1.5 EJB代码调优 1.5.1 有效使用设计模式   GoF 的《设计模式》为我们实现高性能、易扩展的J2EE应用提供理论保障和技术支持。而EJB作为J2EE的核心组件和技术,善用设计模式对系统性能影响很大。Service Locator 和Value Object 已为我们所熟悉,Floyd Marinescu的《EJB Design Patterns》中的Session Fa?ade、Message Fa?ade、EJB Command和Data Transfer Object等设计模式更是为我们提供设计典范:缓存对EJBHome的访问;使用门面模式,不暴露Entity Bean,用Session Bean封装Entity Bean;如果可以异步处理,则用MDB代替Session Bean;封装业务逻辑在轻量级JavaBean中;使用值对象等简单对象传递数据; 不直接使用get/set方法操作Entity Bean。当然过度使用模式或者牵强套用模式也是不提倡的,总的原则就是减少网络流量,改进事务管理。 1.5.2 使用EJB和WebLogic的特性   使用EJB和WebLogic的新特性往往能提高性能。与EJB2.0特性相关的技巧有:一个Application中使用本地接口,对于Entity Bean肯定使用本地接口,避免远程调用的开销;使用CMP管理关系,而不是BMP,EJB2.0中CMP的性能大大改善,性能和移植性都优于BMP;使用ejbSelect进行内部查询;使用home方法进行外部查询和批处理; 数据库驱动级联删除等。   与WebLogic特性相关的技巧有:使用自动生成主键,WebLogic为Oracle和Sqlserver两种数据库的CMP提供了自动生成主键功能,节约了Entity Bean产生主键的时间,同时设key-cache-size不小于100; WebLogic管理事务性能更好,使用容器管理,而不是Bean管理事务; WebLogic提供了为CMP动态查询和批量插入功能,对性能也有很大帮助。 1.5.3 缓存资源   对SLSB或者MDB来说,使用setMesssageDrivenContext()或者ejbCreate()方法缓存特定资源,在ejbRemove()方法里释放; 对SLSB或者MDB来说,使用setSessionContext()或者ejbCreate()方法缓存特定资源,在ejbRemove()方法里释放; 对Entity Bean来说,使用setEntityContext ()方法缓存特定资源,在unSetEntityContext ()方法里释放。 1.5.4 如何选择和使用Entity Bean   1. 在设计EJB时,要适当考虑EJB的粒度, 细粒度的EJB在事务管理和资源管理的开销太大,尽量创建粗粒度的 EJB , 不要太粗,粗到能满足实际需求就可以;   2. Entity Bean不是唯一方式,如果只有一个很小的数据子集被经常改变,建议采用JDO;   3. 在操作大数据量的时候,直接采用JDBC比Entity Bean更有效;   4. 避免采用返回很大数据组的finder方法,如 FindAll() 方法,因为它的实现代价太大;   5. 考虑设置域组field groups,减少没有必要并昂贵的属性加载,如BLOB;   6. 对于EJB1.1或者BMP,可以设置is-modified-method-name属性,根据isModified()的值来判断是否调用ejbStore()等方法,减少没有必要运算;   7. 避免连接多个表创建BMP,可以使用视图,存储过程或者O/R Mapping等方式。 1.5.5 其他的一些小技巧   1. 考虑使用 javax.ejb.SessionSynchronization 接口,提供在Rollback之后恢复数据的方法: afterBegin(), beforeCompletion(), afterCompletion();   2. 使用完SFSB之后,调用remove()方法释放实例;   3. 假如你不需要EJB服务的时候,建议使用普通Java类;   4. 避免EJB之间相互调用;   5. 使用多读模式。

谈谈Java Web开发的学习路径


 如果没接触过的人,刚听到Web一词就会感到既神奇又恐慌;神奇之处在于它能带给人海量的资源,图片、新闻等等;恐慌在于构成这一网站的元素太多,这就意味着要想成为一名Java Web开发人员,要学习大量的Web知识。

  这里指的Java Web开发主要是基于B/S架构,B代表Browser,S代表Server

  以下列出的顺序是我近来摸索出的

  理解http协议、web交互原理

  html 4.0 这是最初用来显示网页内容的基础技术

  xml 和html最显著的区别是它是用来存储数据的而不是显示数据的

  css 随着后续浏览器版本的更新,会支持这一页面样式设计技术

  xhtml 1.0 这可以说是html和xml的结合体,后续的xhtml都是基于html 4.0

  javascript 这是客户端脚本技术,可用来控制客户端业务逻辑

  tomcat结构,目录的含义

  servlet

  jsp

  熟悉MyEclipse, 因为它包含了大量的插件,省去了分别找插件来安装,非常方便

  理解并运用MVC即模型试图控制器的框架

  熟悉Struts,Spring,Hibernate这三中开源框架的应用

深入剖析安全备份数据十大注意事项


  如今的数字生活方式可能会令成千上万的人仅仅因为没有及时备份而失去他们宝贵的个人资料。希捷公司指出,由于很多人不知道如何备份或者认为这件事无关紧要,所以很少为他们的数据备份。

  通过备份来保护数据和文件,不仅可以使您安心,还能防止无法替代的记录及个人数据遗失,损坏或被窃。

  在今天的数字时代,个人历史大都是以电子方式记录的,例如来自家庭成员的电子邮件; 记录孩子关键时刻的照片; 喜爱的歌曲和记录欢乐时光的视频等。这些都是不可替代的回忆,失去它们的后果是很严重的。这也正是希捷致力于教育消费者明白为数字资料备份重要性的原因所在。

  为帮助消费者保护自己的数字资产和回忆,希捷列举了以下十大注意事项用于安全备份和保护数据。

  以下是进行备份的十项要点:

  1)任何人都做得到。一个关于数据保护的极大谬论是,它需要相当高层次的技术知识。然而事实并非如此。希捷外置硬盘所提供的解决方案操作简便,只需按键数下便可以备份所有重要的文件。一旦做出设定,日后的备份只需按键一次!

  2)设定计算机自动进行备份。工作繁忙的一周很容易导致您忘记对数据进行备份。并且在您忘记备份的时候也许是您最希望曾经这样做的时候。幸运的是,现在您可以设定计算机在您方便的时候自动进行备份。希捷公司最新推出的外置硬盘如Maxtor One Touch 4或FreeAgent Pro,具备预先安装的备份软件,能够为您自动完成整个备份程序。

  3)您需要有一个计划-不同的人有不同的备份需求。如果您是一位摄影爱好者,可能需要大量空间来储存越来越多的照片。对其他人来说,可能保护的是他正在埋头苦干的畅销小说。这也就是为什么您应该根据您的生活方式和需求制定出一个合适您的备份计划。举例来说,刚刚崭露头角的作者应该每晚为他们所作的修订进行备份,这样就不会失去任何文稿。而摄影师可以对每张从相机中下载的照片同时制作两份副本,一份存入电脑,另一份备份在外置硬盘中。

  4)异地备份-为保护数据不会因为自然灾害、火灾或者盗窃而丢失,您应该使用两块硬盘,其中一块不要随身携带,或者使用在线的存储解决方式。毕竟,即使您已经备份笔记本电脑到外置的移动硬盘。一旦硬盘被盗,您的备份策略仍然是失败的。另一种选择是使用远程备份,将关键数据通过互联网存储在一个远距离的硬盘内,并在需要恢复时下载有关数据。

  5)裸机恢复(Bare metal restore)助您走出困境!-裸机恢复系统除了保护文件之外,还可以为您的计算机包括操作系统和安装程序创造一套完整的镜像。即使计算机发生系统故障或遭病毒攻击,裸机恢复系统可以确保重新启动和运行完整的系统设置和应用程序。购置一套裸机恢复系统如Maxtor® SafetyDrill TM,可以让您的计算机在几小时内便能重新启动并运行。

  6)循环利用硬盘,而非数据-在处置、出售及重新使用硬盘前必须运行删除程序。在删除数据时,人们必需识别出那些用来存储重要数据的硬盘,并对它们给予足够的重视。经过加密的硬盘更容易被重新利用。没有加密钥匙,解密及读取数据是根本做不到的。您可以完全放心硬盘内的数据不会被新主人取得。

  7)加密意味着安全-加密技术是确保重要数据不会流入他人之手最可靠和最有效的方法。加密解决方案有可以加密文件和文件夹的软件产品,以及可以加密整部硬盘的硬盘产品。在确定选择哪种方式来保护数据时,您应考虑其脆弱性、复杂性以及性能等方面。相比发生数据灾难所带来的潜在成本,您在保护数据方面的投资就显得微不足道。

  8)留意硬盘过热!-在保护外置硬盘时,您应该注意以下几点。首先,要记住过热是硬盘出现问题的重要原因,所以要确保您的硬盘具备适当的通风和换气装置。另外应避免直接接触电磁装置,而一个良好的电源冲击保护器也是很有帮助的。

  9)立刻整理磁盘碎片-整理磁盘碎片有助于延长其使用寿命,并确保数据的安全性。碎片整理过程的一个环节是检查硬盘各部分的有效性,如果它们已经失效,碎片整理工具会将数据移至一个运作良好的区域。

  10)灰尘、沙子、水和撞击-希捷和迈拓的硬盘都是密封的,以防止灰尘、沙子和其它形式的污染干预其运作。然而,硬盘有很小的呼吸孔,以帮助平衡硬盘内外部之间的气压差,因此它们不是防水的。由于硬盘内含有活动的零部件,所以在使用硬盘时应保持静止状态,以降低出现错误的几率。此外,应尽量避免有重物跌落在硬盘上,但如果外壳内的磁盘仍然完整,那么您仍然有可能通过专业的数据恢复服务挽回您的数据。

胡言乱语之SOA


IBM等巨人一直声嘶力竭、不遗余力的宣传,数载下来,SOA便开始在江湖盛传,成为传说中的无所不能的利器。但是否实施SOA,决定权掌握在高层的老总手中,而IBM的销售代表们,则将天花乱坠的解决方案,很容易的输入到老总的大脑;而老总对于实施SOA来改变当前混乱的局面,亦寄予了厚望。
  SOA的全称是"Service Oriented Architecture"(面向服务的架构),但我还是觉得作为一般人来讲,不太好理解这是什么意思。
  其实SOA是老东西了。早在1996年就有这个概念,当年,Gartner提出了SOA,当时给出的定义如下:“A service-oriented architecture is a style of multitier computing that helps organizations share logic and data among multiple applications and usage modes.”。由于当时的技术水平和市场环境尚不具备真正实施SOA的条件,因此那时候,SOA并未引起广泛关注,在很长一段时间内归于沉寂。
  随着越来越多的企业将业务转移到互联网领域,带动了电子商务的蓬勃发展。为将公司的业务打包成独立的、具有很强伸缩性的基于互联网的服务,人们提出了Web服务的概念,这可以说是SOA的发端。直到6年以后,也就是2002年末,Gartner提出SOA是“现代应用开发领域最重要的课题”,经过了三年的时光,2005年一些IT组织成功建立并实施SOA应用软件,IBM等厂商看到其价值,也纷纷推出自己的SOA解决方案。Gartner预测SOA将成为占有绝对优势的软件工程实践方法,SOA将结束传统软件体系架构长达40年的统治地位,将有60%的商业公司在进行商业IT建设时会转向SOA。至此,SOA成了江湖上最火的词汇。
  那么,SOA落地中国有哪些问题需要去解决呢?我认为,首先要搞清楚SOA能干什么,不能干什么,到底是怎么回事,只有了解了这些,其他的事情就好说了。
  首先,SOA并不是纯技术,而是一种架构,一套最佳实践,不是仅仅用钱就能买来的。没有任何两个SOA应用是相同的。刚才说了,SOA是一套最佳实践,不同的企业会根据各自特定的需求而选择不同的实施方案,所以SOA最佳的方案不会是一成不变的,它是处于经常变化的。
  实施SOA有什么好处呢?它可以很好地减少总体成本、增加资产再利用、提供更清晰的商业透明度,更重要的是,它在复杂多元的环境中增加了商业灵活性。但如果你遇到的问题不在此之列,SOA则可能不是正确的选择。
  实施SOA最大的问题是什么呢?答案就是:组织、文化和政治。因为,在国内,很少有人愿意接受改变、共享资源并为别人的项目做贡献。比较起这些挑战,SOA的技术反而是简单的。SOA最大的技术挑战是服务抽象的创建和维护。商业服务隐藏了存在于背后的IT商业和用户的复杂性,然而复杂性是真真切切存在的,SOA实际上增加了背后的复杂性。
  控制、质量和管理是SOA的核心架构问题。没有控制,SOA注定失败。SOA前后联系质量成为正在探索的、整个生命周期的攻坚战。管理是松耦合问题的关键,而松耦合是服务抽象的核心架构原则。
  你要知道,单纯的买卖并不需要SOA。企业需要的是,商业问题的解决方案,而最成功的SOA最初不叫SOA,却解决了他们迫切想解决的问题。所以SOA更多的是IT带来的秘密武器,帮助企业解决商业问题。
  目前的问题是,SOA尚未成熟。最佳实践正在摸索,标准正在制订,还有许多其他不成熟的地方。大部分的SOA项目仍处于早期阶段,但这并不意味着你无法从SOA中得到较高价值。只是你要既要知道它的优点,也要知道它的缺点。
  结合到中国的具体环境,企业在实施SOA过程中遇到一些难题,这很正常,因为SOA是一种新生的事物,它暴露了过去IT系统一直存在的诸多问题:建设模式、原有系统、组织架构、治理模式等等。对大多数企业来说,SOA的远景目标架构是比较相似,因此,SOA的设计哲学、治理原则、基于服务的软件工程学、SOA卓越中心等通用的策略与方法是可以借鉴的。不同之处主要有两个方面,其一是IT现状和业务发展策略的不同导致了每个企业演进路径的路线图不同,其二是管理模式和文化习惯的不同,又导致了实施策略的不同。从这几个角度分析,SOA要落地中国,就要特别注意中国特有的经济特性、管理模式和IT现状带来的一些特殊要求。
  在实际的IT环境中,并非所有的项目都适合SOA,这涉及到原有系统的切割或者重建,如何才能寻求到这两者的平衡呢?
  如果把企业的IT系统看成一棵大树,那么,像银行核心交易、电信计费、交通调度等那样的应用可以视为大树的根茎,它是很多企业的基础业务。而SOA 架构则相当于这棵大树的树冠,多适用于面向各种外部与内部信息服务有关的业务。部署SOA的过程就是一个边“破”边“立”的过程,不是一次性就把所有的原有系统全部服务化,而是逐步根据新项目的业务目标来改造原有系统。
  从中国经济特性来考虑问题,中国企业搭建IT环境时最关心的问题无非有如下几个方面:如何快速部署?架构是否可以灵活改变?能否降低维护的成本?
  SOA的实施过程有一个特点,它在开始实施的初始阶段通常需要比普通的项目花费更多的精力,因为需要考虑今后的治理原则、服务的未来复用等问题,因此 SOA的实施是一个N+1的项目,在N个业务应用之外,有一个持续存在的SOA(1项目)一直需要考虑,只有这样,SOA的企业级有时才会发挥越来越大作用。因此SOA永远不是一个速战速决的事情,它需要通过眼前更多的耐心和努力换取以后IT系统的长治久安。
  SOA是解决整合问题的一个发展方向。SOA是基于服务的计算和面向服务的体系架构,是一种应用程序体系结构。在这种体系结构中,首先要建成一个服务平台,在这个平台上,各式各样的服务作为应用的插件,和平台实施对接,实现从数据到功能的共享和整合。面向服务的架构使所有应用能够交换数据和处理过程,而无需考虑应用软件是用什么编程语言开发的或在什么操作系统下运行。由于模块能够被重新配置或以新方式优化以满足新的需求,因此可以实现软件重用。
  像笔者所在的公司为中国石化那样的单位,因为大量的服务型系统还没开始大规模构造,该如何走自己的SOA之路呢?笔者认为:
  1.首先需要统一标准(SCA/SDO)。
  2.用符合SOA标准的方法——面向构件——构造粒度更小、组合更容易、架构更灵活的“服务”。
  3.SOA的流程管理。
  4.SOA的软件治理。
    5.多“服务”用ESB实现集成。
  让我们拭目以待,SOA在中国遍地开花。

服务器备份技巧


服务器维护有一段时间了,这其中最大的收获莫过于对服务器的备份与恢复,今天总结相关内容与大家分享,希望对服务器维护的朋友有点帮助。作者:giffer (转载请注明)
1.系统备份与恢复
    现在很多中小型企业服务器并没有采用专业的服务器备份机制进行备份,对于个人站长而言这似乎更不可能。但是再好的服务器维护人员总有失误的时候,为了防止万一我们最好还是采用一些备份系统的方式。以便服务器出错后能够及时恢复。
     个人操作系统的备份与恢复,大家最常用的方式就是利用GHOST软件。但是如何远程进行服务器的备份与恢复呢?我们可以利用EASYGHOST软件来帮助我们。
     具体内容,请看我的这篇文章:利用EasyGhost远程备份和还原服务器系统
     地址:http://www.topfix.com.cn/
2.SQL SERVER备份与恢复
     首先要确认原系统sql server是打了sp几的补丁,比如是sp3的,那新做的系统,也必须做到sp3,才能正确恢复。(恢复后再打到sp4就可)
     如果我们经常使用EASYGHOST进行系统备份,那么我们就省去了重做系统的麻烦,当然也会减少SQL SERVER数据恢复的工作量。在恢复系统前,把SQL SERVER中的所有数据库全部进行备份,等到恢复后,在还原此前备份的数据库便可迅速恢复站点数据。
     如图所示:
 
3.IIS备份与恢复
     自我开始利用IIS搭建动态网站起始,我就从来没有用过IIS菜单中的备份与恢复功能,因为我不知道IIS将备份文件放到了哪里,只要我恢复了系统,以前备份的IIS就全部又消失了。
     当我开始接触服务器维护这个行业后,公司的企业建站业务不断增多,IIS里的站点也就随之增多,一旦恢复系统,那重新建立站点以及重新设置每个站点的属性将会是一个相当庞大的任务量。
     人都是被逼出来的,为了日后方便,我开始仔细研究IIS备份功能,最终发现原来手动进行IIS备份后,IIS将备份文件放置于C:\WINDOWS\system32\inetsrv\MetaBack 目录下。打开这个目录我们能够看到系统的初始备份文件和我们手动备份的文件。我们只需要将手动备份的文件拷贝到其他磁盘,等恢复系统以后,再拷贝回该目录,我们在IIS的恢复中就能看到以前我们备份的文件了,这样就可以很方便的恢复IIS站点的一切设置。
     如图所示:
 

4.SERV-U备份与恢复
     既然是做建站业务,那么SERV-U搭建的FTP服务器也是最经常见到的。不过令人可惜的是,SERV-U菜单里却没有备份和恢复这一功能。一旦重做系统后,且不说建立每一个帐户有多么的麻烦,单就以前设置好的每个账号密码都需要重新设置就是对客户服务不到位的表现。
     经过查阅资料后,才知道原来SERV-U 的备份是非常简单的。那就是进入SERV-U目录,将所有文件拷贝到其他磁盘,等恢复系统以后,再将所有的文件拷贝回SERV-U目录中,这样便实现了对SERV-U的数据恢复。在这里需要注意一点,就是恢复前后SERV-U的版本最好一致,否则可能造成数据无法恢复。此外网上资料说,只需要备份SERV-U目录下ServUDaemon.ini文件就可以了,但是我试过,我这里没有成功。其他朋友也可以多试试看。
     如图所示:
 

5.防火墙的备份与恢复
     服务器上能少装软件则少装,WINDOWS2003系统自带的防火墙本身已经很优秀了,在一般需求的情况下,完全不需要在安装第三方软件。
     默认情况下Windows系统自带的防火墙中添加的过滤规则信息都是保存在注册表中的,我们可以通过注册表相关键值的导入与导出实现备份和恢复系统自带防火墙过滤规则的功能。
     第一步:通过“开始”->“运行”,输入regedit打开注册表编辑器。
     第二步:找到
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters
\FirewallPolicy\StandardProfile\AuthorizedApplications\List这个键值。
     第三步:将这个键值的所有内容导出成一个注册表文件,这样就完成了将系统自带防火墙过滤规则的备份工作。
     第四步:如果以后要还原这些过滤规则的话只需要双击运行该注册表文件导入键值即可。
其他软件防火墙的备份与恢复也很简单。只需要备份规则即可。 基本都有规则导入导出功能,导出来就可以实现备份了。
     如图所示:
 

6.其他软件的备份与还原
     其实看过上面的备份与恢复功能以后,大家完全可以凭借自己对各个软件的熟悉程度去实现备份与恢复。很多软件应当是大同小异的。在这里暂时不一一列举了,其实也是因为我对服务器的维护只是上面所罗列的。
 最后还是那句话,我的服务器维护经验可能让很多人感觉很简单,但是这些经验是我一点一滴积累、一步一个脚印走过来的,我相信还会有很多刚接触服务器维护的朋友需要这方面的资料,让高手见笑了!服务器数据恢复

服务器备份技巧


服务器维护有一段时间了,这其中最大的收获莫过于对服务器的备份与恢复,今天总结相关内容与大家分享,希望对服务器维护的朋友有点帮助。作者:giffer (转载请注明)
1.系统备份与恢复
    现在很多中小型企业服务器并没有采用专业的服务器备份机制进行备份,对于个人站长而言这似乎更不可能。但是再好的服务器维护人员总有失误的时候,为了防止万一我们最好还是采用一些备份系统的方式。以便服务器出错后能够及时恢复。
     个人操作系统的备份与恢复,大家最常用的方式就是利用GHOST软件。但是如何远程进行服务器的备份与恢复呢?我们可以利用EASYGHOST软件来帮助我们。
     具体内容,请看我的这篇文章:利用EasyGhost远程备份和还原服务器系统
     地址:http://www.topfix.com.cn/
2.SQL SERVER备份与恢复
     首先要确认原系统sql server是打了sp几的补丁,比如是sp3的,那新做的系统,也必须做到sp3,才能正确恢复。(恢复后再打到sp4就可)
     如果我们经常使用EASYGHOST进行系统备份,那么我们就省去了重做系统的麻烦,当然也会减少SQL SERVER数据恢复的工作量。在恢复系统前,把SQL SERVER中的所有数据库全部进行备份,等到恢复后,在还原此前备份的数据库便可迅速恢复站点数据。
     如图所示:
 
3.IIS备份与恢复
     自我开始利用IIS搭建动态网站起始,我就从来没有用过IIS菜单中的备份与恢复功能,因为我不知道IIS将备份文件放到了哪里,只要我恢复了系统,以前备份的IIS就全部又消失了。
     当我开始接触服务器维护这个行业后,公司的企业建站业务不断增多,IIS里的站点也就随之增多,一旦恢复系统,那重新建立站点以及重新设置每个站点的属性将会是一个相当庞大的任务量。
     人都是被逼出来的,为了日后方便,我开始仔细研究IIS备份功能,最终发现原来手动进行IIS备份后,IIS将备份文件放置于C:\WINDOWS\system32\inetsrv\MetaBack 目录下。打开这个目录我们能够看到系统的初始备份文件和我们手动备份的文件。我们只需要将手动备份的文件拷贝到其他磁盘,等恢复系统以后,再拷贝回该目录,我们在IIS的恢复中就能看到以前我们备份的文件了,这样就可以很方便的恢复IIS站点的一切设置。
     如图所示:
 

4.SERV-U备份与恢复
     既然是做建站业务,那么SERV-U搭建的FTP服务器也是最经常见到的。不过令人可惜的是,SERV-U菜单里却没有备份和恢复这一功能。一旦重做系统后,且不说建立每一个帐户有多么的麻烦,单就以前设置好的每个账号密码都需要重新设置就是对客户服务不到位的表现。
     经过查阅资料后,才知道原来SERV-U 的备份是非常简单的。那就是进入SERV-U目录,将所有文件拷贝到其他磁盘,等恢复系统以后,再将所有的文件拷贝回SERV-U目录中,这样便实现了对SERV-U的数据恢复。在这里需要注意一点,就是恢复前后SERV-U的版本最好一致,否则可能造成数据无法恢复。此外网上资料说,只需要备份SERV-U目录下ServUDaemon.ini文件就可以了,但是我试过,我这里没有成功。其他朋友也可以多试试看。
     如图所示:
 

5.防火墙的备份与恢复
     服务器上能少装软件则少装,WINDOWS2003系统自带的防火墙本身已经很优秀了,在一般需求的情况下,完全不需要在安装第三方软件。
     默认情况下Windows系统自带的防火墙中添加的过滤规则信息都是保存在注册表中的,我们可以通过注册表相关键值的导入与导出实现备份和恢复系统自带防火墙过滤规则的功能。
     第一步:通过“开始”->“运行”,输入regedit打开注册表编辑器。
     第二步:找到
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters
\FirewallPolicy\StandardProfile\AuthorizedApplications\List这个键值。
     第三步:将这个键值的所有内容导出成一个注册表文件,这样就完成了将系统自带防火墙过滤规则的备份工作。
     第四步:如果以后要还原这些过滤规则的话只需要双击运行该注册表文件导入键值即可。
其他软件防火墙的备份与恢复也很简单。只需要备份规则即可。 基本都有规则导入导出功能,导出来就可以实现备份了。
     如图所示:
 

6.其他软件的备份与还原
     其实看过上面的备份与恢复功能以后,大家完全可以凭借自己对各个软件的熟悉程度去实现备份与恢复。很多软件应当是大同小异的。在这里暂时不一一列举了,其实也是因为我对服务器的维护只是上面所罗列的。
 最后还是那句话,我的服务器维护经验可能让很多人感觉很简单,但是这些经验是我一点一滴积累、一步一个脚印走过来的,我相信还会有很多刚接触服务器维护的朋友需要这方面的资料,让高手见笑了!服务器数据恢复

SQL Server 2005数据库快照


SQL Server 2005数据库快照

-------------------------------------------创建数据库DemoDB
create database DemoDB
on primary
(name='DemoDB_data',filename='c:\SQLData\DemoDB_data.mdf',size=5MB,maxsize=10MB)
log on
(name='DemoDB_log',filename='c:\SQLData\Demodb_log.ldf',size=2MB,maxsize=10MB)
go
--------------------------------------------在DemoDB创建数据表T1和T2
use DemoDB
create table T1(id int,name char(8),address char(13))
go
create table T2(id int,name char(8),address char(13))
go
--------------------------------------------在DemoDB数据库的T1和T2插入数据
use DemoDB
Insert into T1 values(1,'jacky','suzhou')
Insert into T1 values(2,'Hellen','shanghai')
Insert into T2 values(1,'Tom','beijing')
Insert into T2 values(2,'Alice','hangzhou')
go
--------------------------------------------为DemoDB数据库创建数据库快照DemoDB_dbsnapshot_200510201600
create database DemoDB_dbsnapshot_200510201600
on
(name='DemoDB_data',filename='c:\SQLsnapshot\DemoDB_dbsnapshot_200510201600.mdf')
as snapshot of DemoDB
go
---------------------------------------------在数据库快照和数据库中查询T1和T2表
use DemoDB_dbsnapshot_200510201600
select * from dbo.T1
select * from dbo.T2
go
use DemoDB
select * from dbo.T1
select * from dbo.T2
go
--------------------------------------------------
use DemoDB
update T1
set name='Tony' where id=1   --在DemoDB中更新数据
go
delete from T1 where id=2    --在DemoDB中删除数据
go
drop Table T2     --删除T2表
go
--------------------------------------------------在数据库快照和数据库中查询T1和T2表
use DemoDB_dbsnapshot_200510201600
select * from T1
select * from T2
go
use DemoDB
select * from T1
select * from T2
go
-------------------------------------------------使用数据库快照还原在DemoDB数据库的T1表误删除和更新的数据
update DemoDB.dbo.T1
set name=(select name from DemoDB_dbsnapshot_200510201600.dbo.T1 where id=1) where name=1
go
insert into DemoDB.dbo.T1
select * from DemoDB_dbsnapshot_200510201600.dbo.T1 where id=2
go
-----------------------------------------------------------使用数据库快照还原在DemoDB数据库误删除的T2表
use DemoDB
--复制进剪贴板中的创建T2的语句
go
insert into DemoDB.dbo.T2 select * from DemoDB_dbsnapshot_200510201600.dbo.T2
go
-----------------------------------------------------------在数据库快照和数据库中查询T1和T2表
use DemoDB
select * from T1
select * from T2
go
use DemoDB_dbsnapshot_200510201600
select * from T1
select * from T2
go
-----------------------------------------------------------
注:如果需要周期创建快照,可以创建作业
-----------------------------------------------------------在DemoDB中更新数据
use DemoDB
update T1 set name='Funny' where id=1
go
-----------------------------------------------------------数据库快照和数据库中查询T1和T2表
select * from Demodb.dbo.T1
select * from DemoDB_dbsnapshot_200510201600.dbo.T1
select * from DemoDB_dbsnapshot_200510201620.dbo.T1
-----------------------------------------------------------在DemoDB中更新数据
use DemoDB
update T1 set name='Bob' where id=1
go
-----------------------------------------------------------数据库快照和数据库中查询T1和T2表
select * from Demodb.dbo.T1
select * from DemoDB_dbsnapshot_200510201600.dbo.T1
select * from DemoDB_dbsnapshot_200510201620.dbo.T1
----------------------------------------------------------------------------------------------------------------------------------------
/*使用数据库快照还原整个数据库*/
-------------------------------------------删除第一次数据库快照
drop database  DemoDB_dbsnapshot_200510201600
-------------------------------------------使用数据库快照恢复DemoDB数据库
restore Database DemoDB from Database_snapshot='DemoDB_dbsnapshot_200510201620'
-------------------------------------------
select * from DemoDB.dbo.T1
select * from DemoDB_dbsnapshot_200510201620.dbo.T1
-------------------------------------------
drop database DemoDB_dbsnapshot_200510201620   --删除数据库快照
drop Database DemoDB         --删除数据库

在JUNOS中启用OSPF


 最近在学习JUNOS,刚刚起步,感觉从IOS过渡还是蛮快的,毕竟原理性的东西相通,今天特意做了一下OSPF,实验环境是ITAA的JUNOS虚拟机(哈哈打一下小广告),从以前不能识别Intel网卡到不支持组播再到现在的基本OK,虚拟机的发展还是挺迅速的,这对我们来讲无疑是莫大的帮助,好,不说这个,我们来看看如何在JUNOS中配置OSPF。
 
       实验中利用JUNOS的逻辑路由器特性起了3台Router,分别为R1,R2,R3 ,拓扑为(lo0.0 1.1.1.1)R1---12.1.1.0---R2(lo0.1 2.2.2.2)---23.1.1.0----R3(lo0.2 3.3.3.3),由于是逻辑上的路由器,实际的物理接口只有FXP0到FXP3,所以要打上Vlan-tagging,事实上就是每台逻辑路由器的单臂路由。
 
具体配置如下:(大家不要以为是C++ , JUNOS的show可读性还是很强的)
 
[edit]
root@Router1# show
## Last changed: 2008-06-02 21:52:49 UTC
version 8.5R1.14;
system {
    host-name Router1;
    domain-name mynetwork.com;
    backup-router 192.168.15.2;
    root-authentication {
        encrypted-password "$1$rJIo5b.H$JOjbMEuowTG/IE1lh4Upo0"; ## SECRET-DATA
    }
    name-server {
        192.168.15.3;
    }
    services {
        web-management {
            http {
                port 80;
            }
        }
    }
    syslog {
        user * {
            any emergency;
        }
        file messages {
            any notice;
            authorization info;
        }
        file interactive-commands {
            interactive-commands any;
        }
    }
}
logical-routers {
    R1 {
        interfaces {
            fxp1 {
                unit 10 {
                    vlan-id 10;
                    family inet {
                        address 12.1.1.1/30;
                    }
                }
            }
            lo0 {
                unit 0 {
                    family inet {
                        address 1.1.1.1/32;
                    }
                }
            }
        }
        protocols {
            ospf {
                area 0.0.0.0 {
                    interface fxp1.10;
                    interface lo0.0;
                }
            }
        }
        routing-options {
            router-id 1.1.1.1;
        }
    }
    R2 {
        interfaces {
            fxp2 {
                unit 20 {
                    vlan-id 10;
                    family inet {
                        address 12.1.1.2/30;
                    }
                }
                unit 30 {
                    vlan-id 20;
                    family inet {
                        address 23.1.1.2/24;
                    }
                }
            }
            lo0 {
                unit 1 {
                    family inet {
                        address 2.2.2.2/32;
                    }
                }
            }
        }
        protocols {
            ospf {
                area 0.0.0.0 {
                    interface fxp2.20;
                    interface lo0.1;
                    interface fxp2.30;
                }
            }
        }
        routing-options {
            router-id 2.2.2.2;
        }
    }
    R3 {
        interfaces {
            fxp3 {
                unit 30 {
                    vlan-id 20;
                    family inet {
                        address 23.1.1.3/24;
                    }
                }
            }
            lo0 {
                unit 2 {
                    family inet {
                        address 3.3.3.3/32;
                    }
                }  
            }
        }
        protocols {
            ospf {
                area 0.0.0.0 {
                    interface lo0.2;
                    interface fxp3.30;
                }
            }
        }
        routing-options {
            router-id 3.3.3.3;
        }
    }
}
interfaces {
    fxp0 {
        unit 0 {
            family inet {
                address 192.168.200.205/24;
            }
        }
    }              
    fxp1 {
        vlan-tagging;
    }
    fxp2 {
        vlan-tagging;
    }
    fxp3 {
        vlan-tagging;
    }
}
routing-options {
    static {
        route 192.168.0.0/16 {
            next-hop 192.168.200.1;
            active;
        }
    }
}
 
然后在R1上查看路由表看是否学习到OSPF路由:
 
[edit]
root@Router1# run show route logical-router R1
inet.0: 7 destinations, 7 routes (7 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
1.1.1.1/32         *[Direct/0] 00:27:16
                    > via lo0.0
2.2.2.2/32         *[OSPF/10] 00:26:27, metric 10
                    > to 12.1.1.2 via fxp1.10
3.3.3.3/32         *[OSPF/10] 00:13:33, metric 20
                    > to 12.1.1.2 via fxp1.10
12.1.1.0/30        *[Direct/0] 00:27:16
                    > via fxp1.10
12.1.1.1/32        *[Local/0] 00:27:16
                      Local via fxp1.10
23.1.1.0/24        *[OSPF/10] 00:13:38, metric 20
                    > to 12.1.1.2 via fxp1.10
224.0.0.5/32       *[OSPF/10] 00:27:21, metric 1
                      MultiRecv
 
通过ping在R3上测试连通性:
 
root@Router1> ping 1.1.1.1 logical-router R3
PING 1.1.1.1 (1.1.1.1): 56 data bytes
64 bytes from 1.1.1.1: icmp_seq=0 ttl=63 time=3.499 ms
64 bytes from 1.1.1.1: icmp_seq=1 ttl=63 time=4.611 ms
64 bytes from 1.1.1.1: icmp_seq=2 ttl=63 time=4.507 ms
64 bytes from 1.1.1.1: icmp_seq=3 ttl=63 time=4.489 ms

^C
--- 1.1.1.1 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max/stddev = 3.499/4.276/4.611/0.451 ms
 
JUNOS的ping个人感觉比较诡异,就是不按Ctrl+C就不会停止,和IOS反差好大,一开始不知道这个键的时候,真是郁闷,ping死了给...
 
通过show在R2上查看OSPF邻居是否建立:
 
root@Router1> show ospf neighbor logical-router R2
Address          Interface              State     ID               Pri  Dead
12.1.1.1         fxp2.20                Full      1.1.1.1          128    39
23.1.1.3         fxp2.30                Full      3.3.3.3          128    37
 
 
 
 
 
 
« 一月 2009
星期日星期一星期二星期三星期四星期五星期六
    
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
       
今天

关于我们| 版权声明|在线招聘|欢迎合作|广告服务|友情链接|RSS订阅
Copyright@ 2004  CIO时代网 版权所有
京ICP证030336号