使用OpenBSD在Vultr上配置BGP

Vultr的BGP功能使您可以拥有自己的IP空间,并在我们的任何位置使用它,而OpenBSD实例则不需要其他软件!

入门

为了使用BGP,您将需要自己的IP空间(v4或v6)。如果您有自己的ASN,则可以使用它,或者我们可以分配一个私有的。

使用以下信息打开票证:

  • 您的IP范围
  • 您的ASN (如果有)
  • IP范围的LOA (仅当您没有自己的ASN时)

在您的帐户上配置BGP之后,您就可以继续配置BGP。

我们的示例将使用以下内容:

  • ASN:64512
  • 实例的IPv4地址:203.0.113.123
  • 实例的IPv6地址:2001:DB8:1000 :: 1/64
  • IPv4块:198.51.100.0/24
  • IPv6块:2001:0db8 :: / 32
  • BGP密码:hunter2

BGP设置

OpenBSD附带了bgpd(8)已安装的文件,仅需更改一些配置文件即可启动。

编辑rc.conf.local(8)以添加以下行以允许bgpd(8)守护程序通过以下方式启动rc.d(8)

bgpd_flags=

bgpd.conf(8)可以在找到完整的示例,/etc/examples/bgpd.conf其中包含您可能需要的许多其他配置选项。

根据需要调整以下示例配置并写入/etc/bgpd.conf (确保此文件的权限为600)

   AS 64512
    router-id 203.0.113.123

    listen on 127.0.0.1
    listen on ::1
    log updates
    network 198.51.100.0/24
    network 2001:0db8::/32

    neighbor 169.254.169.254 {
            remote-as               64515
            descr                   "Vultr IPv4"
            announce IPv4           unicast
            announce IPv6           none
            tcp md5sig password     hunter2
            multihop                2
            local-address           203.0.113.123
    }
    neighbor 2001:19f0:ffff::1 {
            remote-as               64515
            descr                   "Vultr IPv6"
            announce IPv4           none
            announce IPv6           unicast
            tcp md5sig password     hunter2
            multihop                2
            local-address           2001:DB8:1000::1
    }

要确保一切正常,可以发出命令bgpd -f /etc/bgpd.conf -n。如果bgpd(ok)返回,则可以启动守护程序。

# rcctl enable bgpd
# rcctl start bgpd
bgpd(ok)

要检查BGP会话的状态,您需要使用bgpctl(8)。例如,要查看基本概述,可以使用bgpctl show summary

# bgpctl show summary
Neighbor                   AS    MsgRcvd    MsgSent  OutQ Up/Down  State/PrfRcvd
Vultr IPv6              64515        230        207     0 01:41:40      0
Vultr IPv4              64515        244        220     0 01:48:09      0

要查看有关BPG邻居使用的详细信息 bgpctl show neighbor

BGP neighbor is 2001:19f0:ffff::1, remote AS 64515, Multihop (2)
 Description: Vultr IPv6
  BGP version 4, remote router-id 45.63.102.186, using md5sig
  BGP state = Established, up for 01:46:45
  Last read 00:00:08, holdtime 90s, keepalive interval 30s
  Neighbor capabilities:
    Multiprotocol extensions: IPv6 unicast
    Route Refresh
    Graceful Restart: Timeout: 120, IPv6 unicast
    4-byte AS numbers

  Message statistics:
          Sent       Received  
  Opens                    1          1
  Notifications            0          0
  Updates                  2          1
  Keepalives             214        240
  Route Refresh            0          0
  Total                  217        242

  Update statistics:
          Sent       Received  
  Updates                  4          0
  Withdraws                0          0
  End-of-Rib               1          1

  Local host:  2001:DB8:1000::1, Local port:  38298
  Remote host:    2001:19f0:ffff::1, Remote port:   179

BGP neighbor is 169.254.169.254, remote AS 64515, Multihop (2)
 Description: Vultr IPv4
  BGP version 4, remote router-id 45.63.102.186, using md5sig
  BGP state = Established, up for 01:53:14
  Last read 00:00:14, holdtime 90s, keepalive interval 30s
  Neighbor capabilities:
    Multiprotocol extensions: IPv4 unicast
    Route Refresh
    Graceful Restart: Timeout: 120, IPv4 unicast
    4-byte AS numbers

  Message statistics:
          Sent       Received  
  Opens                    1          1
  Notifications            0          0
  Updates                  2          1
  Keepalives             227        253
  Route Refresh            0          0
  Total                  230        255

  Update statistics:
          Sent       Received  
  Updates                  4          0
  Withdraws                0          0
  End-of-Rib               1          1

  Local host:         203.0.113.123, Local port:  19824
  Remote host:      169.254.169.254, Remote port:   179

此时,我们可以开始为接口分配IP地址(例如,通过配置/etc/hostname.lo1),以便可以将应用程序配置为侦听这些IP。

如果打算在多个实例上使用IP地址,则需要调整network每个实例上的语句,以声明这些IP的更具体的路由。

实例A

   AS 64512
    router-id 203.0.113.123

    listen on 127.0.0.1
    listen on ::1
    log updates
    network 198.51.100.0/24
    network 198.51.100.1/32
    network 2001:0db8::/32
    network 2001:0db8::/64

    neighbor 169.254.169.254 {
            remote-as               64515
            descr                   "Vultr IPv4"
            announce IPv4           unicast
            announce IPv6           none
            tcp md5sig password     hunter2
            multihop                2
            local-address           203.0.113.123
    }
    neighbor 2001:19f0:ffff::1 {
            remote-as               64515
            descr                   "Vultr IPv6"
            announce IPv4           none
            announce IPv6           unicast
            tcp md5sig password     hunter2
            multihop                2
            local-address           2001:DB8:1000::1
    }

实例B

   AS 64512
    router-id 203.0.113.124

    listen on 127.0.0.1
    listen on ::1
    log updates
    network 198.51.100.0/24
    network 198.51.100.2/32
    network 2001:0db8::/32
    network 2001:0db8:0001::/64

    neighbor 169.254.169.254 {
            remote-as               64515
            descr                   "Vultr IPv4"
            announce IPv4           unicast
            announce IPv6           none
            tcp md5sig password     hunter2
            multihop                2
            local-address           203.0.113.124
    }
    neighbor 2001:19f0:ffff::1 {
            remote-as               64515
            descr                   "Vultr IPv6"
            announce IPv4           none
            announce IPv6           unicast
            tcp md5sig password     hunter2
            multihop                2
            local-address           2001:DB8:1000::2
    }

注意:不要忘记使用与本文引用的密码不同的密码。



Leave a Comment

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。

如何在Ubuntu 16.04上安装OpenSIPS控制面板

如何在Ubuntu 16.04上安装OpenSIPS控制面板

快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。

在Fedora 28上安装Akaunting

在Fedora 28上安装Akaunting

学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。

诊断Minecraft服务器延迟和低TPS

诊断Minecraft服务器延迟和低TPS

了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息