FastNetMon has complete support for GoBGP for BGP announce and includes compatible GoBGP in our official packages.

NB! For FastNetMon Advanced edition please use this guide instead.

We have following configuration options for GoBGP in /etc/fastnetmon.conf:

gobgp = on
gobgp_next_hop = 1.2.3.4
gobgp_announce_host = on
gobgp_announce_whole_subnet = off

gobgp_community_host = 65001:666
gobgp_community_subnet = 65001:777

# Configuration for IPv6 announces
gobgp_next_hop_ipv6 = 100::1
gobgp_next_hop_host_ipv6 = 100::1
gobgp_next_hop_subnet_ipv6 = 100::1

gobgp_announce_host_ipv6 = on
# Not supported yet
gobgp_announce_whole_subnet_ipv6 = off

gobgp_community_host_ipv6 = 65001:666
gobgp_community_subnet_ipv6 = 65001:777

To establish BGP session with your network equipment you need to create configuration for GoBGP in /etc/gobgpd.conf file:

[global.config]
  as = 65001
  router-id = "192.168.1.134"

[[neighbors]]
  [neighbors.config]
    neighbor-address = "192.168.1.188"
    peer-as = 65001
    [neighbors.ebgp-multihop.config]
      enabled = true

    [[neighbors.afi-safis]]
    [neighbors.afi-safis.config]
      afi-safi-name = "ipv4-unicast"

    [[neighbors.afi-safis]]
    [neighbors.afi-safis.config]
      afi-safi-name = "ipv6-unicast"

    [neighbors.transport.config]
      local-address = "192.168.1.134"

Run it:

sudo /opt/fastnetmon-community/libraries/gobgp_3_12_0/gobgpd -f /etc/gobgpd.conf

After that, you will see following log message when BGP session was established successfully:

{"Key":"192.168.1.188","State":"BGP_FSM_OPENCONFIRM","Topic":"Peer","level":"info","msg":"Peer Up","time":"2020-05-24T14:42:12+01:00"}

You may check neighbor’s status this way:

/opt/fastnetmon-community/libraries/gobgp_3_12_0/gobgp nei 192.168.1.188

Example output:

BGP neighbor is 192.168.1.188, remote AS 65001
  BGP version 4, remote router ID 192.168.1.188
  BGP state = ESTABLISHED, up for 00:01:24
  BGP OutQ = 0, Flops = 0
  Hold time is 90, keepalive interval is 30 seconds
  Configured hold time is 90, keepalive interval is 30 seconds
  
  Neighbor capabilities:
    multiprotocol:
        ipv4-unicast:	advertised and received
        ipv6-unicast:	received
    route-refresh:	advertised and received
    4-octet-as:	advertised and received
  Message statistics:
                         Sent       Rcvd
    Opens:                  1          1
    Notifications:          0          0
    Updates:                0          0
    Keepalives:             3          4
    Route Refresh:          0          0
    Discarded:              0          0
    Total:                  4          5
  Route statistics:
    Advertised:             0
    Received:               0
    Accepted:               0

Check announced routes:

/opt/fastnetmon-community/libraries/gobgp_3_12_0/gobgp global rib 
    Network             Next Hop             AS_PATH              Age        Attrs
*>  192.168.1.1/32      0.0.0.0                                   00:00:08   [{Origin: ?}]

Announce custom route:

/opt/fastnetmon-community/libraries/gobgp_3_12_0/gobgp global rib add 10.33.0.0/32 -a ipv4

Withdraw route:

/opt/fastnetmon-community/libraries/gobgp_3_12_0/gobgp global rib del 10.33.0.0/32 -a ipv4

To control BGP announces directly from FastNetMon you may consider using command line tool.

24/7 Tech Support

support@fastnetmon.com

Email Us

sales@fastnetmon.com