[Xorp-users] Complex BGP. mBGP and PIM-SM setup
Otto Solares
solca at guug.org
Fri Jun 23 01:12:55 PDT 2006
Hi again again! :)
I have this complex setup in Debian sarge for
my University (In Guatemala so no budget for
Cisco/Juniper routers):
If IP address Purpose
-- ---------- -------
eth0 10.0.0.1/24 Internal LAN
eth1 10.0.1.1/24 Internal LAN
eth2 172.16.0.1/16 Internal LAN
eth3 192.168.0.1/24 Internal LAN
eth3.2 192.168.2.1/24 Internal LAN (VLAN)
eth3.3 192.168.3.1/24 Internal LAN (VLAN)
eth3.4 192.168.4.1/24 Internal LAN (VLAN)
eth3.5 192.168.5.1/24 Internal LAN (VLAN)
eth3.6 192.168.6.1/24 Internal LAN (VLAN)
eth3.7 192.168.7.1/24 Internal LAN (VLAN)
eth3.8 192.168.8.1/24 Internal LAN (VLAN)
eth3.9 192.168.9.1/24 Internal LAN (VLAN)
eth3.10 192.168.10.1/24 Internal LAN (VLAN)
eth3.15 192.168.15.1/24 Internal LAN (VLAN)
eth4 10.0.2.1/24 Internal LAN
eth5 <not assigned> (unused)
eth6 10.10.26.7/28 External to Internet2
eth7 <public IP>* External to Internet
* eth7 have 120+ assigned IPv4 address for NATing
internal hosts.
I am using Xorp for 3 purposes:
1. BGP/mBGP with peer in eth6 for connecting to
Internet2.
2. IGMP tracking for my internal hosts.
3. PIM-SM (multicast) for my internal hosts and
for Internet2.
BGP/mBGP works, I obtain more than 9000 routes.
IGMP and PIM-SM in my internal LANs works as
expected, I can stream to a multicast address
and any host from any internal LAN can 'see'
the stream if he join it.
Now my problems:
a. My next-hop router for Internet2 is Linux too
and there is no MSDP implementation for Linux
I choose to use the next-next router (Cisco) as
my RP in PIM-SM. But when sniffing the wire my
box is sending PIM-register to the Cisco (via
eth6) but with the source-address as 10.0.0.1
(eth0) so is possible to change this address
ala 'local-ip' parameter?
b. As you can see all my internal hosts run private
IPv4 addresses and I NAT them for both normal
Internet and Internet2 which works ok but what
if they want to stream something, I know Cisco
could NAT multicast traffic, do you know of any
solution for Linux?
c. I want to export to my next router via BGP my
public Internet CIDR so I have this but it
doesn't work (quagga do export it correctly
but problem with quagga is that it doesn't
handle PIM so I have to pair it with pimd which
is not as good as Xorp for tracking IGMP and
it has lot less parameters to tune):
policy {
policy-statement to-bgp {
term export {
from {
protocol: "connected"
network4: <public_cidr>
} to {
neighbor: 10.10.26.14
} then {
accept
}
}
}
}
bgp {
export: "to-bgp"
bgp-id: 10.10.26.7
local-as: 65103
peer 10.10.26.14 {
local-ip: 10.10.26.7
as: 65103
next-hop: 10.10.26.7
ipv4-unicast: true
ipv4-multicast: true
}
}
I know this setup is extreme but I'm pretty sure
it is a good test bed for Xorp as is a real world
implementation. Thanks for the help!
-otto
More information about the Xorp-users
mailing list