发新话题
打印

[技术文献] 读JNCIP study guide凌乱的笔记(EBGP)

读JNCIP study guide凌乱的笔记(EBGP)

1:基本配置
}
protocols {
    bgp {
        group 65020 {
            type external;  类型为外部
            export advroute;
            peer-as 65412;    邻居的AS号
            neighbor 172.16.0.25;  邻居的更新源地址
        }
    }
}
2:EBGP策略
EBGP的import策略
路由惩罚,
路由惩罚有下面几个参数可以修改:
  half-life            Decay half-life (1..45 minutes)                                   半衰期的时间( 每隔多少时间惩罚值降低到一半)
  max-suppress         Maximum hold-down time (1..720 minutes)           最大抑制 (达到一个最大的抑制时间以后,重新向对方请求这条路由)
  reuse                Reuse threshold (figure-of-merit value) (1..20000)     重新使用值 (当惩罚值降到这个值的时候重新激活这条路由)
  suppress             Cutoff threshold (figure-of-merit value) (1..20000)    当这条路由达到这个值的时候,抑制此条路由。
启用damping。针对所有接受的路由。
lunsui# show protocols bgp
damping;
export adv;
group 65000 {
    type internal;
    local-address 10.0.3.3;
    advertise-inactive;
    import import;
    authentication-key "$9$UKiqfu0IRSe"; ## SECRET-DATA
    cluster 1.1.1.1;
    neighbor 10.0.6.1;
    neighbor 10.0.6.2;
    neighbor 10.0.3.4;
当然也可以针对某些路由做特定的damping值
先在policy-option下定义一个damping的组。然后在组下定义调整上面所说的那些值。
damping agg {
    half-life 30;
}
做一个策略针对那些路由需要做damping
    policy-statement damp {
        term 1 {
            from {
                route-filter 0.0.0.0/0 prefix-length-range /17-/32 damping agg;
            }       这里指的是,前缀长度是17到32的路由全部要使用这个damping
然后运用到import策略就搞定了。使用run show route damping suppressed就可以看到被damping的路由。

Martian 过滤
在internet上面我们需要过滤一些路由例如,RFC 1918 defines a set of well-known, local use–only addresses,和那些保留的地址空间。
policy-statement reject {
    term 1 {
        from {
            route-filter 0.0.0.0/0 through 0.0.0.0/7 reject;                过滤0.0.0.0/0到0.0.0.0/7的路由
            route-filter 0.0.0.0/1 prefix-length-range /1-/7 reject;      
        }
    }
    term 2 {
        from {
            route-filter 0.0.0.0/0 prefix-length-range /28-/32 reject;
            route-filter 172.16.0.0/12 orlonger reject;         
            route-filter 10.0.0.0/8 orlonger reject;                     过滤1918私有地址
            route-filter 192.168.0.0/24 orlonger reject;
        }
    }
    term 3 {
        from as-path fromC;   
        then next policy;
    }
    term 4 {
        then reject;
    }
}
as-path fromC .*65020;
社团属性。
    policy-statement C2 {
        term 1 {
            from protocol bgp;
            then {
                community add customers;
            }
        }           
    }
    community R1 members 65412:01;
    community customers members 65412:300;
    community peer members 65412:200;
    community transit members 65412:100;
    as-path fromC .*65020;

Path 201.201.4.0 from 172.16.0.26 Vector len 4.  Val: 1
        *BGP    Preference: 170/-101
                Next-hop reference count: 26
                Source: 172.16.0.26
                Next hop: 172.16.0.26 via fxp1.280, selected
                State: <Active Ext>
                Local AS: 65001 Peer AS: 65020
                Age: 3:53:26
                Task: BGP_65020.172.16.0.26+3841
                Announcement bits (3): 2-KRT 5-BGP.0.0.0.0+179 6-Resolve tree 1
                AS path: 65020 I
                Communities: 65412:300
                Localpref: 100
                Router ID: 64.1.1.1
EBGP的export策略
解决下一跳不可达的问题可以使用nexthop-self来解决。因为BGP在收到来自EBGP对等体关系的邻居的路由再传递给自己的IBGP邻居的时候是不会改变下一跳的。而这些IBGP邻居可能缺少下一跳的路由,所以就会导致HIDEN路由的产生,我可以用next-hop self的参数来解决这个问题。
policy-statement adv {
    term 1 {
        from {
            protocol static;
            route-filter 192.168.0.0/16 longer;
        }
        then accept;
    }
    term 2 {
        from {
            protocol aggregate;
            route-filter 192.168.0.0/22 exact;
        }
        then accept;
    }
    term 3 {
        from protocol bgp;
        then {
            next-hop self;   
        }
    }
}
然后运用到export。
使用commiunit进行export过滤
policy-statement toT1-T2 {
    term 1 {
        from {
            protocol aggregate;
            route-filter 10.0.0.0/8 exact;
        }
        then accept;
    }
    term 2 {
        from community [ peer transit ];    拒绝带有65412:200和65412:100的路由传递出去。
        then reject;
    }
    term 3 {
        from {
            route-filter 192.168.0.0/16 orlonger;
        }
        then reject;
    }
    term 4 {
        from community customers;
        then {
            community - customers;      在传递路由的时候移除community属性。
        }
    }               
}
community customers members 65412:300;
community peer members 65412:200;
community transit members 65412:100;

一些计时器和一些杂七杂八的东西:
当一台BGP的路由器从EBGP对等体收到一条包含有自己AS号的路由时,为了避免环路,他会丢弃该路由。如果当对方由于某些操作失败的时候,将一条路由加入了你本地的AS号的话,那么你将不会接受这样一条路由的。
如果要求你加入这条路由,juniper提供一种机制允许几次的环路。
routing-options {
    static {
        route 192.168.10.0/24 discard;
        route 192.168.100.0/24 discard;
        route 10.0.4.0/30 next-hop 10.0.4.14;
    }
    generate {
        route 10.0.0.0/8;
    }
    autonomous-system 65000 loops 2;  允许一条路由的AS-PATH属性中最多出现两次自己本AS的AS号。
配置完以后要使用run clear bgp neighbor 10.0.5.254 soft-inbound 命令以后才能看到结果。
MED的操作。
policy-statement med {
    term 1 {
        then {
            metric 100;
        }
    }
}
注意juniper默认的MED值为0。
同时也可以使用下面红色的命令修改MED,并且当策略和metric-out同时配置并且数值不同的时候,会有优先选择使用策略的。
group T1-T2 {
    type external;
    import [ damp reject T1-T2 ];
    export toT1-T2;
    peer-as 65222;  
    multipath;
    neighbor 172.16.0.14;
    neighbor 172.16.0.18 {
        metric-out 500;
    }
}

group T2 {
    type external;
    metric-out igp;
    remove-private;
    peer-as 65222;
    neighbor 172.16.0.22;
}
注意这个MED可以基于某条路由自己计算到自己IBGP邻居达通告者的igp metric。

本地优先级的操作。
group c-bgp {
    type external;
    local-preference 200;
    neighbor 10.0.2.2 {
        peer-as 65001;
    }
}
当你的BGP对等体在配置你AS的AS号错误的时候,你可以在不改变对端的配置的情况下使得邻居建立。
group C2 {
    type external;
    peer-as 65020;
    local-as 65413;
    neighbor 172.16.0.26;
}
限制前缀条目?
}
group C1 {
    type external;  
    multihop;
    local-address 10.0.3.4;
    family inet {
        unicast {
            prefix-limit {
                maximum 10;           有问题??????
            }
        }
    }
    neighbor 200.200.0.1 {
        peer-as 65010;
    }
}
当你需要过滤路由的时候,不想使用策略进行过滤的时候,那么可以将这些需要过滤的路由加入到火星路由的条目中。
可以在路由选项下输入下面的命令。
set martians 192..0.2.0/24 exact
查看:
lunsui# run show route martians logical-router R6
inet.0:
             0.0.0.0/0 exact -- allowed
             0.0.0.0/8 orlonger -- disallowed
             127.0.0.0/8 orlonger -- disallowed
             128.0.0.0/16 orlonger -- disallowed
             191.255.0.0/16 orlonger -- disallowed
             192.0.0.0/24 orlonger -- disallowed
             223.255.255.0/24 orlonger -- disallowed
             240.0.0.0/4 orlonger -- disallowed
             192.0.2.0/24 orlonger -- disallowed
作者信息我和你错在太过重感情.
欲练神功....

TOP

发新话题