高级路由和FW(firewall)
1、BGP
2、BGP
3、防火墙
4、防火墙
5、防火墙
-----------------------------------------------------------------
×××
------------------------------------------------------------------
cloud
linux
-----------------------------------------------------------------
三层通信
不同网段之间通讯 - 路由
-路由设备
#路由器 | 多层交换机
-终端设备
#配置网关IP
路由表 vs. 目标IP
|
|
|
直连路由
非直连路由
静态路由
动态路由
IGP(internal): 在一个公司内部使用的一类协议
距离矢量
RIP(v1/2) - 如果使用,仅用 v2
IGRP - 过渡协议,无需理会
EIGRP - 仅仅思科设备支持
链路状态
ISIS - 一般应用与运营商内部 或者 数据中心
OSPF - 应用于企业内部,最流行的协议;
EGP(external):在不同的公司之间,使用的一类协议
BGP - border gateway protocol
边界 网关 协议
BGP的应用场景:
公司与运营商之间有多个线路,并且要求对路由进行灵活的
选路控制;
可以实现在不同的“运营商”之间长时间的稳定的传输大量路由;
-稳定
BGP使用的是 TCP 协议;
-路由问题:
1、传输的路由数量大
2、需要灵活控制
BGP的特点:
1、传输路由稳定 - 因为底层使用的是 TCP 协议;
2、控制路由灵活 - 因为BGP为路由赋予了 13 个路由属性;
举例:为了对比说明 BGP 可以为路由提供更加丰富的路由属性,从而可以
实现路由的灵活控制。
优先级/度量值
192.168.1.0/24 [60/100] via 192.168.100.1
192.168.1.0/24 [60/100] via 192.168.200.1
----------------------------------------------------------------
BGP的工作过程:
1、建立邻居表
2、同步数据库
3、计算路由表
AS:autonomous system - 自治系统
-定义
被统一机构或者组织管理的一个区域
-表示
通过“数字”进行表示,叫做 “AS号”
取值:0-65535
-类型
私有AS:64512 -- 65535
任何一个企业,都可以免费使用
私有 AS 不能在 因特网 上进行传输
公有AS:0 -- 64511
需要向运营商花钱购买使用
公有 AS 可以在 因特网 上进行传输
------------------------------------------------------
BGP邻居(neighbor):
-叫法
对等体(peer)
BGP邻居的类型:
-内部邻居,IBGP peer/neighbor
如果两个邻居路由器,位于同一个 AS ;
-外部邻居,EBGP peer/neighbor
如果两个邻居路由器,位于不同的 AS ;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BGP邻居的配置:
1.确保设备之间的连通性(内网路由 - 直连/静态/动态IGP)
R1:
interface gi0/0/0
ip address 192.168.12.1 255.255.255.0
R2:
interface gi0/0/1
ip address 192.168.12.2 255.255.255.0
2.配置BGP,指定邻居
R1:
bgp 64512 <--启用BGP,并指定 AS 为 64512 ;
peer 192.168.12.2 as-number 64512
# 指定邻居的IP地址以及邻居所在的 AS 号;
R2:
bgp 64512 <--启用BGP,并指定 AS 为 64512 ;
peer 192.168.12.1 as-number 64512
# 指定邻居的IP地址以及邻居所在的 AS 号;
3.验证
display bgp peer # 查看 BGP 的邻居表
BGP local router ID : 192.168.12.2 # 自己的router-id;
Local AS number : 64512 # 自己本地的 AS 号;
Total number of peers : 1 Peers in established state : 1
Peer V AS MsgRcvd MsgSent OutQ Up/Down State PrefRcv
192.168.12.1 4 64512 4 4 0 00:02:21 Established 0
总结:
1.BGP属于 OSI 第 7 层,使用的是 TCP 179 端口;
2.BGP连接可以跨越中间设备,直接进行 BGP 邻居关系的建立;
bgp 64512
router-id x.x.x.x
peer 192.168.X.X as-number 64512
display bgp peer --> 查看 BGP 邻居表;
3.此时建立的邻居,属于“直连端口建邻居”
弊端:
端口容易因为链路或者端口的物理故障,导致IP地址失效;
从而导致 BGP 连接不稳定;
改进:
通过网络设备上的稳定的“虚拟端口”,建立 BGP 邻居关系。
比如:loopback 。
#永远是 up 的,除非整个设备挂掉;
非直连BGP邻居关系 --- 即通过 loopback 建立的邻居关系;
1.确保IP地址的连通性;
2.考虑“更新源检测机制”
-自己接收的 BGP 报文的源IP地址,必须与自己向对方建
邻居时指定的目标IP地址相同。【为了安全】
R1:
1.确保 IGP 互通;【R1: ping -a 10.10.1.1 10.10.3.3 】
2.配置BGP,满足更新检测机制
R1: bgp 64512
router-id 1.1.1.1
peer 10.10.3.3 as-number 64512
peer 10.10.3.3 connect-interface loopback 13
# 更改 R1 向 R3 发送 BGP 报文时所使用的源IP;
R3: bgp 64512
router-id 3.3.3.3
peer 10.10.1.1 as-number 64512
peer 10.10.1.1 connect-interface loopback 13
=================================================================
BGP 路由宣告:
# network
# import-route
================================================================
BGP 路由传递
为了避免路由环路的发生,在内部 BGP 邻居关系之间,引入了一个
防环机制:
IBGP 水平分割
-从一个内部BGP邻居收到的路由,不能再发给另外一个内部邻居
解决方案:
1.所有路由器之间进行“全互联”,形成BGP邻居关系;
缺点:
邻居数据量太多
管理难度大
占用的设备资源非常(都需要TCP链接)
2.路由反射器
-当我们将一个路由器配置为路由反射器以后,
该路由器临时的“关闭IBGP水平分割机制”。
-设备角色
#路由反射器 - route reflector 【RR】
#路由发射器客户端 - route reflector client 【RR-C】
-转发路由的原则
非C 与 非 C 之间不能传输(反射)
-配置命令:
R2:
bgp 64512
peer 10.10.1.1 reflect-client
#将10.10.1.1这个邻居配置成了
路由反射器客户端,
同时,
自己成为了“路由反射器”;
=================================================================
实验目标: PC-1 ----> PC-2
1.配置 PC-1/2 的IP地址和网关IP地址:
192.168.1.1 255.255.255.0
192.168.1.254
192.168.2.1 255.255.255.0
192.168.2.254
2.配置网络中的 IGP : OSPF
R1:
interface loopback 13
ip address 10.10.1.1 255.255.255.0
interface gi0/0/0
ip address 192.168.12.1 255.255.255.0
interface gi0/0/1
ip address 192.168.1.254 255.255.255.0
ospf 1 router-id 1.1.1.1
area 0
network 192.168.12.0 0.0.0.255
network 10.10.1.1 0.0.0.0
R2:
interface loopback 0
ip address 10.10.2.2 255.255.255.0
interface gi0/0/0
ip address 192.168.23.2 255.255.255.0
interface gi0/0/1
ip address 192.168.12.2 255.255.255.0
ospf 1 router-id 2.2.2.2
area 0
network 10.10.2.2 0.0.0.0
network 192.168.12.2 0.0.0.0
network 192.168.23.2 0.0.0.0
R3 :
interface loopback 13
ip address 10.10.3.3 255.255.255.0
interface gi0/0/1
ip address 192.168.23.3 255.255.255.0
interface gi0/0/2
ip address 192.168.2.254 255.255.255.0
ospf 1 router-id 3.3.3.3
area 0
network 10.10.3.3 0.0.0.0
network 192.168.23.3 0.0.0.0
3.配置网络中的 BGP
R1:
bgp 64512
router-id 1.1.1.1
peer 10.10.2.2 as-number 64512
peer 10.10.2.2 connect-interface loopback 13
peer 10.10.3.3 as-number 64512
peer 10.10.3.3 connect-interface loopback 13
import-route direct
R2:
bgp 64512
router-id 2.2.2.2
peer 10.10.1.1 as-number 64512
peer 10.10.1.1 connect-interface loopback 0
peer 10.10.3.3 as-number 64512
peer 10.10.3.3 connect-interface loopback 0
R3:
bgp 64512
router-id 3.3.3.3
peer 10.10.2.2 as-number 64512
peer 10.10.2.2 connect-interface loopback 13
peer 10.10.1.1 as-number 64512
peer 10.10.1.1 connect-interface loopback 13
network 192.168.2.0 255.255.255.0
==============================================================
IBGP水平分割解决方案:
1、BGP全互联
2、路由反射器
3、BGP联盟
R3:
bgp 64512
router-id 3.3.3.3
confederation id 100 <---指定联盟的大 AS 号;
confederation peer-as 64513 <---指定联盟中的邻居小 AS ;
peer 10.10.2.2 as-number 64512
peer 10.10.2.2 connect-interface LoopBack0
peer 192.168.34.4 as-number 64513
R4:
bgp 64513
router-id 4.4.4.4
confederation id 100 <---指定联盟的大 AS 号;
confederation peer-as 64512 <---指定联盟中的邻居小 AS ;
peer 10.10.5.5 as-number 64513
peer 10.10.5.5 connect-interface LoopBack0
peer 192.168.34.3 as-number 64512
命令解析:
当 R4 与 R3 建立邻居时
-首先判断邻居的类型
# IBGP邻居
# EBGP邻居
比较的是:bgp 64513 和 peer 中的 “as-number 64512”
两者不同,所以属于:
EBGP邻居。
-判断该外部邻居所在的/使用的 AS 号是否与自己在同一个联盟下
判断依据是:
confederation peer-as 1 2 3 4 64512
即,我们需要查看 peer 中的 "as-number 64512" 的 64512
有没有出现在 “confederation peer-as” 中 。
#如果有,R4 向 R3 发送 BGP 报文时,使用的 “小AS” ;
#如果没有,R4向 R3 发送 BGP 报文时,使用的是“大AS”;
- 在对方设备 R3 查看:
如果 R4 发送的 AS 号 与 R3 的 peer 中使用的 "as-mumner"
相同,则邻居建立成功;
反之,邻居建立失败;
故障排查场景恢复:
<R3/R4> terminal monitor
<R3/R4> terminal debugging
<R3/R4> debug bgp x.x.x.x all -->查看某一个 BGP 邻居的 debug 信息
<R3/R4> undo debug all --> 关闭所有的 debug 命令;
(open message error / bad as number )
=================================================================
不同大AS之间传递路由时候,我们所学习到的相关知识点:
BGP路由传递的特点:
-IBGP邻居之间传递路由,下一跳不变的;
-EBGP邻居之间传递路由,下一跳是变的;(指的是 大 AS 之间的 EBGP)
如果下一跳不变化,有可能导致的问题是:
BGP路由的下一跳不可达,导致该路由不是最优的,
所以该路由是不可以使用的(1.不允许放入路由表 ; 2.不允许传出去)
针对下一跳不变而导致的路由下一跳不可达的问题的解决方案:
在 AS 的边界路由器上,对自己的内部邻居使用以下命令
R6:
bgp 200
peer 10.10.8.8 next-hop-local
-->将去往 10.10.8.8 邻居
的路由的下一跳变为自己(10.10.6.6)
---------------------------------------------------------------
1.一个16进制,等价于 4个 2进制;
16*8 = 128
-------------------------------------------------------------
IPv6地址:
-特点
地址空间大 ,通过 128bit 表示;
安全性高
-表示
冒号分16进制
例如:
2001 : 0410: 0000 :0001: 0000: 0000 :0000 45ff
-简写原则:
#针对每一个段,如果最左边是0,可以省略不写;
例如:
2001 : 410: 0000 :1: 0000: 0000 :0000 45ff
#针对每一个段,如果全是0,则直接用一个0表示;
例如:
2001 : 410: 0 :1: 0000: 0000 :0000 45ff
#如果,连续的多个段,全都是0,则直接通过“双冒号”表示;
在每一个 IPv6 地址中,双冒号最多只能有一个;
例如:
2001 : 410: 0 :1 :: 45ff
-分类
单播
AGUA - 相当于IPv4 中的公网IP地址;
link-local , 当我们在链路上启用IPv6以后,地址会自动生成
并且是以 FE80:
site-local ,本地站点地址,相当于我们IPv4 中的 A类中的
私有地址;
special-address , 特殊地址,主要指的是
全 0 的 IPv6 地址 -- ::,相当于IPv4的 0.0.0.0 ;
本地回环口地址 -- ::1 ,相当于IPv4 的 127.0.0.1 ;
与IPv4兼容的IPv6地址:
即将IPv4变换为 IPv6的格式,并且放在最后面,
前面的96bit全部用0表示。
例如:
IPv4 - 10.10.1.1
IPv6 - :: 0a0a : 0101
组播 : IPv6 中的组播,与IPv4 中的组播,意义完全相同。
IPv6 地址 - 凡是以 FF 开头的地址,我们称之为IPv6的组播地址
相当于IPv4中的 组播地址 - 224.X.X.X
FF01:
FF02:
FF05:
任意播
=======================================================
1.为网络设备配置IPv6地址;
#配置接口时,首先得开启IPv6协议;
#输入IPv6 地址 (也可以自动获取)
2.为网络设备启用IPv6路由协议;
#全局启用IPv6 功能
#启用IPv6路由协议(RIPng / OSPFv3 / BGP / ISIS)
#IPv6的协议,是需要在每个端口上单独启用的;
3.测试网络设备之间的IPv6连通性;
display ipv6 interface brief
display ipv6 routing-table
ping ipv6 -a x.x.x.x y.y.y.y
基于上课的拓扑的配置如下:
---------------------------------- R1 ------------------------------
#
ipv6 ----> 全局开启IPv6功能;
interface GigabitEthernet0/0/0 ----> 为接口配置IPv6地址;
ipv6 enable # 在接口下开启IPv6功能;
ipv6 address 2001:12::1/64
ripng 1 enable # 在接口开启IPv6路由协议;
#
interface LoopBack0
ipv6 enable
ipv6 address 2001::1/128
ripng 1 enable
#
ripng 1 ------> 创建并启用了ripng 功能;
-------------------------------- R2 ---------------------------
ipv6
interface GigabitEthernet0/0/0
ipv6 enable
ipv6 address 2001:23::2/64
ripng 2 enable
#
interface GigabitEthernet0/0/1
ipv6 enable
ipv6 address 2001:12::2/64
ripng 2 enable
#
interface LoopBack0
ipv6 enable
ipv6 address 2001::2/100
#
ripng 2
#
-------------------------------- R3 ----------------------------
ipv6
interface GigabitEthernet0/0/1
ipv6 enable
ipv6 address 2001:23::3/64
ripng 3 enable
interface LoopBack0
ipv6 enable
ipv6 address 2001::3/128
ripng 3 enable
ripng 3
BGP 笔记
原创
©著作权归作者所有:来自51CTO博客作者李大大12345的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:ACL笔记
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
干货收藏!Calico的BGP RouteReflector策略实践
了解容器网络组件Calico的BGP Route Reflector模式如何使用。
Calico RR模式 kubernetes Calico BGP 容器 -
笔记 BGP
BGP
BGP 笔记