FastNetMon Community EXABGP integration

This guide covers FastNetMon Community only. FastNetMon Advanced has a bundled BGP support, which can be configured directly from our command line interface.

For all new deployments, we advise using GoBGP integration as it offers way better capabilities than ExaBGP.

FastNetMon can enable/disable announces of blackholed IPs (/32) to BGP core router (Cisco, Juniper, Quagga, Bird, Extreme, Brocade). This feature is implemented with the ExaBGP toolkit.

If you want to use this capability, please set the following params in /etc/fastnetmon.conf and tune them to values suitable for your network:

exabgp = on
exabgp_command_pipe = /var/run/exabgp.cmd
exabgp_community = 65001:666
exabgp_next_hop = 10.0.3.114
exabgp_announce_host = on

Secondly, you should install, configure and run ExaBGP toolkit.

Install ExaBGP 3:

pip install exabgp==3.4.20

All our instructions are suitable only for ExaBGP 3.

Install socat (if you do not have socat for your platform, please check this manual):

apt-get install -y socat
yum install -y socat

Create example configuration:

vim /etc/exabgp_blackhole.conf

Example here (please fix this configuration to your network):

group Core_v4 {
    hold-time 180;
    # local AS number
    local-as 65001;
    # Remote AS number
    peer-as 1234;
    # ID for this ExaBGP router
    router-id 10.0.3.114;
    graceful-restart 1200;

    # Remote peer
    neighbor 10.0.3.115 {
        # Local IP addess which used for connections to this peer
        local-address 10.0.3.114;
        description "Quagga";
    }   

    # Add this line for process management
    process service-dynamic {
        run /usr/bin/socat stdout pipe:/var/run/exabgp.cmd;
    }   
}

Run ExaBGP:

env exabgp.daemon.user=root exabgp.daemon.daemonize=true exabgp.daemon.pid=/var/run/exabgp.pid exabgp.log.destination=/var/log/exabgp.log exabgp /etc/exabgp_blackhole.conf

Don’t be puzzled by ExaBGP’s output like this one:

exabgp: 1363   configuration environment file missing
exabgp: 1363   configuration generate it using "exabgp --fi > /usr/local/etc/exabgp/exabgp.env"

This is simply a warning, not an error message. ExaBGP will start in the background.

You can get more details about it from the log file:

cat /var/log/exabgp.log

You can read more articles about ExaBGP configuration here and here.