在Vultr上配置BGP

Vultr的BGP功能使您可以拥有自己的IP空间,并在我们的任何位置使用它。

入门

要使用BGP,您需要:

  • 部署的Vultr服务器实例。
  • 您自己的IP空间(v4或v6)。如果您有自己的ASN,则可以使用它,或者我们可以分配一个私有的。

如果要发布IPv4前缀,则服务器实例必须具有Vultr自动分配的IPv4地址。如果要发布IPv6前缀,则服务器实例必须同时具有Vultr自动分配的IPv4和IPv6地址。

请先完成BGP设置表格。确保您验证ASN和子网的所有权,以防止延迟。

一旦在帐户上配置了此功能,就可以继续配置BGP。

BGP设置

注意:如果要配置在您的帐户上设置BGP之前部署的实例,则需要通过控制面板重新启动它。BGP在重新启动之前无法在任何现有实例上运行(通过SSH重新启动是不够的)。

我们建议将BIRD用作BGP守护程序(但您可以使用所需的任何BGP守护程序)。大多数操作系统都为此提供了一个软件包。

我们的示例将假设以下内容:

  • ASN:64512
  • 实例的IP :: 203.0.113.123
  • IPv4块:198.51.100.0/24
  • BGP密码:hunter2

为了确认连通性,让我们设置一个BGP会话而不宣布任何IP。/etc/bird.conf用以下文本创建一个文件。请注意,在某些系统上,例如Ubuntu 16.04,它将为/etc/bird/bird.conf

router id 203.0.113.123;

protocol bgp vultr
{
    local as 64512;
    source address 203.0.113.123;
    import none;
    export all;
    graceful restart on;
    multihop 2;
    neighbor 169.254.169.254 as 64515;
    password "hunter2";
}

重新启动bird,并检查会话状态:

[root@vultr ~]# birdc show proto all vultr
BIRD 1.4.5 ready.
name     proto    table    state  since       info
vultr    BGP      master   up     14:11:36    Established
  Preference:     100
  Input filter:   REJECT
  Output filter:  (unnamed)
  Routes:         0 imported, 581634 filtered, 1 exported, 0 preferred
  Route change stats:     received   rejected   filtered    ignored   accepted
    Import updates:         581674          0     581674          0          0
    Import withdraws:            2          0        ---     581675          0
    Export updates:              1          0          0        ---          1
    Export withdraws:            0        ---        ---        ---          0
  BGP state:          Established
    Neighbor address: 169.254.169.254
    Neighbor AS:      64515
    Neighbor ID:      169.254.169.254
    Neighbor caps:    refresh restart-able AS4
    Session:          external multihop AS4
    Source address:   203.0.113.123
    Hold timer:       208/240
    Keepalive timer:  57/80

BGP状态为“已建立”表示一切正常。如果看不到“已建立”状态,请尝试以下操作:

  • 自从支持在您的帐户上设置BGP以来,您是否通过控制面板重新启动?
  • 防火墙是否允许BGP端口(TCP 179)?
  • 您的BGP密码正确吗?(可以在控制台中进行验证,每个订阅都有一个列出详细信息的BGP选项卡)
  • 您是否正在使用实例的主IP?(除了使用BGP实例的主IP之外,不能使用其他任何东西)

FreeBSD注意事项

FreeBSD的默认配置不适用于BGP。为了在FreeBSD上实际使用BGP,您需要做一些事情:

1)在启用以下附加选项的情况下重新编译内核:

device crypto
options IPSEC
options TCP_SIGNATURE

2)使用静态IP配置网络适配器。

3)使用BGP密码更新ipsec.conf:

add 203.0.113.123 169.254.169.254 tcp 0x1000 -A tcp-md5 "hunter2";
add 169.254.169.254 203.0.113.123 tcp 0x1000 -A tcp-md5 "hunter2";

宣布路线

BGP会话正常运行后,下一步就是开始宣布一些路由。为了使您的地址空间在Internet上可见,您需要宣布至少一个/ 24(对于IPv6,则为/ 48)。

最简单的入门方法是将静态路由添加到BIRD配置,例如:

protocol static
{
    route  198.51.100.0/24 via 203.0.113.123;
}

protocol device
{
    scan time 5;
}

“协议设备”块使BIRD可以收集有关连接到您的实例的网络适配器的信息。没有它,您的静态路由将不会出现。

重新加载BIRD,然后验证您的路由是否正常运行:

[root@vultr ~]# birdc show route
BIRD 1.4.5 ready.
198.51.100.0/24    via 203.0.113.123 on eth0 [static1 14:22:12] * (200)

此时,您的子网的流量现在应该流向您的实例。在操作系统中配置IP之前,您将无法ping通这些IP。一种验证方式是使用tcpdump,“ tcpdump -i eth0 -n net 198.51.100.0/24”。

配置IP

我们看到的一种常见配置是在不同实例上使用单独的IP地址。尽管每个实例都需要运行自己的BGP服务器,但这是可能的。

为此,除了覆盖/ 24之外,我们还将宣布各个实例的/ 32路由。我们可以使用静态路由来做到这一点,但是我们建议改用虚拟接口。我们将使用198.51.100.100作为我们要路由的IP。

在接口上进行设置:

# ip link add dev dummy1 type dummy
# ip link set dummy1 up
# ip addr add dev dummy1 198.51.100.100/32

确认此配置正确:

# ip addr show dev dummy1
5: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
    link/ether ba:23:57:2c:ad:bc brd ff:ff:ff:ff:ff:ff
    inet 198.51.100.100/32 scope global dummy1

注意:您应该查阅操作系统的文档,以确定如何配置此接口以在引导时使用。

现在,我们将配置BIRD扫描任何虚拟接口,并宣布在接口上找到的任何IP。将以下内容添加到您的BIRD配置中,然后重新加载BIRD:

protocol direct
{
    interface "dummy*";
    import all;
}

确认BIRD宣布了该路线:

[root@vultr ~]# birdc show route
BIRD 1.4.5 ready.
198.51.100.0/24    via 203.0.113.123 on eth0 [static1 14:22:12] * (200)
198.51.100.100/32  dev dummy1 [direct1 14:36:56] * (240)

您可以在具有其他IP的其他实例上重复此过程。发生的情况是我们的路由器将对任何给定的IP地址使用最特定的路由。当存在/ 24和/ 32时,/ 32是最特定的路由,因此该IP的任何流量都将遵循该路由。

您可以有多个实例声明相同的/ 32。这将为您提供高可用性(如果任何实例发生故障,其路由将消失,流量将故障转移到另一个实例)。

我们的位置没有链接,因此您需要确保在要使用IP的每个位置中都声明一个/ 24(或IPv6 / 48)。除非您试图建立一个任播网络,否则不能使用一个/ 24为多个位置分配IP。

我们的某些位置支持ECMP,在这种情况下,流量将随机分布在最多8个宣布相同IP的实例之间。当前支持ECMP的位置是:

  • 新泽西州
  • 芝加哥
  • 达拉斯
  • 亚特兰大
  • 东京
  • 新加坡
  • 洛杉矶
  • 迈阿密
  • 硅谷
  • 巴黎
  • 伦敦

相关文件

笔记

对于BIRD 1.5及更高版本,您可能需要更改以下route行的语法:

route  198.51.100.0/24 via 203.0.113.123;

至:

route  198.51.100.0/24 via "203.0.113.123";

** 故障排除 **

我们的系统需要TCP MD5身份验证才能建立连接。这意味着您无法使用telnet之类的工具测试连接性。通常,我们建议您使用tcpdump查看流量,以解决连接问题。



Leave a Comment

如何访问Vultr VPS

如何访问Vultr VPS

Vultr提供了几种不同的方式来访问VPS以进行配置,安装和使用。访问凭据VPS ar的默认访问凭据

重置Windows Server管理员密码

重置Windows Server管理员密码

有时,您在Windows上忘记了本地管理员密码,需要将其重置。可以很容易地重置该密码

Vultr WHMCS模块

Vultr WHMCS模块

注意:在安装Vultr WHMCS模块模块信息版本之前,请完整阅读本文档:2.0.0(更新)发行日期:2019年6月25日

配置专用网络

配置专用网络

如果您将专用网络分配给现有计算机(或部署自己的操作系统),则需要在专用计算机上配置IP地址。

BGP公告的授权书示例

BGP公告的授权书示例

请求BGP公告的授权时,请使用以下模板。授权信[日期]可能涉及的人Thi

哪些端口被阻塞?

哪些端口被阻塞?

为了网络安全,我们阻止了多个出站端口。默认情况下被阻止您可以通过打开支持通知单来请求删除这些阻止。TCP端口2

如何在Vultr控制面板中创建反向DNS或PTR记录

如何在Vultr控制面板中创建反向DNS或PTR记录

Vultr反向DNS简介为了为您的实例IP地址添加PTR或反向DNS记录,您需要执行以下概述的步骤:

Windows Server 2016恢复模式

Windows Server 2016恢复模式

在Windows Server 2016上访问恢复模式后,您可能会遇到停止错误(蓝屏)。解决方法是访问“修复计算机”菜单

进入单用户模式(重置根密码)

进入单用户模式(重置根密码)

要重置服务器的root密码,您将需要引导到单用户模式。在Vultr客户门户中访问您的服务器,然后执行以下步骤

安装驱动程序更新后修复Windows VPS

安装驱动程序更新后修复Windows VPS

Microsoft最近通过Windows Update发布了驱动程序,该驱动程序可能阻止运行Windows的Vultr VPS实例正常启动。这些驱动程序称为:

使用两因素身份验证登录到Vultr控制面板

使用两因素身份验证登录到Vultr控制面板

两因素身份验证(2FA)是一种技术,它通过要求额外的身份验证步骤才能登录,从而增加了一层安全保护。

Vultr DDoS保护

Vultr DDoS保护

现在,我们免费提供10Gbps DDoS保护,以免受纽约/新泽西州所有Vultr专用云(VDC)实例的攻击。DDoS保护如何工作?

RPKI

RPKI

RPKI(资源公钥基础结构)是一种有助于防止BGP劫持的方法。它使用加密签名来验证是否允许ASN

具有浮动IP和BGP的Vultr的高可用性

具有浮动IP和BGP的Vultr的高可用性

Vultr允许您组合我们的两个功能(浮动IP和BGP)以实现高可用性。安装程序将需要两个实例

Vultr数据可移植性指南

Vultr数据可移植性指南

如何从Vultr下载云数据?Vultr平台上的数据可移植性我们提供了许多简单的解决方案供您下载

在Windows Server上更正时间

在Windows Server上更正时间

默认情况下,带有Windows Server 2012的Vultr VPS的系统时间设置为UTC时区。您可以根据需要更改时区,但可以更改时区

在VPS上配置IPv6

在VPS上配置IPv6

这些示例中的每一个都假定一个IPv6子网为2001:db8:1000 :: / 64。您将需要使用已分配的子网更新它们。我们将成为我们

更改Postfix出站IP地址

更改Postfix出站IP地址

当服务器分配了多个IP地址时,Postfix会随机选择出站电子邮件的IP地址。默认的Postfix行为可以恢复

使用Vultr启动脚本自动执行Ubuntu 16更新

使用Vultr启动脚本自动执行Ubuntu 16更新

Ubuntu 16及更高版本使用systemd计时器执行与apt相关的定期任务(例如更新软件包列表和应用无人值守的升级)。锡

在Vultr VPS上运行CoreOS

在Vultr VPS上运行CoreOS

请阅读:Vultr现在在订购页面上提供CoreOS-本指南说明了如何手动设置CoreOS。这些说明将引导您完成跑步

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 機器變磚。閱讀這篇文章以了解更多信息

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

什麼是日誌文件系統,它是如何工作的?

什麼是日誌文件系統,它是如何工作的?

我們的計算機以稱為日誌文件系統的有組織的方式存儲所有數據。這是一種有效的方法,可以讓計算機在您點擊搜索時立即搜索和顯示文件。 https://wethegeek.com/?p=94116&preview=true

技術奇點:人類文明的遙遠未來?

技術奇點:人類文明的遙遠未來?

隨著科學的快速發展,接管了我們的大量工作,我們陷入無法解釋的奇點的風險也在增加。閱讀,奇點對我們意味著什麼。

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

2021 年人工智能對醫療保健的影響

2021 年人工智能對醫療保健的影響

過去幾十年,醫療保健領域的人工智能取得了巨大飛躍。因此,醫療保健中人工智能的未來仍在日益增長。