Continue further down in the Vultr configuration doc, you will find the rest of the
bird.conf file you need to include. What you have is correct, but you need to continue.
The commands to test it are also included in their doc.
https://www.vultr.com/docs/configuring-bgp-on-vultr
For me, I could not get BGP neighbor relationship to establish until I added the static
route to 169.254.0.0/16 to the kernel routing table. Ping alone is not a good test.
Bird has it own routing table. That must be sync’d to the kernel routing table, the
"protocol kernel" section does that. The "protocol static" portion is
where the IP space you want to advertise is defined. If you do not mention your subnet in
there, nothing will be advertised. If you have more than a /24, you can advertise all or a
portion of your allocation. You can advertise other portions from a different Vultr site
or instance.
Don’t forget to add a 44-net address from your allocation to an interface on the VPS. It
will not be reachable until you do. If you want traffic originating from the VPS to use
the 44-net address, you will have to add additional routes to the machine to make that
work. Normally everything will be sourced using the Vultr main IP
You were only allocated an ipv4 address block by ARDC. So nothing needs to be done with
ipv6. I actually completely disabled ipv6 on my VPS(s).
—
Dave K9DC
On Apr 4, 2021, at 16:28, Eric Fort
<eric.fort.listmail(a)fortconsulting.org> wrote:
Sent using SMTP.
On Apr 4, 2021, at 11:05 AM, Dave Gingrich via
44Net <44net(a)mailman.ampr.org> wrote:
Can you ping your neighbor 169.254.169.254? BGP relies upon making connection directly
to a BGP neighbor router on port TCP 179. You may need to add a route to it. Also make
sure you have not filtered out TCP 179 or 169.254 with any firewall settings.
root@Ampr44182822router:~# ping 169.254.169.254
PING 169.254.169.254 (169.254.169.254) 56(84) bytes of data.
64 bytes from 169.254.169.254: icmp_seq=1 ttl=64 time=0.047 ms
64 bytes from 169.254.169.254: icmp_seq=2 ttl=64 time=0.101 ms
64 bytes from 169.254.169.254: icmp_seq=3 ttl=64 time=0.084 ms
64 bytes from 169.254.169.254: icmp_seq=4 ttl=64 time=0.078 ms
64 bytes from 169.254.169.254: icmp_seq=5 ttl=64 time=0.077 ms
^C
--- 169.254.169.254 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 80ms
rtt min/avg/max/mdev = 0.047/0.077/0.101/0.019 ms
root@Ampr44182822router:~#
So yes I can ping my neighbor
I added this to /etc/network/interfaces to
establish the route on boot.
post-up ip route add 169.254.0.0/16 dev ens3 (or whatever your primary interface is
called)
Not needed see above, pings fine without it.
You also need the stanzas: protocol kernel; protocol
static; and protocol device
What do each of these stanzas do? Are
they in addition for what I have or a replacement? What part does what I have play? I’m
trying to get bird to write a log but no log is written. Here’s what I have so far:
ot@Ampr44182822router:/etc/bird# cat bird.conf
log "/var/log/bird.log" all;
router id 104.238.141.49;
protocol bgp vultr
{
local as 4288000184;
source address 104.238.141.49;
import none;
export all;
graceful restart on;
multihop 2;
neighbor 169.254.169.254 as 64515;
password "password-was-here";
}
root@Ampr44182822router:/etc/bird#
(I’ll forgo my addresses for now as first it seems bird needs to get running and not die
immediately then I need to be able to run:
root@Ampr44182822router:/etc/bird# birdc show proto all vultr
Have bird actually running, have it be able to connect to its socket, and show that the
bgp connection is established. Let’s do this in small understandable steps so others can
follow and actually grasp what they are doing.
You can disregard bird6 completely, you are only
dealing with ipv4 here.
Eventually v6 would be nice but yea, let’s get v4 working first.
What do the following stanzas do?
> protocol kernel {
> metric 64; # Use explicit kernel route metric to avoid collisions
> # with non-BIRD routes in the kernel routing table
> import none;
> # export all; # Actually insert routes into the kernel routing table
> }
>
> protocol static
> {
> route 44.yourAllocation/23 via <your primary IP>;
> }
>
> protocol device
> {
> scan time 5;
> }
>
>
> To test it, you will have to add at least one IP from your 44 subnet, to an interface
on your VM. If you fire up another VM inside the same Vultr data center, you should be
able to ping your 44-net test IP immediately. It may take several hours for your test IP
to be accessible globally.
>
> —
> Dave K9DC
>
>
>
>> On Apr 4, 2021, at 12:19, Eric Fort via 44Net <44net(a)mailman.ampr.org>
wrote:
>>
>> I’m reviewing this and trying to follow it:
>>
>>
https://www.vultr.com/docs/configuring-bgp-on-vultr
>>
>> Here is my config files (the vultr examples) I’m running this on debian buster.
>>
>> Bird.conf:
>>
>> root@Ampr44182822router:/etc/bird# cat bird.conf
>>
>>
>> router id 104.238.141.49;
>>
>> protocol bgp vultr
>> {
>> local as 4288000184;
>> source address 104.238.141.49;
>> import none;
>> export all;
>> graceful restart on;
>> multihop 2;
>> neighbor 169.254.169.254 as 64515;
>> password "password-was-here";
>> }
>> root@Ampr44182822router:/etc/bird#
>>
>> Bird6.conf:
>>
>> root@Ampr44182822router:/etc/bird# cat bird6.conf
>> router id 104.238.141.49;
>>
>> protocol bgp vultr
>> {
>> local as 4288000184;
>> source address 2001:19f0:6001:4c5f:5400:03ff:fe38:d8ce;
>> import none;
>> export all;
>> graceful restart on;
>> multihop 2;
>> neighbor 2001:19f0:ffff::1 as 64515;
>> password "password-was-here";
>> }
>> root@Ampr44182822router:/etc/bird#
>>
>> envvars:
>>
>> root@Ampr44182822router:/etc/bird# cat envvars
>> BIRD_RUN_USER=bird
>> BIRD_RUN_GROUP=bird
>> #BIRD_ARGS=
>> root@Ampr44182822router:/etc/bird#
>>
>> Bird commands:
>>
>> root@Ampr44182822router:/etc/bird# birdc show proto all vultr
>> Unable to connect to server control socket (/run/bird/bird.ctl): No such file or
directory
>> root@Ampr44182822router:/etc/bird#
>>
>> (So it appears bird is not running...... further poking seems to indicate it dies
as soon as one tries to start it)
>>
>> Eric
>> Af6ep
>>
>> Sent using SMTP.
>>
>>>> On Apr 4, 2021, at 7:51 AM, Scott Nicholas via 44Net
<44net(a)mailman.ampr.org> wrote:
>>>
>>> If bird immediately dies it's the customer config. Vultr would be doing
a
>>> huge favor helping to solve that for $5/m.
>>>
>>> I'm happy to help off-list if necessary. There apparently are two
different
>>> Vultr pages on BGP as we noticed in a previous request for help.
>>>
>>> Check /var/log/daemon.log (on debian based) for what error is shown before
>>> it dies.
>>>
>>> Also see manual about config test. You can run bird with -p to get a hint
>>> of faulty line.
>>>
>>> Regards,
>>> Scott wb4san
>>>
>>> On Sun, Apr 4, 2021, 10:37 AM Dave Gingrich via 44Net <
>>> 44net(a)mailman.ampr.org> wrote:
>>>
>>>>> On Apr 4, 2021, at 00:06, Eric Fort <
>>>> eric.fort.listmail(a)fortconsulting.org> wrote:
>>>>>
>>>>> Yes I power cycled the instance from the control panel. The issue
seems
>>>> to be that bird chokes on the config file and promptly dies.
>>>>> Eric.
>>>>
>>>> When I established service in Chicago, it worked perfectly immediately.
>>>> When I set up the same service in Sydney, it did not. They quickly found
a
>>>> misconfigured route filter was to blame. Actually it turned out it was
>>>> working, but only inside Australia and with some Australia based
carriers.
>>>> Go figure.
>>>>
>>>> My point is, if you followed the procedure in Vultr’s excellent
>>>> documentation (
https://www.vultr.com/docs/configuring-bgp-on-vultr) and
>>>> it is not working, the problem is likely on their side. My suggestion is
to
>>>> open a support ticket. They have done the same thing before for
thousands
>>>> of customers. They will get you going quickly.
>>>>
>>>> I am reluctant to share my configuration here, not because it is a
>>>> particular secret. But rather, I do not want parts of my configuration
to
>>>> leak in to other folks installations. BGP routing is a service Vultr
>>>> offers. You are a customer of Vultr. Vultr has a very good help desk.
Use
>>>> it. They have done the very same thing for others, thousands of times.
>>>>
>>>> We (IRLP) are thinking about moving some of our remaining network
services
>>>> to Vultr in Dallas and Seattle. We found their single CPU, “High
Frequency”
>>>> VPS to be just awesome.
>>>>
>>>> —
>>>> Dave K9DC
>>>>
>>>>
>>>>
>>>> _________________________________________
>>>> 44Net mailing list
>>>> 44Net(a)mailman.ampr.org
>>>>
https://mailman.ampr.org/mailman/listinfo/44net
>>>>
>>> _________________________________________
>>> 44Net mailing list
>>> 44Net(a)mailman.ampr.org
>>>
https://mailman.ampr.org/mailman/listinfo/44net
>> _________________________________________
>> 44Net mailing list
>> 44Net(a)mailman.ampr.org
>>
https://mailman.ampr.org/mailman/listinfo/44net
>
>
> _________________________________________
> 44Net mailing list
> 44Net(a)mailman.ampr.org
>
https://mailman.ampr.org/mailman/listinfo/44net
--
Dave Gingrich, K9DC
Indianapolis, Indiana USA
Dave(a)dcg.us
+1 317 590-5932