cmouse / bgp-advertize-when-alive

Advertizes BGP routes when given system check says it's alive.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

A simple service oriented BGP advertisement script.

The point of this script is to advertise the wanted prefixed
when your services are actually running. This is done by 
having the program check for the service with defined command
and if it returns non-zero return value, remove advertisement.

I recommend the ruby version. Perl version is provided for those
cases where ruby is not possible. 

Installation

Prerequisites: 
 - rubygems
 - bundler

Execute 'bundle install' on the directory. It should install the
required components.

Edit the script bgp-peer.rb, and change the paths. 

Edit bgp-daemon.conf (YAML file) to suit your installation. In case
you lose the original, the default is given at the end. 

Configure peering with router(s). NB: TCP authentication is *not* 
supported. 

Start the daemon with bgp-peer.rb start. You can then check bgp.log 
for any activity and errors. 

Default config file

---
# PEER config (repeat for each peer, use YAML syntax
  # as number
- :as: 65000
  # AFI (choose :ipv4 or :ipv6)
  :afi: :ipv4
  # Enable/Disable peer
  :enabled: 1
  # Your IP
  :local_ip: 10.0.0.1
  # Peer IP
  :remote_ip: 10.0.0.2

  :targets:
  # list of prefixes
  - :prefixes:
    # one per row, note the -
    - 10.10.10.10/32
    # Multi-Exit Discriminator
    :med: 100
    # Local preference
    :pref: 100
    # this is list of communities you want to send (as string)
    :communities:
    # Name for your target set (like, DNS server)
    :name: DNS server
    # Next hop IP address
    :destination: 10.0.0.1
    # Checker function
    :check: /bin/true


About

Advertizes BGP routes when given system check says it's alive.

License:Other


Languages

Language:Perl 50.9%Language:Ruby 49.1%