Knowledge Base

Find detailed guides, step-by-step tutorials, and FAQs to help you get the most from your DartNode services.

home bgp our-network

Configuring BGP with DartNode using BIRD

Overview

DartNode offers customer BGP peering for advanced routing control, multi-homing, and DDoS-resilient traffic engineering. This guide explains how to establish a BGP session with DartNode using BIRD on Linux.

DartNode operates AS 399646 and supports both IPv4 and IPv6 customer peering.


Prerequisites

Before starting, ensure you have:

  • Your own ASN

  • At least one public IPv4 and/or IPv6 address assigned by DartNode

  • A Linux server or router with:

    • Root access

    • Static IP configuration

  • BIRD 2.x installed

  • (Optional) BGP MD5 password if provided by DartNode


DartNode BGP Peering Details

ItemValue
DartNode ASN399646
Session TypeeBGP
IPv4 SupportYes
IPv6 SupportYes
Route TypesDefault, Full, or Partial (per agreement)
AuthenticationOptional MD5
Graceful RestartEnabled

DartNode automatically applies bogon filtering and sanity checks on all customer sessions.


Step 1: Install BIRD

Debian / Ubuntu

apt update apt install bird2

RHEL / Rocky / Alma

dnf install bird

Verify:

bird --version

Step 2: Enable IP Forwarding

sysctl -w net.ipv4.ip_forward=1 sysctl -w net.ipv6.conf.all.forwarding=1

Persist:

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf echo "net.ipv6.conf.all.forwarding=1" >> /etc/sysctl.conf

Step 3: Base BIRD Configuration

Edit:

nano /etc/bird/bird.conf

Global Settings

router id 203.0.113.10; # Your IPv4 address log syslog all; protocol device { } protocol direct { ipv4; ipv6; }

Step 4: Define Prefix Filters

Only advertise prefixes you are authorized to announce.

filter EXPORT_V4 { if net ~ [203.0.113.0/24] then accept; reject; } filter EXPORT_V6 { if net ~ [2001:db8:1234::/48] then accept; reject; }

Step 5: Configure IPv4 BGP Session

protocol bgp dartnode_v4 { local as 64500; # Your ASN neighbor 38.134.40.1 as 399646; # DartNode IPv4 peer source address 203.0.113.10; ipv4 { import all; export filter EXPORT_V4; }; graceful restart on; # Optional MD5 # password "your-md5-password"; }

Step 6: Configure IPv6 BGP Session (Optional)

protocol bgp dartnode_v6 { local as 64500; neighbor 2602:f9f3:0:2::1 as 399646; source address 2001:db8:1234::1; ipv6 { import all; export filter EXPORT_V6; }; graceful restart on; # Optional MD5 # password "your-md5-password"; }

Step 7: Start and Verify BIRD

systemctl enable bird systemctl restart bird

Check session status:

birdc show protocols

Expected:

dartnode_v4 BGP Established dartnode_v6 BGP Established

View received routes:

birdc show route protocol dartnode_v4

Common Issues

IssueResolution
Session stuck in IdleVerify ASN, IPs, firewall
No routes receivedConfirm export type (default vs full)
Routes rejectedEnsure only authorized prefixes
IPv6 not coming upVerify source address binding

Security & Policy Notes

  • DartNode enforces bogon filtering

  • Only prefixes registered to your ASN may be advertised

  • Excessive route flapping may trigger dampening

  • Max-prefix limits may apply


Need Help?

Open a support ticket with:

  • Your ASN

  • Peering IPs (IPv4/IPv6)

  • Prefixes you plan to announce

  • Desired route type (default/full)

📧 [email protected]