1.BGP路由控制
路由控制一般通过路由策略实现,即通过路由匹配工具匹配特定路由,再通过路由策略工具对路由的发布和接收进行控制。
路由匹配工具:ACL(Access Control List,访问控制列表),IP Prefix List(地址前缀列表)。
路由策略工具:Filter-Policy和Route-Policy。
BGP可以通过匹配AS_Path和Community等属性进行路由控制。
1.1 正则表达式
正则表达式由普通字符和特殊字符
普通字符:匹配的对象是普通字符本身。
特殊字符:配合普通字符匹配复杂或特殊的字符串组合。
位于普通字符之前或之后用来限制或扩充普通字符的独立控制字符或占位符。 用来描述它前面的字符的重复使用方式。 限定一个完整的范围。
. | 匹配任意单个的字符,包括空格 | 0.0 匹配0x0、020… |
^ | 匹配行首的位置,即一个字符串的开始 | ^10 匹配10.1.1.1,不匹配20.1.1.1 |
$ | 匹配行尾的位置,即一个字符串的结束 | 1$ 匹配10.1.1.1,不匹配10.1.1.2 |
_ | 下划线,匹配任意的一个分隔符 匹配一个逗号(,)、左花括号({)、右花括号(})、左圆括号、右圆括号 匹配输入字符串的开始位置(同^) 匹配输入字符串的结束位置(同$) 匹配一个空格 | _10 匹配(10、{10、空格10等 10_ 匹配10)、10}、10空格等 |
| | 管道字符,逻辑或。如:x|y,匹配x或y | 100|200 匹配100或者200 |
\ | 转义字符,用来将下一个字符(特殊字符或普通字符)标记为普通字符 | \* 匹配* |
* | 匹配前面的子正则表达式0次或多次 | 10* 匹配1、10、100、1000、… | (10)* 匹配空、10、1010、101010… |
+ | 匹配前面的子正则表达式1次或多次 | 10+ 匹配10、100、1000、… | (10)+ 匹配10、1010、101010… |
? | 匹配前面的子正则表达式0次或1次 | 10? 匹配1或10 | (10)? 匹配空或10 |
[xyz] | 匹配正则表达式中包含的任意一个字符 | [123] 匹配255中的2 |
[^xyz] | 匹配正则表达式中未包含的字符 | [^123] 匹配123之外的任何字符 |
[a-z] | 匹配正则表达式指定范围内的任意字符 | [0-9] 匹配0到9之间的所有数字 |
[^a-z] | 匹配正则表达式指定范围外的任意字符 | [^0-9] 匹配所有非数字字符(即匹配0到9之外的任何字符) |
可以使用正则表达式用于as_path filter (注意 as_path filter默认是拒绝) 及Community Filter
as-path filter过滤实验
一、正常建立邻居关系
二、引入外部路由
三、配置as_path filter
ip as-path-filter a deny 100$
ip as-path-filter a permit .* //创建as_path filter (.*表示所有)
bgp 100 peer 10.0.12.2 as-path-filter a export // 应用as_path filter
Community Filter过滤实验
团体属性是可选过渡属性
分为基本团体属性和高级团体属性
ip ip-prefix com index 10 permit 192.168.10.0 24 greater-equal 24 less-equal 24 //匹配出需修改的路由1
route-policy com01 permit node 10
if-match ip-prefix com
apply community 1:100 internet
route-policy com01 permit node 100 //将匹配出的路由打上团体属性
peer 10.0.12.2 route-policy com01 export // 调用策略
peer 10.0.12.2 advertise-community // 将团体属性通告给对等体
ip community-filter 1 permit 1:100 //过滤团体属性
ORF(邻居按需发布)
通过ORF功能将本地的IP前缀列表通过给对等体,使得对等体按照前缀列表的过滤要求通告给本端。节约本端的CPU资源、带宽资源。
[R2-bgp] peer 10.1.12.1 ip-prefix 1 import [R2-bgp] peer 10.1.12.1 capability-advertise orf ip-prefix send
[R1-bgp] peer 10.1.12.2 capability-advertise orf ip-prefix receive
对等体组
对等体组(Peer Group)是一些具有某些相同策略的对等体的集合。当一个对等体加入对等体组中时,该对等体将获得与所在对等体组相同的配置。当对等体组的配置改变时,组内成员的配置也相应改变。
[Huawei-bgp] group group-name [ external | internal ] //external 表示EBGP对等体组 internal表示ibgp对等体
[Huawei-bgp] peer { ipv4-address | ipv6-address } group group-name //加入对等体组
[Huawei-bgp] peer group-name as-number { as-number-plain | as-number-dot } //配置对等体组as号
BGP安全性
常见BGP攻击有:1.建立非法BGP邻居关系 通告非法路由条目 2.发送大量非法BGP报文 损耗cpu利用率
BGP认证
1.MD5认证:BGP的MD5认证只是为TCP连接设置MD5认证密码,由TCP完成认证。
peer 10.0.12.2 password simple huawei123
2.keychain:Keychain是一系列key-id的集合,key-id唯一标识认证信息,认证信息包括认证密码和认证算法。可以周期更换密码
有两种模式:absolute 绝对 :以绝对时间生效
periodic 周期 :以周期时间生效
keychain 1 mode periodic daily
key-id 1
algorithm md5 // 加密算法
key-string cipher huawei@123 // 设置密码huawei@123
注意:BGP的MD5认证与BGP的Keychain认证互斥。
BGP的GTSM
GTSM可以检测IP报文头中的TTL(Time-to-Live)值是否在一个预先设置好的特定范围内,并对不符合TTL值范围的报文进行丢弃
peer 10.0.12.1 valid-ttl-hops 255 //缺省值是255
4字节AS号
2字节AS号 :1-65534 私有64512-65534 0 和65535保留 23456一般表示占位符
4字节AS分为两种形式:整数形式和点分形式。在系统内部都是以无符号的整数形式存储。
RR反射器
反射规则:从客户端ibgp收到的路由会发给客户端及非客户端 从非客户端收到的会发给客户端 从ebgp学到的发给客户端和非客户端
总结:非不传非
备份RR组网
多集群组网
一个AS中可以存在多个集群,各个集群的RR之间建立IBGP对等体。
1.当RR所处的网络层相同时,可以将不同集群的RR全互联,形成同级RR。
防环通过IBGP 水平分割
2.当RR所处的网络层不同时,可以将较低网络层次的RR配成客户机,形成分级RR。
多集群设计不仅提供了针对链路失效的物理冗余,同时提供了针对客户机与RR之间的IBGP会话失效的逻辑冗余。