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 <[email protected]>:
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 <[email protected]>:
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
?




Reply via email to