Skip to content

cmouse/bgp-advertize-when-alive

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published