FastNetMon BGP IPv6 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 have made multiple changes to BGP announces logic in IPv6 mode. Please ensure that you run at least 2.0.363 before starting with this guide.

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

To start with, enable BGP action for IPv6 traffic:

sudo fcli set main gobgp_ipv6 enable

To enable announces of the attacked host (/128), use this option:

sudo fcli set main gobgp_announce_host_ipv6 enable

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

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

Finally, configure the next hop to the required value:

sudo fcli set main gobgp_next_hop_host_ipv6 100::1

Also, you need to enable IPv6 NLRI for a particular peer:

sudo fcli set bgp peer_name ipv6_unicast enable
sudo flci commit

After this, we recommend checking that we can announce IP’s correctly. We can ban a test IP for this purpose:

sudo fcli set blackhole dead::beef

You can check all active outgoing announces in the following way:

gobgp global rib -a ipv6

You can check the status for all neighbours in the following way:

gobgp neighbor

You can check the peering session status in 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 version 2.0.363 you can assign custom BGP Communities for each hostgroup in the following way:

sudo fcli set hostgroup aaa bgp_communities_host_ipv6 65001:671
sudo fcli set hostgroup aaa bgp_communities_subnet_ipv6 65001:672
sudo fcli commit

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

sudo fcli set hostgroup aaa bgp_next_hops_host_ipv6 ::1
sudo fcli set hostgroup aaa bgp_next_hops_subnet_ipv6 ::2
sudo fcli commit

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

sudo fcli set main gobgp_as_path_host_ipv6 12345
sudo fcli set main gobgp_as_path_host_ipv6 56789
sudo fcli commit

Alternatively, you can provide a custom AS_PATH for each hostgroup:

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

You can make such AS_PATH manipulations for subnet announces by using gobgp_as_path_subnet_ipv6 and bgp_as_path_subnet_ipv6 as field names.