一.资料来源:

现在CCIE Security lab都V4了,但是没有在网上找到相关的书籍,只能看看V3的了,老实说人邮翻译的并不是很好,可是没有找到相应的英文版可供下载,只能凑合着看了。

A.PDF书

http://file1.51cto.com/?mod=getCode&n=6055rB+G69I9PUJvRigTCTGq5NUL+bJurA06Su1iViIzjYVNnLVzbkaMTQCRpHrkL2R4E1bkz+EVGqi+cpLbV3afiT04Uskh2Az3LBeSkkFwHRODio4dMudgpRGexrLGFczCxMxVAJDHG2H++tDWmLv5SbXVwE4aBUUKAlJ0eQ

B.附的光盘

http://static.ishare.down.sina.com.cn/12842876.7z?ssig=uUI0pdcgPj&Expires=1365091200&KID=sina,ishare&ip=1364952020,218.88.5.&fn=CCIE%E5%AE%89%E5%85%A8Lab%E5%AE%9E%E6%88%98.7z

二.问题疑惑:

A.LAB1

LAB1的英文版:http://www.ciscopress.com/articles/article.asp?p=169684

1.R1冗余管理Switch

题目要求R4,R5,R1都能管理交换机10.10.45.45,并且配置冗余,防止R1和R4之间的链路出现问题时,R1仍能管理交换机,查看R1的配置根本就没有去往交换机管理地址的路由,只是在交换机上配置了两条metric值不同的默认路由,这样根本就无法满足题目的要求。

我的理解:

①在switch上两条静态路由

ip route 10.50.13.80 255.255.255.240 10.10.45.4
ip route 10.50.13.128 255.255.255.240 10.10.45.5

②在R1上也配置两条静态路由,metric值不同,并且配置track

track 1 interface Ethernet0/2 line-protocol
track 2 interface Ethernet0/3 line-protocol

ip route 10.10.45.0 255.255.255.0 10.50.13.84 track 1
ip route 10.10.45.0 255.255.255.0 10.50.13.135 100 track 2

2.BGP的next-hop-self

①从EBGP学到的学到的路由,如果不改变下一跳为self,则会导致内部IBGP无法学到外部路由,因为正常情况下外部的地址内部是无法到达的

②next-hop-self只是更改把从EBGP学到的路由在告诉IBGP peer时把下一跳修改成自己的地址,而不会去从IBGP学到的路由的下一跳,即A-B-C同为AS 1路由器,AB建立邻居,BC建立邻居,B为路由反射器,B从C学到的路由,告诉给A时,不会更改下一跳地址

③下面是附带光盘中内容,*>i122.122.122.0/24 10.50.13.129 这个明显是R2(IBGP peer)的地址,下一跳地址为R1的地址,应该不对(难道以前的IOS版本是这样?)

r5#show ip bgp
BGP table version is 255, local router ID is 5.5.5.5
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop          Metric LocPrf Weight Path
*>i16.16.16.0/24    10.50.13.129                100      0 3 i
*>i111.111.111.0/24 10.50.13.129           0    100      0 i
*>i122.122.122.0/24 10.50.13.129           0    100      0 i
*> 144.144.144.0/24 10.10.45.4             0             0 2 i
*>i166.166.166.0/24 10.50.13.129                100      0 3 i
下面是实际测试的结果(我的接口地址如与书中接口地址不同,我的接口地址尾数都为路由器的编号)

R5#show ip bgp
BGP table version is 7, local router ID is 5.5.5.5
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*>i16.16.16.0/24    10.50.13.131             0    100      0 3 i
*>i111.111.111.0/24 10.50.13.131             0    100      0 i
* i122.122.122.0/24 10.50.13.42              0    100      0 i
*> 144.144.144.0/24 10.10.45.4               0             0 2 i
*>i166.166.166.0/24 10.50.13.131             0    100      0 3 i

---对于R5无法到达10.50.13.42,是因为R1与R5接口地址为27位掩码,与10.50.13.42的28为掩码不一致,导致RIPV1无法将这个路由告诉给R5。

---可以通过在R1的BGP中宣告net 10.50.13.32 mask 255.255.255.240来解决,但是这样又会导致R3和R4也能通过eBGP学到该内部路由

---另外一个解决方式就是:R1关闭bgp的同步, 因为R2的ospf运用default-information originate always命令生成一条默认路由,这条默认路由可以通过R1把ospf路由重分布到ripv1,使得R5也有一条默认路由。

3.拗口的英语,更差劲的翻译

Advertise loopback2 on R1 in BGP and RIPv1. Advertise loopback1 in RIPv1 only.

---这句英语比较拗口,翻译更是差劲,让人难以理解:在R1上通告loopback2到BGP和RIPV1中。在R1上仅将loopback2通告到RIPV1。

---觉得这样翻译更合适些:在R1上把loopback2同时通告到BGP和RIPV1中,但loopback1只通告到RIPV1中。或者:在R1上通告loopback2到BGP和RIPV1中。在R1上将loopback1仅通告到RIPV1中。

4.BGP是否配置synchronization与管理距离是没有关系的
文中如下描述是不对的,不管是否在R4上配置bgp的synchronization,如果不调整Distance for routes external to the AS大于110,都会出现add 111.111.111.0/24 via 10.10.45.5, bgp metric [20/0]

2.5.4: BGP and RIP

NOTE

You will not notice this problem if you have BGP "synchronization" enabled on R4; do "no sync" on R4 BGP and you will run into this problem.

三.总结:

A.LAB1

1.BGP穿越防火墙,防火墙配置NAT

题目只要求IGP需要加密,却错误的认为BGP也需要加密,经过测试BGP穿越防火墙,防火墙配置NAT,即使用router-map保留 TCP19选项、关闭随机序列号,邻居也无法建立,原因是tcp散列用到了IP地址,而经过NAT后IP地址发生了改变,所以会导致 Invalid MD5 digest 报错。

知道原因后才能有对应的方法解决:保留IP地址不变。

保留地址不变有两种:一种防火墙就根本不配置NAT,还有一种用NAT免除或配置静态NAT,NAT前后地址都是内部实际地址,当然这种还需要结合路由配置,因为没有去往内部BGP邻居的路由肯定也不行。

2.BGP对等体只是建立一个TCP连接

经过测试两个BGP对等体只建立一个TCP连接,即如果R6连接R3的TCP 179端口,反过来不会同时建立,对等体之间谁的syn包先到达对方,完成TCP握手,那就谁连对方的TCP179端口,因此如下描述就比较容易理解,需要添加访问控制:

 

Ensure that eBGP connection state on R6 shows local port as 179 always.

 

R6#show tcp brief
TCB       Local Address           Foreign Address        (state)
6511ED80  10.10.6.6.179           10.50.31.3.62900       ESTAB

3.BGP路由反射器

BGP的路由反射器目的是为了避免IBGP全网互联,测试中发现:RR会将其从RR client学到的bgp路由传递给它所有的IBGP peer,即使对方不是RR client。

4.BGP路由重分布如何设置为BGP内部路由

直接把原文抄下来,说的很清楚:

Advertise loopback1 using the network command on R6. You are restricted to use the network command to advertise loopback2; you will need to redistribute connected in BGP. Create an access list and a route map to redistribute loopback2 only. After doing so, do a show ip bgp on R6 and you will find that the origin-code for loopback2 is incomplete, denoted by a ?, because it has been redistributed and BGP hasn't learned this internally. To change the origin-code to denote i, use the set origin igp command in your route map:

5.BGP Backdoor
A.作用:修改EBGP学习到的路由的管理距离,由默认20修改为200(这个管理距离和I-BGP路由是一样的),从而允许IGP的路由在路由表中更具有优先级。
B.作用范围,本路由器有效

6.RIPV1的路由更新

RIP v1的路由更新的子网掩码与接收和发送路由更新的接口的子网掩码有关系:
A.如果与接口是相同主网的,就用接口的掩码
B.如果与接口不是在相同主网,则采用主类网络的默认掩码
C.如果接口的secondary的IP与接口IP属于相同主网,则采用接口IP的掩码

例子中为了能把R3的环回地址10.50.13.97/28所在网络通过R1用RIPV1传给R5,同时禁止使用汇总即使,采用了一个小花招,在R1上将 一个环回接口的地址配置为10.50.13.98/27,通过这种方式相当于把直连10.50.13.96/27网段告诉给了R5.

7.RIP的路由更新和passive-interface
A.RIP的passive-interface只能阻止接口发送路由更新,不能阻止接口接收路由更新
B.passive-interface和neighbor一起使用,可以使路由器只使用单播方式与neighbor发送路由更新(假定对方路由器在passive-interface所在的接口)
C.如果想限定接收恶意的rip路由更新,只能通过认证(RIPV2才支持)或distribute-list类进行
8.水平分割ip split-horizon
除了帧中继或者SMDS封装的接口外的所有接口默认都是启用水平分割功能的。对于采用帧中继或者SMDS(交换式多兆位数据服务)封装的接口,默认是禁止水平分割的。对于采用所有类型X.25协议封装的接口都是默认禁止水平分割功能的。

参考链接:http://book.51cto.com/art/201010/230475.htm

之前以为是IOS的版本问题,GNS用frame-relay测试了一下,确实默认水平分割是关闭的。