Ok, i have DNS running on one peer (route client) and listening on a virtual sub-interface (I intend to add more and do anycasting). the other peer will be a route server. It is the route to the virtual IP on the route client that I want to propagate to the route server. bird> sh protocols all name proto table state since info kernel1 Kernel master up 14:03 Preference: 10 Input filter: ACCEPT Output filter: ACCEPT Routes: 0 imported, 0 exported, 0 preferred Route change stats: received rejected filtered ignored accepted Import updates: 0 0 0 0 0 Import withdraws: 0 0 --- 0 0 Export updates: 0 0 0 --- 0 Export withdraws: 0 --- --- --- 0 device1 Device master up 14:03 Preference: 240 Input filter: ACCEPT Output filter: REJECT Routes: 0 imported, 0 exported, 0 preferred Route change stats: received rejected filtered ignored accepted Import updates: 0 0 0 0 0 Import withdraws: 0 0 --- 0 0 Export updates: 0 0 0 --- 0 Export withdraws: 0 --- --- --- 0 RC1p BGP master up 14:04 Established Description: Route Client1 Peer Preference: 100 Input filter: ACCEPT Output filter: ACCEPT Routes: 0 imported, 0 exported, 0 preferred Route change stats: received rejected filtered ignored accepted Import updates: 0 0 0 0 0 Import withdraws: 0 0 --- 0 0 Export updates: 0 0 0 --- 0 Export withdraws: 0 --- --- --- 0 BGP state: Established Neighbor address: 192.168.128.32 Neighbor AS: 64496 Neighbor ID: 192.168.128.32 Neighbor caps: refresh AS4 Session: external route-server AS4 Source address: 192.168.128.31 Hold timer: 179/240 Keepalive timer: 37/80 #Route client bird.conf router id 192.168.128.21; #protocol direct { # interface "-eth*", "*"; # Restrict network interfaces it works with #} protocol kernel { # learn; # Learn all alien routes from the kernel persist; # Don't remove routes on bird shutdown scan time 20; # Scan kernel routing table every 20 seconds # import none; # Default is import all export all; # Default is export none # kernel table 5; # Kernel table to synchronize with (default: main) } protocol device { scan time 10; # Scan interfaces every 10 seconds } protocol bgp RouteSrv { # disabled; description "Route Server Peer"; local as 64496; neighbor 192.168.128.20 as 65000; import all; export all; # multihop; } #Route Server bird.conf router id 192.168.128.20; # Martian networks function net_martian() { return net ~ [ 169.254.0.0/16+, 172.16.0.0/12+, 192.168.0.0/16+, 10.0.0.0/8+, 127.0.0.0/8+, 224.0.0.0/4+, 240.0.0.0/4+, 0.0.0.0/32-, 0.0.0.0/0{25,32}, 0.0.0.0/0{0,7} ]; } #Local networks function net_local() { return net ~ [ 192.168.128.0/24+, 192.168.122.0/24+ ]; } function rt_import(int asn; int set peer_asns; prefix set peer_nets) { if ! (net ~ peer_nets) then return false; if ! (bgp_path.last ~ peer_asns) then return false; if bgp_path.first != asn then return false; if bgp_path.len > 64 then return false; if bgp_next_hop != from then return false; return true; } function rt_export_all() { if proto = "static_bgp" then return true; if source != RTS_BGP then return false; if net_martian() then return false; if bgp_path.len > 64 then return false; return true; } #protocol direct { # interface "-eth*", "*"; # Restrict network interfaces it works with #} protocol kernel { # learn; # Learn all alien routes from the kernel persist; # Don't remove routes on bird shutdown scan time 20; # Scan kernel routing table every 20 seconds # import none; # Default is import all export all; # Default is export none # kernel table 5; # Kernel table to synchronize with (default: main) } protocol device { scan time 10; # Scan interfaces every 10 seconds } filter bgp_in_client { if ! rt_import(64496, [ 64496 ], [ 192.168.128.0/24, 10.0.0.0/23+ ]) then reject; accept; } filter bgp_out_client { if ! rt_export_all() then reject; accept; } protocol bgp RC1 { # disabled; description "Route Client1 Peer"; local as 65000; neighbor 192.168.128.21 as 64496; import filter bgp_in_client; export filter bgp_out_client; rs client; } [admin@rs ~]# ifconfig -a eth0 Link encap:Ethernet HWaddr 00:1A:64:22:5F:E9 inet addr:192.168.128.31 Bcast:192.168.128.255 Mask:255.255.255.0 inet6 addr: fe80::21a:64ff:fe22:5fe9/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:3726 errors:0 dropped:0 overruns:0 frame:0 TX packets:1964 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:331155 (323.3 KiB) TX bytes:187893 (183.4 KiB) Interrupt:17 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) [admin@rc ~]# ifconfig -a eth0 Link encap:Ethernet HWaddr 00:1A:64:22:60:01 inet addr:192.168.128.33 Bcast:192.168.128.255 Mask:255.255.255.0 inet6 addr: fe80::21a:64ff:fe22:6001/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:25056 errors:0 dropped:0 overruns:0 frame:0 TX packets:10341 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:2368094 (2.2 MiB) TX bytes:1065046 (1.0 MiB) Interrupt:17 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:22 errors:0 dropped:0 overruns:0 frame:0 TX packets:22 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:1900 (1.8 KiB) TX bytes:1900 (1.8 KiB) lo:0 Link encap:Local Loopback inet addr:10.0.1.1 Mask:255.255.255.255 UP LOOPBACK RUNNING MTU:16436 Metric:1 This worked ok on Ubuntu On 09/09/12 18:49, ??????? ??????? wrote:
2012/9/9 ril.kidd <ril.kidd@gmail.com>:
The following commands give me: Peer is not a protocol
birdc show protocols all Peer birdc show route all protocol Peer birdc show route all export Peer
Output from "'# netstat -rn" is: Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 192.168.128.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0 0.0.0.0 192.168.128.28 0.0.0.0 UG 0 0 0 eth0 Well, 1: which routes you expect your bird to propagate to peer? 169.254.0.0/16 network. must NOT be routed anyway. 2: ports out otput of "show protocols all " command here please. 3: show your FULL and UNCUT config file. 4: ifconfig -a
On 09/09/12 17:18, ??????? ??????? wrote:
2012/9/9 ril.kidd <ril.kidd@gmail.com>:
On 09/09/12 16:57, ril.kidd wrote:
Sorry, bird.conf looks like this:
router id 192.168.128.21;
#protocol direct { # interface "-eth*", "*"; # Restrict network interfaces it works with #}
protocol kernel { # learn; # Learn all alien routes from the kernel persist; # Don't remove routes on bird shutdown scan time 20; # Scan kernel routing table every 20 seconds # import none; # Default is import all export all; # Default is export none # kernel table 5; # Kernel table to synchronize with (default: main) }
protocol device { scan time 10; # Scan interfaces every 10 seconds }
protocol bgp Peer { # disabled; description "Peer"; local as 64496; neighbor 192.168.128.20 as 65000; import all; export all; # multihop; }
On 09/09/12 16:53, Crest wrote:
On 09.09.2012 17:50, ril.kidd wrote:
On 09/09/12 16:10, ril.kidd wrote:
hello, I have two ubuntu 12.04 linux servers running bird 1.3.8 and peered with each other. The routes from each show in both routing tables.
I installed centos 6.3 on an (identically configured) different set of servers and copied the configuration files. I see peering established but no routes in both routing tables. It doesnt work when peered with the ubuntu servers either. Please what may be wrong? Or am I just missing something?
Actually, when i do "show route" from birdc> i dont get any results
Sorry my crystal ball is unaligned how about a few bird.conf snippets to calibrate it?
What about output from these commands: birdc show protocols all Peer birdc show route all protocol Peer birdc show route all export Peer netstat -rn ?