目录
路由协议认证
Ripv2的认证配置
OSPF认证
BGP认证
OSPF特殊区域
BGP的选路规则
路由策略(route-policy和filter-policy)
IP-Prefix List:前缀列表
Filter-Policy
路由引入(import-route)
Filter-policy和route-policy的对比
策略路由
其他路由特性
Silent-interface
防环措施
单臂路由
路由协议认证
Ripv2的认证配置
注意点:注意区分本地配置文件(明文/密文),传输的数据包(明文/密文)
ripv2支持对协议报文进行认证,认证方式有明文认证和MD5认证两种
[R1] int g0/0/0
[R1-GigabitEthernet0/0/0]rip authentication-mode
MD5认证(hash算法):
hmac-sha256:在MD5的基础上加盐,即对MD5摘要结果掺入其他信息,称之为加盐
md5 MD5 authentication
md5有两种方式:
(1)nonstandard Nonstandard MD5 authentication packet format(IETF):国际标准
(2)usual Huawei MD5 authentication packet format:华为标准
[R1-GigabitEthernet0/0/0]rip authentication-mode md5 usual plain 1234
display current-configuration
注:这里是本地配置文件用明文存储,传输的时候数据包是传Hash值
明文认证:
simple Simple authentication注:这里表示的是传输时用明文传输
simple传输也有两种方式:
(1)cipher(默认) Encryption type(Cryptogram)
(2)plain Encryption type(plain text)
[R1-GigabitEthernet0/0/0]rip authentication-mode simple 123:默认是cipher
[R1-GigabitEthernet0/0/0]rip authentication-mode simple plain/cipher 123
注:这里的cipher是在配置文件中加密,simple在传输中是不加密display current-configuration(本地配置文件)
simple默认是cipher:相当于simple cipher
RIPv2认证方式:
OSPF认证
OSPF支持报文认证功能,只有通过认证的OSPF报文才能被接收路由器支持两种OSPF报文认证方式,当两种认证方式都存在时,优先使用接口认证方式
区域认证方式:一个OSPF区域中所有的路由器在该区域下的认证模式和口令必须一致。
接口认证方式:相邻路由器直连接口下的认证模式和口令必须一致。同时有区域认证和接口认证,接口认证生效。
BGP认证
BGP认证分为MD5认证和Keychain认证,( BGP没有明文认证)对BGP对等体关系进行认证是提高安全性的有效手段。MD5认证只能为TCP连接设置认证密码,而Keychain认证除了可以为TCP连接设置认证密码外,还可以对BGP协议报文进行认证。
Keychain中的每个Key拥有独立的算法、密钥和活跃时间。 两端设备的应用程序使用了Keychain认证,即会匹配多个Key。
因此可以根据Key的活跃时间实现在两端设备的多个应用程序上定期自动更换认证算法和密钥。 Keychain中的Key在进行动态更换时,不需要断开重连正在使用的传输层连接,可以始终保持应用程序会话连接的稳定性,不会中断业务。
解决2个问题:
如果只有1个密钥,更换密钥时,路由中断。
周期性更换认证密钥。
Keychain是加密规则 (key)的集合,每个规则必须含有以下三个要素:认证算法、认证密钥(加密字符串)、规则的发送/接收时间。其中认证算法和认证密钥用来控制加密/解密报文,发送/接收时间表示在这段时间内,能够使用配置的算法和密钥对报文认证后发送/接收。
具体可看:
什么是Keychain?为什么需要keychain? - 华为
bgp 100 //进入BGP视图
peer 12.1.1.2 password { cipher cipher-password | simple simple-password}//配MD5认证密码(交互的是hash,而不是真实的密码)bgp 100 //进入BGP视图
peer 12.1.1.2 keychain keychain-name //配置Keychain认证
keychain的配置与应用
[Router] keychain test mode periodic daily//配置名字为test的钥匙串,周期性更新密钥
[Router-keychain] key-id 1 //配置密钥1
[Router-keychain-keyid-1] key-string 123//配置认证密钥123
[Router-keychain-keyid-1] algorithm ?//查看有哪些认证算法
hmac-md5 HMAC-MD5 algorithm
hmac-sha1-12 HMAC-SHA1-12 algorithm
hmac-sha1-20 HMAC-SHA1-20 algorithm
md5 MD5 algorithm
sha-1 SHA-1 algorithm
simple Simple password authentication
[Router-keychain-keyid-1] algorithm md5//选择认证算法
[Router-keychain-keyid-1] send-time daily 08:00 to 18:00 //认证发送时间
[Router-keychain-keyid-1] receive-time daily 08:00 to 18:00 //认证接收时间
[Router-keychain] key-id 2
[Router-keychain-keyid-2] key-string 456
[Router-keychain-keyid-2] algorithm hmac-sha1-12
[Router-keychain-keyid-2] send-time daily 20:00 to 21:00
[Router-keychain-keyid-2] receive-time daily 20:00 to 21:00
[Router-keychain-keyid-2] quit
[Router-keychain] quit
[Router] int g0/0/0
[Router-GigabitEthernet0/0/0] ospf authentication-mode keychain test //使用钥匙串
OSPF特殊区域
OSPF的区域可分为两种类型:
传输区域(Transit Area):除了承载本区域发起的流量和访问本区域的流量外,还承载了源IP和目的IP都不属于本区域的流量,即“穿越型流量”,如本例中的Area 0。
末端区域(Stub Area):只承载本区域发起的流量和访问本区域的流量,如本例中的Area 1和 Area 2。
注:其他区域都要与骨干区域相连
将默认路由引入到OSPF的配置和命令:
[R2]ip route-static 0.0.0.0 0 LoopBack 0
[R2]ospf 1
//如果在这条语句之前没有创建默认路由,需要加入always
[R2-ospf-1] default-route-advertise type 1 cost 20
[R2-ospf-1] default-route-advertise type 1 cost 20 always
将默认路由引入到rip的配置和命令:
[R1-rip-2]default-route originate
R1的路由表
1.import route的路由:默认都是Type2的路由,type2不计算内部开销,只计算外部开销,所以cost:1
2.default-route-advertise type 1 cost 20:表示type设置为type1,默认起始开销为20
这里我们可以看到两条引入的路由都被R1学习到了,并且下一跳路由都是10.0.13.3,所以我们可以不需要配置多条静态路由,直接配置一条默认路由即可
在R1,R3上配置区域2为Stub区域
[R1] ospf 1
[R1-ospf-1]area 0.0.0.2
[R1-ospf-1-0.0.0.2]stub
[R3] ospf 1
[R3-ospf-1]area 0.0.0.2
[R3-ospf-1-0.0.0.2]stub
再次查看R1路由表
此时R1 上不存在 OSPF 外部路由,原本的 OSPF 外部路由条目 0.0.0.0/0、10.0.5.0/24 被一条缺省的 OSPF 域间路由所取代。
如果想继续优化:
可以看到R1上一个路由表,下一条都为10.0.13.3
[R3] ospf 1
[R3-ospf-1]area 0.0.0.2
[R3-ospf-1-0.0.0.2]stub no-summary
R1路由表:
NSSA区域与Totally NSSA区域
有引入路由的是NSSA,没有引入路由的就是Stub,例如下图,Area1表示R4,Area2表示NSSA
BGP的选路规则
BGP路由选择有三种情况:
该路由是到达目的地的唯一路由,直接优选
对到达同一目的地的多条路由,优选优先级最高的
对到达同一目的地且具有相同优先级的多条路由,使用更细的原则比较
BGP的选路规则
1.丢弃下一跳不可达的路由
2.优选Preference Value最高的路由 (华为私有属性,仅本地有效)
3.优选Local_Preference最高的路由
4.优选手动聚合 >自动聚合> network > import >从对等体学到的
5.优选AS_Path最短的路由。
6.起源类型IGP > EGP > Incomplete
7.对于来自同一AS的路由,优选MED最小的。
8.优选从EBGP学来的路由 (EBGP > IBGP)
9.优选AS内部IGP的Metric最小的路由
10.优选Cluster List最短的路由。
11.优选Orginator ID最小的路由。
12.优选Router ID最小的路由器发布的路由。
13.优选IP地址最小的邻居学来的路由
公认:所有BGP路由器必须能识别的属性
公认必遵: origin、AS Path、Next hop (只有这三个) 必须包含在每个Update消息里面
公认任意: local Preference、Automic aggregate
AS_Path:显示前往网络目标经过AS号的列表在。防环机制:收到存自身AS号路由不接受。只有经过EBGP对等体时ASPath才会发生改变。
AS_Path作用:
1.防环
2.选路
origin: 起源属性。标识了BGP的起源。三种起源类型:
①IGP:通过network方式注入,那么origin标记为i
②EGP:如果是从EGP学到的为e(用不到了,现在EGP只剩下BGP了)
③incomplete: 通过import-route引入为?,优选原则为i>e>?,起源属性可以修改
Next hop:路由通告给自己的EBGP对等体邻居时,会将这条路由的下一跳修改为自己的TCP连接源地址。再从EBGP学习到的路由传递给IBGP对等体时下一跳不变。再从某个路由器学习到路由该路由的下一跳地址与EBGP对等体同属于一个网段,便不会修改下一跳地址。
修改下一跳属性:
R5上查看BGP路由表,其实已经学到100.1.1.0/24的BGP路由,但下一跳是34.1.1.1,而R5并没有到达34.1.1.1的路由,所有并不会把这条BGP路由加入路由表。
解决方法:
[R4] bgp 200
[R4-bgp] ipv4-family unicast
[R4-bgp-af-ipv4] peer 45.1.1.2 next-hop-local//R4向对等体R5通告BGP路由时,把下一跳设置为自己的接口地址
得到:
路由策略(route-policy和filter-policy)
IP-Prefix List:前缀列表
能同时精确匹配网络号和前缀长度
性能和可控性比ACL更高 (ACL无法匹配掩码/前缀长度)
前缀列表不能用于数据包的过滤 (ACL可以直接调用在接口实现过滤)
如图:想引入10.1.0.0/24,而不想引入/16
不能用ACL,因为
[R2] acl 2000
[R2-ac-basic-2000] rule 10 permit source 10.1.0.0 0.0.0.255
ACL匹配规则:0表示匹配,1表示不匹配
10.1.0.0 0.0.0.255表示前24位严格匹配,即10.1.0完全一样,后面8位不用管.但10.1.0.0/24和10.1.0.0/16的前24位都一样,无法区分,都会被ACL命中
前缀列表案例
ip ip-prefix test index 10 permit 10.0.0.0 16 greater-equal 24 less-equal 28
IP地址范围:10.0.X.X,且24<=掩码长度<=28。
10.0.1.0/24,10.0.2.0/25,10.0.2.192/26都可以匹配
匹配一个主机路由:192.168.1.1 32
匹配一个网段路由:192.168.1.0 24
匹配一组网段路由:192.168.1.0 24 g 26 I 30
匹配所有路由:0.0.0.0 0 I 32
0..0.00 g 0 I 32
0.0.0.0 0 g 0
1.2.3.4 0 I 32
注:g:greater l:less
例题:
ip ip-prefix test index 10 permit 192.168.4.9 22 greater -eq 24 less-equal 24
Filter-Policy
Filter-Policy在距离矢量路由协议的应用
●在距离矢量路由协议中,设备之间传递的是路由信息,如果需要对这种路由信息进行某种过滤,可以使用Filter-Policy实现,出方向和入方向的生效位置如图所示。
●在链路状态路由协议中,各路由设备之间传递的是LSA信息,然后设备根据LSA汇总成的LSDB信息计算出路由表。但是Filter-Policy只能过滤路由信息,无法过滤LSA
注:
import是对OSPF计算出来的路由进行过滤
export是对OSPF引入的路由进行过滤
Filter-Policy的应用
[R3] ip ip-prefix 3to2 index 10 permit 10.1.0.0 24
[R3] ip ip-prefix 3to2 index 20 permit 10.5.0.0 24
配置发布策略,引用地址前缀列表3to2进行过滤
[R3]ospf
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]network 192.168.23.0 0.0.0.255
[R3-ospf-1]import-route static //路由引入
[R3-ospf-1]filter-policy ip prefix 3to2 export static //对引入的静态路由,对外发布时进行过滤
路由引入(import-route)
路由引入就是指把原本不属于本路由协议的路由,通过import-route命令将对应路由引入至本路由协议,使得其他路由器能够通过本路由协议学习到相关路由。
在ospf里把引入的路由叫外部路由。
通过ACL匹配
[R2] acl 2001
[R2-acl-basic-2001] rule 10 permit source 10.1.2.0 0.0.0.255
[R2-acl-basic-2001] rule 20 permit source 10.1.3.0 0.0.0.255[R2-acl-basic-2001]quit
[R2] route-policy 20 permit node 20Info: New Sequence of this List.
[R2-route-policy] if-match acl 2001
[R2] ospf 1
[R2-ospf-1] import-route rip route-policy 20
通过ip-prefix匹配
第一步:创建前缀列表
[R2] ip ip-prefix 2and3 index 10 permit 10.1.2.0 24[R2] ip ip-prefix 2and3 index 20 permit 10.1.3.0 24
第二步:创建路由策略,并引用关联前缀列表
[R2] route-policy rip-to-ospf permit node 10[R2-route-policy] if-match ip-prefix 2and3
第三步:在路由引入时,调用路由策略
[R2] ospf 1
[R2-ospf-1] import-route rip route-policy rip-to-ospf
Filter-policy和route-policy的对比
route-policy是用在路由引入的时候,filter-policy是用在路由进程下的,例如以上filter-policy的案例就是用在ospf的进程下
策略路由
可以配置基于源地址的策略路由或基于目的地址的策略路由
//越小越优先
[router] ip route-static 0.0.0.0 0 12.1.1.1 preference 10 track bfd-session dianxin
[router] ip route-static 0.0.0.0 0 23.1.1.2
[router] bfd dianxin bind peer-ip 12.1.1.1 source-ip 12.1.1.3 auto[dianxin] bfd dianxin bind peer-ip 12.1.1.3 source-ip 12.1.1.1 auto
策略路由的配置
Step1:配置ACL,匹配流量
acl number 2010
rule 10 permit source 192.168.10.0 0.0.0.255
acl number 2020
rule 10 permit source 192.168.20.0 0.0.0.255
Step2: 流分类
traffic classifier jiaoxue//匹配教学楼流量
if-match acl 2010
traffic classifier sushe//匹配宿舍楼流量
if-match acl 2020
Step3:流行为
traffic behavior re-dianxin //定义流行为redirect ip-nexthop 12.1.1.1
traffic behavior re-liantong//定义流行为
redirect ip-nexthop 23.1.1.2
Step4:流策略
traffic policy p
classifier jiaoxue behavior re-dianxinclassifier sushe behavior re-liantong
Step5:入接口应用策略路由interface GigabitEthernet0/0/1
ip address 192.168.30.3 255.255.255.0traffic-policy p inbound
其他路由特性
Silent-interface
通过Silent-Interface的配置,增强OSPF的组网适应能力,减少系统资源的消耗
Silent-Interface有以下特性:
Silent-Interface不会接收和发送OSPF报文
Silent-Interface的直连路由仍可以发布出去
●R1的GE0/0/1接口在OSPF network命令的网段范围内。
●到达该接口的路由将被通告到OSPF,使得其他设备能够访问Server。
●由于该接口上未连接任何其他OSPF路由器,因此管理员将该接口配置为Silent-Interface,该接口将不再收发Hello报文,从而避免了对Server的性能降低。
补充:边缘接口
边缘端口不收BPDU,因为边缘端口不参与拓扑计算
防环措施
RIP
①最大跳数:当一个路由条目发送出去会自加1跳,跳数最大为16跳,意味着不可达。
②水平分割:一条路由信息不会发送给信息的来源。
③反向毒化的水平分割: 把从邻居学习到的路由信息设为16跳,再发送给那个邻居4抑制定时器和触发更新也可以防止环路。
OSPF
区域内:SPF算法计算路由,计算出到达各目标结点的最短路径,形成一棵以自身为根的生成树,而这棵生成树是无环的。
区域间:SPF协议要求所有非骨千区域都与骨干区域area 0相连,区域间路由需要经由area 0中转,使得OSPF的区域架构类似于逻辑上的星型结构,这种星型结构也是无环的。
BGP
AS间防环:记录经过的路径,也就是AS_PATH属性,一旦经过的router在AS_PATH则说明存在环路。
AS内防环:水平分割的方式,即IBGP peer不向IGBP peer发布从EBGP peer那里学来的路由,这样可以避免内部的环路产生,但也产生了问题,遵循这样的原则,内部的routers必须全互联。
路由反射器防环
BGP联邦
单臂路由
第一步:交换机创建VLAN
<Huawei> system-view
[Huawei] sysname SWA[SWA] vlan batch 2 3
第二步:配置access和trunk,配置trunk放行vlan
[SWA] interface Eth0/0/1
[SWA-Ethernet0/0/1] port link-type access
[SWA-Ethernet0/0/1] port default vlan 2
[SWA] interface Eth0/0/11
[SWA-Ethernet0/0/11] port link-type access[SWA-Ethernet0/0/11] port default vlan 3
[SWA] interface GigabitEthernet 0/0/1
[SWA-GigabitEthernet0/0/1] port link-type trunk
[SWA-GigabitEthernet0/0/1] port trunk allow-pass vlan 2 3
第三步:路由器配置子接口和IP地址,并开启arp广播
[RA] interface GigabitEthernet 0/0/1.1
[RA-GigabitEthernet0/0/1.1] dot1g termination vid 2
[RA-GigabitEthernet0/0/1.1] ip address 192.168.1.254 24
[RA-GigabitEthernet0/0/1.1] arp broadcast enable
[RA-GigabitEthernet0/0/1.1]q
[RA] interface GigabitEthernet 0/0/1.2
[RA-GigabitEthernet0/0/1.2] dot1g termination vid 3
[RA-GigabitEthernet0/0/1.2] ip address 192.168.2.254 24
[RA-GigabitEthernet0/0/1.2] arp broadcast enable//如果不配置“arp broadcast enable"路由器将不会主动发送ARP请求包,也就是说,除非PC先开始ping,否则它不会学习PC的MAC地址