OSPF(开放式最短路径优先协议)、ACL(访问控制列表)、NAT

一、OSPF -- (开放式最短路径优先协议) 基于组播更新
---
 224.0.0.5   224.0.0.6

1、协议类型:无类别链路状态的IGP协议

  • 无类别:带精确掩码
  • 链路状态:不共享路由,共享拓扑(共享LSA)
  • IGP:AS内部使用

2、更新方式:周期更新触发更新

3、结构化部署:区域划分,合理IP地址规划

链路状态协议的更新量随着网络范围的扩大指数性的上升,因此OSPF协议为了在中大型网路中工作,需要结构化部署

4、5种数据包

  • Hello包(邻居的发现;关系的建立;周期10s的保活【携带RID】)
  • DBD包(数据库描述包:本地数据库目录)
  • LSR包(链路状态请求)
  • LSU包(链路状态更新)
  • LSACK包(链路状态确认)

PS:LSA(链路状态通告)具体的一条一条路由信息或者拓扑信息,不是一个包,被LSU数据包来携带

5、七个状态机

  • DOWN:接收到Hello包,进入下一个状态机
  • INIT(初始化):将接受到的Hello包,存在本地的RID,进入下一个状态机
  • 2way(双向通讯):邻居关系建立的标志

关注条件:已经成为邻接关系时,首先在Exstart state进行选举,然后发送DBD

  • Exstart(预启动):使用不携带目录信息的DBD包,进行主从关系的选举。RID大为主,优先进入下一个状态。---解决目录共享时的无序
  • EXchange(准交换):使用携带目录信息的DBD包,共享本地的数据库目录
  • Loading(加载):查看完邻接的DBD信息后,对比本地,而后基于本地未知的LSA进行查询,使用LSR向对端查询,对端使用LSU来传输这些LSA信息,本地收到后,需要LSACK来进行确认。
  • FULL:邻接关系建立的标志,意味着邻接间本地数据库同步(一致)

6、工作过程



 (1)启动配置完成后,邻居间开始收发Hello包,Hello包中将携带本地以及本地所有已知邻居的RID,之后生成邻居表

邻居间需要关注是否可以成为邻接的条件:如果不能建立为邻接,将保持为邻居关系,仅Hello包周期保活即可。如果可以建立为邻接关系,将使用DBD进行本地数据库目录的对比,基于对比的结果,使用LSR/LSU/LSACK来获取本地未知的LSA信息。

(2)若可以建立为邻接关系,使得邻接关系间的数据库(LSDB)完成同步(一致),生成数据库表

(3)之后本地基于LSDB,使用SPF算法,生成有向图 --> 最短路径树 --> 计算本地到达所有未知网段的路径,将其加载到本地的路由表中 --> 收敛完成

(4)收敛完成后,邻居和邻接关系的Hello包,将每10s发送一次进行保活;每30min一次邻接关系间的周期数据库比对,保障一致。

LSDB -- (链路状态数据库)--- 所有LSA的集合

7、发生结构突变

  • 新增网段
  • 断开网段
  • 无法沟通:dead time 是hello time 的4倍。在4次周期内未收到对端的hello包,将断开与其的邻居关系,删除通过该邻居计算所得路由

8、基础配置

[r1]ospf 1 router-id 1.1.1.1 --- 启动时可以定义进程号和RID。默认进程号是1。
[r1-ospf-1]
[r1-ospf-1]area 0 --- 进行划分区域,将其划入区域0
[r1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0 ---(OSPF在宣告时,需要使用反掩码,匹配宣告的地址范围)
[r1-ospf-1-area-0.0.0.0]network 12.1.1.1 0.0.0.255 ---(反掩码的作用:定义范围)

RID:格式为IPV4地址,全网唯一。RID取名顺序:手工>自动取值。(自动取值:环回接口取最大数值;无环回取物理接口最大数值)

(1)OSPF的宣告特点:

[1] 找到接口并且激活---可以收发OSPF信息

[2] 被选中接口的拓扑信息可以共享给邻接

[3] 进行区域划分:

规则:

a. 星型结构 编号为0为骨干区域(中心),编号大于0为非骨干区域(分支)(非骨干区域直连骨干区域)

b.必须存在ABR(ABR:区域边界路由器。两个接口间互连的设备)

(2)配置完成后,开始工作:

启动配置完成后,邻居间收发Hello包,然后建立邻居关系,生成邻居表

<r1>display ospf peer --- 查看邻居关系
<r1>display ospf peer brief --- 查看邻居简表

邻居关系建立后,关注条件:匹配失败后,保持为邻居关系,仅Hello包周期保活;匹配成功后,可以建立为邻接(毗邻)关系。

邻接关系间,将使用DBD/LSR/LSU/LSACK来获取本地未知的LSA信息,完成本地的LSDB(数据库表)

<r1>display ospf lsdb --- 查看数据库表

当数据库同步完成后,本地基于SPF算法,将数据库转换为有向图,再将有向图转换为树形结构,之后基于树形结构,以本地为起点到达所有未知网段的最短路径,加载到路由表

<r1>display ip routing-table protocol ospf --- 查看OSPF路由

(3)注意事项:

[1] 优先级为10。度量为cost值(cost值=开销值

[2] (OSPF cost = 参考带宽/接口带宽)默认参考带宽为100M

[3] OSPF优选cost值之和最小的为最佳路径;若两条链路cost值相同,则形成等开销负载均衡

若接口带宽大于参考带宽,cost值为1,将可能导致选路不佳,建议修改为默认参考带宽
[r1]ospf 1
[r1-ospf-1]bandwidth-reference ?
  INTEGER<1-2147483648>  The reference bandwidth (Mbits/s)
[r1-ospf-1]bandwidth-reference 1000
PS:修改参考带宽,全网须一致

9、拓展配置

(1)DR/BDR(指定路由器/备份指定路由器)选举:是邻居成为邻接关系的条件,与网络类型有关。

网络类型:

a.点到点 – 在一个网段内,只能存在两个节点。 -- (串线链路)

b.MA – 多路访问—一个网段内的节点数量不限制。不是当下连接几个节点,而是该网络类型允许连接多个节点。--(以太网)

邻居成为邻接关系:

(点到点网络邻居关系直接成为邻接关系;在MA网络中,将进行DR/BDR选举。)(dead time 和选举时间相同)

(在一个网段中,仅DR/BDR与其他路由器为邻接关系;非DR/BDR之间的路由器为邻居关系。)

例:一个网络中出现纯粹的邻居关系,至少需要4台路由器

[1] 选举规则:首先比较该网段所有参选设备接口的优先级,越大越优先(默认优先级为1,取值范围0-255,0标识不参选);如果所有参选设备的优先级相同,就比较参选设备的RID,数值大就优先。

[2] 干涉选举:

<1> DR优先级改为最大,BDR优先级次大。-- OSPF选举是非抢占性的,所以在修改完优先级后,需要需要所有路由器重启OSPF进程。

[r1]int g0/0/0 
[r1-GigabitEthernet0/0/0]ospf dr-priority 3 --- 修改接口优先级
<r1>reset ospf process --- 重启OSPF进程
Warning: The OSPF process will be reset. Continue? [Y/N]:y

<2> 将DR优先级改为最大,BDR优先级次大,其他设备修改为0,无需重启进程

(2)区域汇总:-- OSPF协议不支持接口汇总,只能在ABR上将A区域拓扑计算所得路由,共享给B区域时汇总。

[r2]ospf 1
[r2-ospf-1-area-0.0.0.0]ab
[r2-ospf-1-area-0.0.0.0]abr-summary 1.1.0.0 255.252.0.0

以上操作为,R2为一台连接区域0和其它区域的ABR,R2将通过区域0通过拓扑计算所得的路由,传递给其它区域时进行汇总,汇总网段为1.1.0.0/22

(3)被动接口(沉默接口):仅接受不发送路由协议信息,用于连接用户终端的接口,不得用于连接邻居路由器的接口,否则无法建立邻居关系。

[r2]ospf 1
[r2-ospf-1]silent-interface g0/0/0

(4)认证(接口认证):在直连邻居或者邻接的接口上配置,保障更新的安全。

[r1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456
模式(md5)、编号(1)、密码(123456)(都要求邻居间一致)

(5)加快收敛

邻居间计时器:10s Hello time   40s dead time

邻居间,修改本端的hello time,本端的dead time自动4倍关系匹配;但OSPF中邻居间的hello time 和dead time 必须完全一致,否则无法建立邻居关系。

[r1]int g0/0/0
[r1-GigabitEthernet0/0/0] ospf timer hello 5

(6)缺省路由:边界路由器配置后,自动向内网发布一条缺省路由,之后内网设备将自动生成一条缺省路由

[r2]ospf 1
[r2-ospf-1]default-route-advertise always

二、ACL(访问控制列表)

1、作用:

  • 访问控制:在路由器流量进口或者出口的接口上,匹配相应流量产生动作--允许/拒绝
  • 定义感兴趣流量:抓取流量后给其它策略,让其它策略进行工作

2、访问控制的匹配规则:从上往下,逐一匹配。上条匹配按照上条执行,不再查看下条。

(cisco末尾隐含拒绝所有;华为末尾允许所有)

[1] 分类:

  • 标准 --- 仅关注数据包中的源IP地址
  • 扩展 --- 关注数据包中的源IP地址,目标IP地址,目标端口号或协议号

[2] 配置命令:

<1> 标准 --- 标准ACL仅关注数据包中的源IP地址,故调用时尽量靠近目标,避免对其他流量的误删。

[r2]acl 2000 --- 编号2000-2999为标准列表编号,一个编号代表一张表
[r2-acl-basic-2000]rule deny source 192.168.1.3 0.0.0.0
[r2-acl-basic-2000]rule deny source 192.168.0.0 0.0.255.255
                     动作        源IP地址  通配符
[r2-acl-basic-2000]rule deny source any   (any:代表所有)

源IP地址需要使用通配符来匹配范文。通配符和反掩码的区别,通配符可以0与1穿插书写

例:192.168.1.1  0.0.0.128  --->  192.168.1.1  192.168.1.129

ACL定义完成后,必须在接口上调用方可执行。调用时注意方向(方向:inbound outbound),一个接口的一个方向上只能调用一张表。
[r2]int g0/0/0
[r2-GigabitEthernet0/0/0]traffic-filter ?
  inbound   Apply ACL to the inbound direction of the interface 
  outbound  Apply ACL to the outbound direction of the interface
[r2-GigabitEthernet0/0/0]traffic-filter outbound acl 2000

<2> 扩展列表配置 --- 扩展ACL源IP地址、目标IP地址均关注,所以调用时尽量靠近源IP,尽早处理流量。

[r1]acl 3000  扩展列表编号 3000-3999 
[r1-acl-adv-3000]rule deny ip source 192.168.1.3 0 destination 192.168.3.2 0
                                      源IP地址                  目标IP地址 

(范围 ---> 主机;主机 ---> 范围)都可以

源IP和目标IP地址,使用通配符0标识一个主机,或使用范围标记段,或使用any均可

<3> 使用扩展列表,同时关注目标端口号

  • 目标端口号:服务端使用注明端口来确定具体的服务
  • ICMP(IPV4) --- Internet控制管理协议。(例:ping)

Telnet --- 远程登录(明文不加密、基于TCP、目标端口23

远程登录条件:

a.被登录设备和登录设备网络可达

b.被登录设备进行了Telnet服务配置

[r1]aaa    (reduce服务器,存储账号密码的服务器)
[r1-aaa]local-user ddd privilege level 15 password cipher 123456
Info: Add a new user.
[r1-aaa]local-user ddd service-type telnet
            创建名为ddd的账号,账号密码为123456,权限最大(15),账号仅用于telnet远程登录
[r1]user-interface vty 0 4
[r1-ui-vty0-4]authentication-mode aaa  在vty线路开启认证
                通过vty接口登录,用aaa账号核实
[r1]acl 3001
[r1-acl-adv-3001]rule deny tcp source 192.168.1.1 0 destination 192.168.1.2 0 destination-port eq 23
                拒绝 192.168.1.1 对 192.168.1.2 访问时,传输层协议为TCP,且目标端口号为23
[r1-acl-adv-3001]rule deny icmp source 192.168.1.1 0 destination 192.168.1.2 0 
                仅拒绝192.168.1.1对192,168.1.2的ICMP访问

附:

IPV4地址中,存在私有与公有IP地址的区别:

公有:具有全球唯一性,可以在互联网通讯,需要付费使用

私有:具有本地唯一性,不可在互联网通讯,不用付费使用

(私有IP地址:10.0.0.0/8  172.16.0.0/16 – 172.31.0.0/16  192.168.0.0/24 – 192.168.255.0/24)

三、NAT(网络地址转换)

1、本质:在边界路由器上,对进、出的流量进入源IP地址或目标IP地址的修改。(边界路由器上,连接外网的公有IP地址所在接口配置

2、特点:内网 ---> 外网(改源IP);外网 ---> 内网(改目标IP)

3、记忆方式:一对一  一对多  多对多  端口映射

(1)一对多:一个公有IP地址对应多个私有IP地址 (PAT端口地址转换)

先使用ACL定义可以被转换的私有IP地址范围
[r2]acl 2000
[r2-acl-basic-2000]rule permit source 192.168.0.0 0.0.255.255
(公网所在接口,在ACL2000列表中关注的私有IP地址,通过该接口转出时,源IP地址修改为该接口公有IP)
[r2]int g0/0/2
[r2-GigabitEthernet0/0/2]nat outbound 2000

(2)一对一配置:(连接公网的接口配置)

[r2-GigabitEthernet0/0/2]nat static global 12.1.1.3(公有IP) inside 192.168.1.10(私有IP)

(3)端口映射

[r2-GigabitEthernet0/0/2]nat server protocol tcp global current-interface 80 inside 192.168.1.10 80
                        外部访问该接口IP – 12.1.1.1且目标端口号为80时,将被修改为192.168.1.10 目标端口号为80
Warning:The port 80 is well-known port. If you continue it may cause function failure.
Are you sure to continue?[Y/N]:y
[r2-GigabitEthernet0/0/2]nat server protocol tcp global current-interface 8888 inside 192.168.1.20 80
                        外部访问该物理接口IP -12.1.1.1 且目标端口号为8888时,将被修改为访问192.168.1.20 目标端口80

(4)多对多配置

[r1] nat address-group 1 12.1.1.3 12.1.1.10  先定义公有IP地址范围
[r1] acl 2000 --- 再定义私有IP地址范围
[r1-acl-baisc-2000] rule permit source 172.16.0.0 0.0.255.255  
                    在连接公网的接口上配置多对多
[r1-GigabitEthernet0/0/1] nat outbound 2000(私有范围) address-group 1(公有范围)
[r1-GigabitEthernet0/0/1] nat outbound 2000 address-group 1 no-pat ---(变成一对一)多个一对一

猜你喜欢

转载自blog.csdn.net/weixin_62443409/article/details/129147224