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
?