No routes??
ril.kidd
ril.kidd at gmail.com
Sun Sep 9 21:23:49 CEST 2012
On 09/09/12 19:57, Виталий Туровец wrote:
> 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 :)
Thank you.
The device protocol is turned on. When I uncomment the learn line unde
ther kernel protocol, i get this:
#Route Client
birdc> show route
0.0.0.0/0 via 192.168.128.28 on eth0 [kernel1 15:43] * (10)
#Route Server
birdc> show route
0.0.0.0/0 via 192.168.128.28 on eth0 [RC1p 15:33 from
192.168.128.20] ! (100) [AS64496i]
192.168.128.28 is configured as the default gateway on the machine.
How do I import the route to the virtual sub-interface?
More information about the Bird-users
mailing list