BIRD2: contoh bird.conf

From OnnoWiki
Jump to navigation Jump to search
/*
 *      This is an example configuration file for MB-BGP setting
 */
 
log syslog all;
# debug protocols all;

router id 192.168.1.1;

ipv4 table master4;
ipv6 table master6;

ipv4 table mcast4;
ipv6 table mcast6;

ipv4 table mtab4;
ipv6 table mtab6;

vpn4 table vpntab4;
vpn6 table vpntab6;

vpn4 table vpn4mc;
vpn6 table vpn6mc;

flow4 table flowtab4;
flow6 table flowtab6;

protocol device {
}

protocol kernel kernel4 {
        ipv4 {
                export all;
        };
}
                                                                                                                            
protocol kernel kernel6 {                                                                                                    
        ipv6 {                                                                                                               
                export all;                                                                                                  
        };                                                          
}
                                                                    
protocol static static4 {                                           
        ipv4;                                                                                                                
                                                                                                                             
        route 10.10.0.0/24 via 192.168.1.2;                                                                                  
        route 10.10.1.0/24 via 192.168.1.2 { bgp_large_community.add((10,20,30)); bgp_large_community.add((10,(20*3),10)); };
}

protocol static static6 {                                                                                                    
        ipv6;                                                                                                                
                                                                                                                             
        route 2001:db8:10:10::/64 via 2001:db8:1:1::10;                                                                      
        route 2001:db8:10:11::/64 via 2001:db8:1:1::10;                   
                                                                          
        route 2001:db8:1:1::/64 via fe80::ec9b:67ff:fe60:fd5d % ve1;      
}


# VPNv4 routes with MPLS labels                                                                                              
protocol static statvpn4 {                                                                                                   
        vpn4;                                                                                                                
                                                                                                                             
        route 10:10 10.20.0.0/24 via 192.168.1.2 mpls 210;                                                                   
        route 10:10 10.20.1.0/24 via 192.168.1.2 mpls 210;                                                                   
        route 10:20 10.20.0.0/24 via 192.168.1.2 mpls 220;                                                                   
        route 10:20 10.20.1.0/24 via 192.168.1.2 mpls 220;                                                                   
}                                                                                                                            
                                                                                                                             
protocol static statvpn6 {                                                                                                   
        vpn6;                                                                                                                
                                                                                                                             
        route 10:10 2001:db8:20:10::/64 via 2001:db8:1:1::10 mpls 200/210;                                                   
        route 10:10 2001:db8:20:11::/64 via 2001:db8:1:1::10 mpls 200/210;                                                   
        route 10:20 2001:db8:20:10::/64 via 2001:db8:1:1::10 mpls 200/220;                                                   
        route 10:20 2001:db8:20:11::/64 via 2001:db8:1:1::10 mpls 200/220;                                                   
}                                                                                                                            
                                                                                                                             
# RFC 5575 flow specification                                             
protocol static flowstat4 {                                               
        flow4;                                                                                                               
                                                                                                                             
        route flow4 {                                                                                                        
                dst 10.0.0.0/8;                                                                                              
                proto = 23;                                               
                dport > 24 && < 30 || 40..50,60..70,80;                   
                sport > 24 && < 30 || = 40 || 50,60..70,80;               
                icmp type 80;                                             
                icmp code 90;                                             
                tcp flags 0x03/0x0f;                                      
                length 2048..65535;                                       
                dscp = 63;                                                
                fragment dont_fragment, is_fragment || !first_fragment;   
        };
                                                                                                                             
        route flow4 {                                                                                                        
                dst 11.0.0.0/8;                                                                                              
                proto = 0x12;                                                                                                
                sport > 0x5678 && < 0x9abc || 0xdef0 || 0x1234,0x5678,0x9abc..0xdef0;                                        
                dport = 50;                                                                                                  
                tcp flags 0x000/0xf00;                                                                                       
        };                                                                                                                   
                                                                                                                             
        route flow4 {                                                                                                        
                dst 12.0.0.0/32;                                                                                             
                tcp flags ! 0/0x999;                                                                                         
        };                                                                                                                   
                                                                                                                             
        route flow4 {                                                                                                        
                dst 220.0.254.0/24;                                                                                          
                tcp flags 0x99/0x999;                                                                                        
        };                                                                                                                   
                                                                                                                             
        route flow4 {                                                                                                        
                dst 220.0.254.192/28;                                                
                tcp flags ! 0xfff/0xfff;                                             
        };                                                                                                                   
                                                                                                                             
        route flow4 {                                                                                                        
                dst 15.0.0.0/8;                                                                                              
                tcp flags ! 0x999/0x999;                                             
        };                                                                           
}                                                                                    
                                                                                     
protocol static flowstat6 {                                                                                                  
        flow6;                                                                                                               
                                                                                                                             
        route flow6 {                                                                                                        
                dst fec0:1122:3344:5566::1/128;                                                                              
                src 0000:0000:0000:0001:1234:5678:9800:0000/101 offset 63;                                                   
                next header = 23;                                                                                            
                sport 24..30, 42 || 50,60,70..80;                                                                            
                dport = 50;                                                                                                  
                tcp flags 0x03/0x0f, !0/0xff || 0x33/0x33;                                                                   
                fragment !is_fragment || !first_fragment;                                                                    
                label 0xaaaa/0xaaaa && 0x33/0x33;                                                                            
        };                                                                                                                   
                                                                                                                             
        route flow6 {                                                                                                        
                dst fec0:1122:3344:5566::1/128;                                                                              
                src ::1:1234:5678:9800:0/101 offset 63;                                                                      
                next header = 23;                                                                                            
                dport = 50;                                                                                                  
                sport > 24 && < 30 || = 40 || = 50 || = 60 || >= 70 && <= 80;                                                
                tcp flags 0x3/0x3 && 0x0/0xc;                                        
        };                                                                           
}                                                                                                                            
                                                                                                                            
                                                                                                                          
protocol pipe {                                                                                                              
        table master4;                                                               
        peer table mcast4;                                                           
        import none;                                                                 
        export where source = RTS_OSPF;                                              
}                                                                                    
                                                                                     
protocol pipe {                                                                                                              
        table master6;                                                                                                       
        peer table mcast6;                                                                                                   
        import none;                                                                                                         
        export where source = RTS_OSPF;                                                                                      
}                                                                                                                            
                                                                                                                             
protocol ospf v2 ospf4 {                                                                                                     
        ipv4 {                                                                                                               
                import all;                                                                                                  
#               export where source = RTS_STATIC;                                                                            
        };                                                                                                                   
                                                                                                                             
        area 0 {                                                                                                             
                interface "ve0" { stub; };                                                                                   
                interface "ve1" { hello 5; type ptp; };                                                                      
                interface "ve2" { hello 5; type bcast; ttl security; };                                                      
                interface "ve3" { hello 5; type bcast; ttl security; };                                                      
        };                                                                                                                   
}                                                                                                                            
                                                                                 
                                                                                    
protocol ospf v3 ospf6 {                                                                                                     
        ipv6 {                                                                                                               
                import all;                                                                                                  
#               export where source = RTS_STATIC;                                                                            
        };                                                                           
                                                                                     
        area 0 {                                                                     
                interface "ve0" { stub; };                                           
                interface "ve1" { hello 5; type ptp; };                              
                interface "ve2" { hello 5; type bcast; };                            
        };                                                                           
}                                                                                    

protocol bgp {                                                                                                               
        local 192.168.11.1 as 1000;                                                                                          
        neighbor 192.168.11.2 as 2000;                                                                                       
#       local 192.168.1.1 as 1000;                                                                                           
#       neighbor 192.168.2.1 as 2000;                                                                                        
#       multihop;                                                                                                            
#       rr client;                                                                                                           
#       strict bind;                                                                                                         
#       debug all;                                                                                                           
                                                                                                                             
        # regular IPv4 unicast (1/1)                                                                                         
        ipv4 {                                                                                                               
                # connects to master4 table by default                                                                       
                import all;                                                                                                  
                export where source ~ [ RTS_STATIC, RTS_BGP ];                                                               
        };                                                                                                                   
                                                                                                                             
        # regular IPv6 unicast (2/1)                                                                                         
        ipv6 {                                                                                                               
                # connects to master6 table by default                                                                       
                import all;                                                          
                export where source ~ [ RTS_STATIC, RTS_BGP ];                       
#               next hop address 2001:db8:1:1::1;                                                                            
        };                                                                                                                   
                                                                                                                             
        # IPv4 multicast topology (1/2)                                                                                      
        ipv4 multicast {                                                             
                # explicit IPv4 table                                                
                table mcast4;                                                        
                import all;                                                          
                export all;                                                          
        };                                                                           
                                                                                     
        # IPv6 multicast topology (2/2)                                                                                      
        ipv6 multicast {                                                                                                     
                # explicit IPv6 table                                                                                        
                table mcast6;                                                                                                
                import all;                                                                                                  
                export all;                                                                                                  
#               next hop address 2001:db8:1:1::1;                                                                            
        };                                                                                                                   
                                                                                                                             
        # IPv4 with MPLS labels (1/4)                                                                                        
        ipv4 mpls {                                                                                                          
                # explicit IPv4 table                                                                                        
                table mtab4;                                                                                                 
                import all;                                                                                                  
                export all;                                                                                                  
        };                                                                                                                   
                                                                                                                             
        # IPv6 with MPLS labels (2/4)                                                                                        
        ipv6 mpls {                                                                                                          
                # explicit IPv6 table                                                                                        
                table mtab6;                                                         
                import all;                                                          
                export all;                                                                                                  
                # allows IPv4 next hops (6PE)                                                                                
                # extended next hop;                                                                                         
        };                                                                                                                   
                                                                                     
        # VPNv4 with MPLS labels (1/128)                                             
        vpn4 mpls {                                                                  
                # connects to vpntab4 table by default                               
                import all;                                                          
                export all;                                                          
        };                                                                           
                                                                                     
        # VPNv6 with MPLS labels (2/128)                                                                                     
        vpn6 mpls {                                                                                                          
                # connects to vpntab6 table by default                                                                       
                import all;                                                                                                  
                export all;                                                                                                  
        };                                                                                                                   
                                                                                                                             
        # VPNv4 multicast topology (1/129)                                                                                   
        vpn4 multicast {                                                                                                     
                table vpn4mc;                                                                                                
                import all;                                                                                                  
                export all;                                                                                                  
        };                                                                                                                   
                                                                                                                             
        # VPNv6 multicast topology (2/129)                                                                                   
        vpn6 multicast {                                                                                                     
                table vpn6mc;                                                                                                
                import all;                                                                                                  
                export all;                                                                                                  
        };                                                                                                                   
                                                                                     
        # IPv4 Flowspec (1/133)                                                      
        flow4 {                                                                                                              
                # connects to flowtab4 table by default                                                                      
                import all;                                                                                                  
                export all;                                                                                                  
        };                                                                           
                                                                                     
        # IPv6 Flowspec (2/133)                                                      
        flow6 {                                                                      
                # connects to flowtab6 table by default                              
                import all;                                                          
                export all;                                                          
        };                                                                           
}   

protocol bgp {                                                                                                               
        local 192.168.1.1 as 1000;                                                                                           
        neighbor 192.168.3.1 as 1000;                                                                                        
        multihop;                                                                                                            
        rr client;                                                                                                           
                                                                                                                             
        ipv4 {                                                                                                               
                import all;                                                                                                  
                export where source ~ [ RTS_STATIC, RTS_BGP ];                                                               
        };                                                                                                                   
                                                                                                                             
        ipv6 {                                                                                                               
                import all;                                                                                                  
                export where source ~ [ RTS_STATIC, RTS_BGP ];                                                               
                next hop address 2001:db8:1:1::1;                                                                            
        };                                                                                                                   
}                                                                                                                            
                                                                                                                             
protocol bgp {                                                                                                               
        local 2001:db8:1:1::1 as 1000;                                               
        neighbor 2001:db8:4:1::1 as 1000;                                            
        multihop;                                                                                                            
        rr client;                                                                                                           
                                                                                                                             
        ipv4 {                                                                                                               
                import all;                                                          
                export where source ~ [ RTS_STATIC, RTS_BGP ];                       
                next hop address 192.168.4.1;                                        
        };                                                                           
                                                                                     
        ipv6 {                                                                       
                import all;                                                          
                export where source ~ [ RTS_STATIC, RTS_BGP ];                       
        };                                                                           
}          



Pranala Menarik