No routes??

Виталий Туровец corebug at corebug.net
Sun Sep 9 20:57:29 CEST 2012


2012/9/9 ril.kidd <ril.kidd at gmail.com>:
> 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 at 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 at 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 at 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 at 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
> ?
>
>
>
>

If i were you, i'd turn on the "kernel" and "device" protocols :)
Your birds don't import any routes from anywhere, wo they wouldn't
propagate anything to peers :)
They just have nothing to :)

-- 




~~~
WBR,
Vitaliy Turovets
Systems Administrator
Corebug.Net
+38(093)265-70-55
VITU-RIPE



More information about the Bird-users mailing list