BGP » Historique » Version 2
Laurent GUERBY, 25/10/2011 22:59
1 | 1 | Laurent GUERBY | h1. BGP |
---|---|---|---|
2 | 1 | Laurent GUERBY | |
3 | 1 | Laurent GUERBY | Nous utilisons BIRD sous Linux comme routeur BGP |
4 | 1 | Laurent GUERBY | |
5 | 1 | Laurent GUERBY | http://bird.network.cz/ |
6 | 1 | Laurent GUERBY | |
7 | 2 | Laurent GUERBY | h1. Liens |
8 | 2 | Laurent GUERBY | |
9 | 2 | Laurent GUERBY | * http://www.cl.cam.ac.uk/~tgg22/talks/BGP_TUTORIAL_ICNP_2002.ppt |
10 | 2 | Laurent GUERBY | |
11 | 1 | Laurent GUERBY | h1. Configuration Toulouse |
12 | 1 | Laurent GUERBY | |
13 | 1 | Laurent GUERBY | <pre> |
14 | 1 | Laurent GUERBY | router id 91.224.148.2; |
15 | 1 | Laurent GUERBY | define myas = 197422; |
16 | 1 | Laurent GUERBY | |
17 | 1 | Laurent GUERBY | |
18 | 1 | Laurent GUERBY | protocol device { |
19 | 1 | Laurent GUERBY | scan time 10; |
20 | 1 | Laurent GUERBY | primary "eth0" 91.224.148.3; |
21 | 1 | Laurent GUERBY | } |
22 | 1 | Laurent GUERBY | |
23 | 1 | Laurent GUERBY | protocol static static_bgp { |
24 | 1 | Laurent GUERBY | import all; |
25 | 1 | Laurent GUERBY | route 91.224.148.0/23 reject; |
26 | 1 | Laurent GUERBY | } |
27 | 1 | Laurent GUERBY | |
28 | 1 | Laurent GUERBY | |
29 | 1 | Laurent GUERBY | protocol kernel{ |
30 | 1 | Laurent GUERBY | import all; |
31 | 1 | Laurent GUERBY | export all; |
32 | 1 | Laurent GUERBY | } |
33 | 1 | Laurent GUERBY | |
34 | 1 | Laurent GUERBY | |
35 | 1 | Laurent GUERBY | function avoid_martians() |
36 | 1 | Laurent GUERBY | prefix set martians; |
37 | 1 | Laurent GUERBY | { |
38 | 1 | Laurent GUERBY | martians = [ 169.254.0.0/16+, 172.16.0.0/12+, 192.168.0.0/16+, 10.0.0.0/8+, 224.0.0.0/4+, 240.0.0.0/4+ ]; |
39 | 1 | Laurent GUERBY | |
40 | 1 | Laurent GUERBY | # Avoid 0.0.0.0/X |
41 | 1 | Laurent GUERBY | if net.ip = 0.0.0.0 then return false; |
42 | 1 | Laurent GUERBY | |
43 | 1 | Laurent GUERBY | # Avoid too short and too long prefixes |
44 | 1 | Laurent GUERBY | if (net.len < 8) || (net.len > 24) then return false; |
45 | 1 | Laurent GUERBY | |
46 | 1 | Laurent GUERBY | # Avoid RFC1918 networks |
47 | 1 | Laurent GUERBY | if net ~ martians then return false; |
48 | 1 | Laurent GUERBY | return true; |
49 | 1 | Laurent GUERBY | } |
50 | 1 | Laurent GUERBY | |
51 | 1 | Laurent GUERBY | filter bgp_OUT { |
52 | 1 | Laurent GUERBY | if (net ~ [91.224.148.0/23]) then accept; |
53 | 1 | Laurent GUERBY | else reject; |
54 | 1 | Laurent GUERBY | } |
55 | 1 | Laurent GUERBY | |
56 | 1 | Laurent GUERBY | |
57 | 1 | Laurent GUERBY | protocol bgp TOUIX { |
58 | 1 | Laurent GUERBY | local as myas; |
59 | 1 | Laurent GUERBY | neighbor 91.213.236.1 as 47184; |
60 | 1 | Laurent GUERBY | preference 200; |
61 | 1 | Laurent GUERBY | import where avoid_martians(); |
62 | 1 | Laurent GUERBY | export filter bgp_OUT; |
63 | 1 | Laurent GUERBY | } |
64 | 1 | Laurent GUERBY | |
65 | 1 | Laurent GUERBY | protocol bgp JAGUAR { |
66 | 1 | Laurent GUERBY | local as myas; |
67 | 1 | Laurent GUERBY | neighbor 31.172.233.1 as 30781; |
68 | 1 | Laurent GUERBY | preference 50; |
69 | 1 | Laurent GUERBY | import where avoid_martians(); |
70 | 1 | Laurent GUERBY | export filter bgp_OUT; |
71 | 1 | Laurent GUERBY | } |
72 | 1 | Laurent GUERBY | |
73 | 1 | Laurent GUERBY | protocol bgp TETANEUTRAL { |
74 | 1 | Laurent GUERBY | local as myas; |
75 | 1 | Laurent GUERBY | neighbor 91.224.148.2 as myas; |
76 | 1 | Laurent GUERBY | preference 100; |
77 | 1 | Laurent GUERBY | import where avoid_martians(); |
78 | 1 | Laurent GUERBY | export all; |
79 | 1 | Laurent GUERBY | } |
80 | 1 | Laurent GUERBY | </pre> |