BGP » Historique » Version 9
Raphaël Durand, 18/12/2011 22:51
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 | 3 | Laurent GUERBY | h1. Evolutions de la conf BGP |
8 | 3 | Laurent GUERBY | |
9 | 3 | Laurent GUERBY | * http://lists.tetaneutral.net/pipermail/technique/2011-December/000118.html |
10 | 3 | Laurent GUERBY | |
11 | 5 | Laurent GUERBY | TODO: |
12 | 6 | Laurent GUERBY | * mise en place d'un gestionaire de version style git au moins pour documentation |
13 | 5 | Laurent GUERBY | * Comment gerer les password MD5 du fichier de conf (les garder secrets tout en publiant le reste) |
14 | 5 | Laurent GUERBY | * Atelier ? |
15 | 7 | Laurent GUERBY | ** Laurent GUERBY |
16 | 9 | Raphaël Durand | ** Solarus |
17 | 4 | Laurent GUERBY | |
18 | 2 | Laurent GUERBY | h1. Liens |
19 | 2 | Laurent GUERBY | |
20 | 2 | Laurent GUERBY | * http://www.cl.cam.ac.uk/~tgg22/talks/BGP_TUTORIAL_ICNP_2002.ppt |
21 | 2 | Laurent GUERBY | |
22 | 1 | Laurent GUERBY | h1. Configuration Toulouse |
23 | 1 | Laurent GUERBY | |
24 | 1 | Laurent GUERBY | <pre> |
25 | 1 | Laurent GUERBY | router id 91.224.148.2; |
26 | 1 | Laurent GUERBY | define myas = 197422; |
27 | 1 | Laurent GUERBY | |
28 | 1 | Laurent GUERBY | |
29 | 1 | Laurent GUERBY | protocol device { |
30 | 1 | Laurent GUERBY | scan time 10; |
31 | 1 | Laurent GUERBY | primary "eth0" 91.224.148.3; |
32 | 1 | Laurent GUERBY | } |
33 | 1 | Laurent GUERBY | |
34 | 1 | Laurent GUERBY | protocol static static_bgp { |
35 | 1 | Laurent GUERBY | import all; |
36 | 1 | Laurent GUERBY | route 91.224.148.0/23 reject; |
37 | 1 | Laurent GUERBY | } |
38 | 1 | Laurent GUERBY | |
39 | 1 | Laurent GUERBY | |
40 | 1 | Laurent GUERBY | protocol kernel{ |
41 | 1 | Laurent GUERBY | import all; |
42 | 1 | Laurent GUERBY | export all; |
43 | 1 | Laurent GUERBY | } |
44 | 1 | Laurent GUERBY | |
45 | 1 | Laurent GUERBY | |
46 | 1 | Laurent GUERBY | function avoid_martians() |
47 | 1 | Laurent GUERBY | prefix set martians; |
48 | 1 | Laurent GUERBY | { |
49 | 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+ ]; |
50 | 1 | Laurent GUERBY | |
51 | 1 | Laurent GUERBY | # Avoid 0.0.0.0/X |
52 | 1 | Laurent GUERBY | if net.ip = 0.0.0.0 then return false; |
53 | 1 | Laurent GUERBY | |
54 | 1 | Laurent GUERBY | # Avoid too short and too long prefixes |
55 | 1 | Laurent GUERBY | if (net.len < 8) || (net.len > 24) then return false; |
56 | 1 | Laurent GUERBY | |
57 | 1 | Laurent GUERBY | # Avoid RFC1918 networks |
58 | 1 | Laurent GUERBY | if net ~ martians then return false; |
59 | 1 | Laurent GUERBY | return true; |
60 | 1 | Laurent GUERBY | } |
61 | 1 | Laurent GUERBY | |
62 | 1 | Laurent GUERBY | filter bgp_OUT { |
63 | 1 | Laurent GUERBY | if (net ~ [91.224.148.0/23]) then accept; |
64 | 1 | Laurent GUERBY | else reject; |
65 | 1 | Laurent GUERBY | } |
66 | 1 | Laurent GUERBY | |
67 | 1 | Laurent GUERBY | |
68 | 1 | Laurent GUERBY | protocol bgp TOUIX { |
69 | 1 | Laurent GUERBY | local as myas; |
70 | 1 | Laurent GUERBY | neighbor 91.213.236.1 as 47184; |
71 | 1 | Laurent GUERBY | preference 200; |
72 | 1 | Laurent GUERBY | import where avoid_martians(); |
73 | 1 | Laurent GUERBY | export filter bgp_OUT; |
74 | 1 | Laurent GUERBY | } |
75 | 1 | Laurent GUERBY | |
76 | 1 | Laurent GUERBY | protocol bgp JAGUAR { |
77 | 1 | Laurent GUERBY | local as myas; |
78 | 1 | Laurent GUERBY | neighbor 31.172.233.1 as 30781; |
79 | 1 | Laurent GUERBY | preference 50; |
80 | 1 | Laurent GUERBY | import where avoid_martians(); |
81 | 1 | Laurent GUERBY | export filter bgp_OUT; |
82 | 1 | Laurent GUERBY | } |
83 | 1 | Laurent GUERBY | |
84 | 1 | Laurent GUERBY | protocol bgp TETANEUTRAL { |
85 | 1 | Laurent GUERBY | local as myas; |
86 | 1 | Laurent GUERBY | neighbor 91.224.148.2 as myas; |
87 | 1 | Laurent GUERBY | preference 100; |
88 | 1 | Laurent GUERBY | import where avoid_martians(); |
89 | 1 | Laurent GUERBY | export all; |
90 | 1 | Laurent GUERBY | } |
91 | 1 | Laurent GUERBY | </pre> |