> ## Documentation Index
> Fetch the complete documentation index at: https://docs.digitalfyre.com/llms.txt
> Use this file to discover all available pages before exploring further.

# BGP Daemon Configuration

<Warning>
  These are reference examples only. Replace all placeholder values (ASN, IPs, prefixes) with your actual information provided during session setup. Review and test thoroughly before deploying in production.
</Warning>

Below are example configurations for establishing a BGP session with DigitalFyre using common BGP daemons. These examples export your prefixes and import nothing — DigitalFyre announces a default route only and your VPS already has default connectivity.

## Placeholder Values

Replace all placeholders below with the actual values provided during your session setup.

| Placeholder                               | Description                   |
| ----------------------------------------- | ----------------------------- |
| `64512`                                   | Your ASN                      |
| `192.168.66.42`                           | Your server's IPv4 address    |
| `10.100.42.66`                            | DigitalFyre BGP neighbor IPv4 |
| `192.168.254.0/24`                        | Your IPv4 prefix              |
| `bdee:f261:1c43:0486:feb7:b7d1:62e5:22a6` | Your server's IPv6 address    |
| `2361:f2e9:eae4:6022:d372:f7e0:7a4e:acbe` | DigitalFyre BGP neighbor IPv6 |
| `4675:505d:3940::/48`                     | Your IPv6 prefix              |

***

## BIRD

For full reference and advanced options, consult the official [BIRD documentation](https://bird.network.cz/?get_doc).

<Tabs>
  <Tab title="IPv4">
    ```text title="/etc/bird.conf" theme={"theme":{"light":"light-plus","dark":"ayu-dark"}}
    router id 192.168.66.42;                                        # Server IPv4

    protocol bgp digitalfyre_ipv4
    {
        local as 64512;                                             # Your ASN
        source address 192.168.66.42;                               # Server IPv4
        ipv4 {
            import none;
            export where net ~ [192.168.254.0/24];                  # Your IPv4 Prefix
        };
        graceful restart on;
        multihop 2;
        neighbor 10.100.42.66 as 64245;                             # BGP Neighbor IPv4
    }
    ```
  </Tab>

  <Tab title="IPv6">
    ```text title="/etc/bird.conf" theme={"theme":{"light":"light-plus","dark":"ayu-dark"}}
    router id 192.168.66.42;                                        # Server IPv4 (router ID is always IPv4)

    protocol bgp digitalfyre_ipv6
    {
        local as 64512;                                             # Your ASN
        source address bdee:f261:1c43:0486:feb7:b7d1:62e5:22a6;    # Server IPv6
        ipv6 {
            import none;
            export where net ~ [4675:505d:3940::/48];               # Your IPv6 Prefix
        };
        graceful restart on;
        multihop 2;
        neighbor 2361:f2e9:eae4:6022:d372:f7e0:7a4e:acbe as 64245; # BGP Neighbor IPv6
    }
    ```
  </Tab>
</Tabs>

***

## FRRouting

For full reference and advanced options, consult the official [FRRouting documentation](https://docs.frrouting.org/).

<Tabs>
  <Tab title="IPv4">
    ```text title="/etc/frr/frr.conf" theme={"theme":{"light":"light-plus","dark":"ayu-dark"}}
    frr defaults traditional
    hostname your-hostname
    !
    router bgp 64512                                                ! Your ASN
     bgp router-id 192.168.66.42                                   ! Server IPv4
     no bgp ebgp-requires-policy
     !
     neighbor 10.100.42.66 remote-as 64245                         ! BGP Neighbor IPv4
     neighbor 10.100.42.66 ebgp-multihop 2
     neighbor 10.100.42.66 update-source 192.168.66.42             ! Server IPv4
     !
     address-family ipv4 unicast
      network 192.168.254.0/24                                     ! Your IPv4 Prefix
      neighbor 10.100.42.66 activate
      neighbor 10.100.42.66 route-map DF-IMPORT in
      neighbor 10.100.42.66 route-map DF-EXPORT out
     exit-address-family
    !
    ip prefix-list ANNOUNCE-V4 seq 10 permit 192.168.254.0/24      ! Your IPv4 Prefix
    !
    route-map DF-IMPORT deny 10
    !
    route-map DF-EXPORT permit 10
     match ip address prefix-list ANNOUNCE-V4
    route-map DF-EXPORT deny 20
    !
    ```
  </Tab>

  <Tab title="IPv6">
    ```text title="/etc/frr/frr.conf" theme={"theme":{"light":"light-plus","dark":"ayu-dark"}}
    frr defaults traditional
    hostname your-hostname
    !
    router bgp 64512                                                ! Your ASN
     bgp router-id 192.168.66.42                                   ! Server IPv4 (router ID is always IPv4)
     no bgp ebgp-requires-policy
     !
     neighbor 2361:f2e9:eae4:6022:d372:f7e0:7a4e:acbe remote-as 64245
     neighbor 2361:f2e9:eae4:6022:d372:f7e0:7a4e:acbe ebgp-multihop 2
     neighbor 2361:f2e9:eae4:6022:d372:f7e0:7a4e:acbe update-source bdee:f261:1c43:0486:feb7:b7d1:62e5:22a6
     !
     address-family ipv6 unicast
      network 4675:505d:3940::/48                                   ! Your IPv6 Prefix
      neighbor 2361:f2e9:eae4:6022:d372:f7e0:7a4e:acbe activate
      neighbor 2361:f2e9:eae4:6022:d372:f7e0:7a4e:acbe route-map DF-IMPORT-V6 in
      neighbor 2361:f2e9:eae4:6022:d372:f7e0:7a4e:acbe route-map DF-EXPORT-V6 out
     exit-address-family
    !
    ipv6 prefix-list ANNOUNCE-V6 seq 10 permit 4675:505d:3940::/48 ! Your IPv6 Prefix
    !
    route-map DF-IMPORT-V6 deny 10
    !
    route-map DF-EXPORT-V6 permit 10
     match ipv6 address prefix-list ANNOUNCE-V6
    route-map DF-EXPORT-V6 deny 20
    !
    ```
  </Tab>
</Tabs>

***

## OpenBGPD

For full reference and advanced options, consult the official [OpenBGPD documentation](https://man.openbsd.org/bgpd.conf).

<Tabs>
  <Tab title="IPv4">
    ```text title="/etc/bgpd.conf" theme={"theme":{"light":"light-plus","dark":"ayu-dark"}}
    AS 64512                                                        # Your ASN
    router-id 192.168.66.42                                         # Server IPv4

    network 192.168.254.0/24                                        # Your IPv4 Prefix

    neighbor 10.100.42.66 {                                         # BGP Neighbor IPv4
        descr "DigitalFyre IPv4"
        remote-as 64245
        multihop 2
        local-address 192.168.66.42                                 # Server IPv4
    }

    deny from any                                                   # Import nothing
    deny to any                                                     # Deny all exports by default
    allow to 10.100.42.66 prefix 192.168.254.0/24                   # Allow your prefix
    ```
  </Tab>

  <Tab title="IPv6">
    ```text title="/etc/bgpd.conf" theme={"theme":{"light":"light-plus","dark":"ayu-dark"}}
    AS 64512                                                        # Your ASN
    router-id 192.168.66.42                                         # Server IPv4 (router ID is always IPv4)

    network 4675:505d:3940::/48                                     # Your IPv6 Prefix

    neighbor 2361:f2e9:eae4:6022:d372:f7e0:7a4e:acbe {             # BGP Neighbor IPv6
        descr "DigitalFyre IPv6"
        remote-as 64245
        multihop 2
        local-address bdee:f261:1c43:0486:feb7:b7d1:62e5:22a6      # Server IPv6
    }

    deny from any                                                   # Import nothing
    deny to any                                                     # Deny all exports by default
    allow to 2361:f2e9:eae4:6022:d372:f7e0:7a4e:acbe prefix 4675:505d:3940::/48
    ```
  </Tab>
</Tabs>

***

## Verifying Your Session

After configuring your BGP daemon and starting the service, verify the session is established and your prefixes are being announced.

| Daemon    | Command                                     |
| --------- | ------------------------------------------- |
| BIRD      | `birdc show protocols all digitalfyre_ipv4` |
| FRRouting | `vtysh -c "show bgp summary"`               |
| OpenBGPD  | `bgpctl show neighbor`                      |

You can also verify your prefix announcements externally using [bgp.tools](https://bgp.tools/) or [ASN.tools](https://asn.tools/).

<Info>
  DigitalFyre's BGP service is fully self-managed. If you encounter session issues, verify your configuration locally before contacting support. Common issues include incorrect neighbor addresses, missing RPKI ROAs, and firewall rules blocking TCP port 179.
</Info>
