FastNetMon BGP IPv4 Blackhole unicast configuration

Before starting with this guide, you need to establish a BGP peering session between FastNetMon and your network equipment using this guide.

We made multiple changes to the BGP announce logic in subnet mode. Please ensure that you run at least 2.0.360 before starting with this guide.

For this manual, you need to know the community number used for Blackhole (RFC 7999) at the router side

Enable announces about attacked host:

sudo fcli set main gobgp_announce_host enable

Then specify blackhole communities used in your network (I personally encourage you to use recommended by RFC 7999 number, 666). Please use only 16-bit ASN numbers (< 65535) for communities here:

sudo fcli set main gobgp_communities_host_ipv4 65001:666
sudo fcli set main gobgp_communities_host_ipv4 65001:667

Then specify the next hop only for host announces:

sudo fcli set main gobgp_next_hop_host_ipv4 1.2.3.4
sudo fcli commit

After this, it’s good to check that we can announce IPs correctly. We could ban some test IP for it

sudo fcli set blackhole 11.22.33.44

You can check all active outgoing announces the following way:

gobgp global rib -a ipv4

You can check status for all neighbours in the following way

gobgp neighbor

You can check the peering session status the following way:

gobgp neigh 22.33.44.55

In addition to per host announces, FastNetMon can announce network which includes host under attack.

Starting from 2.0.363 you can assign custom BGP Communities for each hostgroup this way:

sudo fcli set hostgroup aaa bgp_communities_host_ipv4 65001:771
sudo fcli set hostgroup aaa bgp_communities_subnet_ipv4 65001:772
sudo fcli commit

Starting from 2.0.364 you can specify a custom next hop for announces for each hostgroup:

sudo fcli set hostgroup aaa bgp_next_hops_host_ipv4 1.2.3.4
sudo fcli set hostgroup aaa bgp_next_hops_subnet_ipv4 5.6.7.8
sudo fcli commit

Starting from 2.0.367 you can specify a custom AS_PATH this way:

sudo fcli set main gobgp_as_path_host_ipv4 12345
sudo fcli set main gobgp_as_path_host_ipv4 56789
sudo fcli commit

Alternatively, you can provide a custom AS_PATH for each hostgroup in the following way:

sudo fcli set hostgroup global bgp_as_path_host_ipv4 12345
sudo fcli set hostgroup global bgp_as_path_host_ipv4 56789
sudo fcli commit