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

Vultr允许您组合我们的两个功能(浮动IP和BGP)以实现高可用性。

设定

您将需要在相同位置的两个实例和一个浮动IP。您还需要打开一个票证,请求在用于浮动IP的专用ASN上设置BGP。(如果您正在公共ASN上与我们一起运行BGP,则也可以使用此功能)

您还需要一个BGP守护程序,我们建议使用BIRD。通常可以通过操作系统的程序包管理器来获取BIRD。

我们将以192.0.2.10/32浮动IP为例,并198.51.100.99以其中一个实例的IP地址为例。

注意:你应该不会通过控制面板附加浮动IP任何特定的实例。如果通过控制面板连接了IP,则高可用性将无法正常运行。

IP配置

我们将使用Linux的“虚拟”接口来绑定IP地址。您可以使用以下命令创建它:

ip link add dev dummy1 type dummy
ip link set dummy1 up
ip addr add dev dummy1 192.0.2.10/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 192.0.2.10/32 scope global dummy1

BIRD配置

接下来,我们将配置BIRD。这些说明在主机操作系统之间略有不同,请参阅本节底部的脚注。

创建一个/etc/bird.conf文件:

log "/var/log/bird" all;

router id 198.51.100.99;

protocol device
{
    scan time 60;
}

protocol direct
{
    interface "dummy1";
}

protocol bgp vultr
{
    local as <<YOURAS>>;
    source address 198.51.100.99;
    import none;
    export all;
    graceful restart on;
    next hop self;
    multihop 2;
    neighbor 169.254.169.254 as 64515;
    password "<<YOURPASSWORD>>";
}

您需要更新YOURASYOURPASSWORD并为您的帐户分配AS号和BGP密码。可以在Vultr控制面板中实例页面的BGP选项卡上找到此信息。

该配置文件将告诉BIRD查找dummy1接口,并通过BGP将其找到的任何IP通告给我们的基础架构。这意味着实例一运行,您就将开始接收流量,并且一旦崩溃,流量将停止。

FreeBSD配置

如果您将FreeBSD用作主机而不是Linux,则有一些区别。

  1. 需要重新编译内核以支持TCP MD5签名。这些说明不在本文的讨论范围之内。如果您的BSD内核不支持TCP MD5签名,您将在BIRD日志中看到以下输出。

    $ cat /var/log/bird
    2017-12-15 01:35:00 <INFO> Started
    2017-12-15 01:35:00 <ERR> vultr: Socket error: Kernel does not support TCP MD5 signatures
    
  2. BIRD配置文件位于/usr/local/etc/bird.confBSD上。

验证BGP连接

启动BIRD服务service bird start,然后等待几秒钟。检查BGP会话是否建立:

# birdc show proto all vultr
BIRD 1.5.0 ready.
name     proto    table    state  since       info
vultr    BGP      master   up     2016-01-15  Established
  Preference:     100
  Input filter:   REJECT
  Output filter:  ACCEPT
  Routes:         0 imported, 1 exported, 0 preferred
  Route change stats:     received   rejected   filtered    ignored   accepted
    Import updates:      255919581          0  255919581          0          0
    Import withdraws:      1905513          0        ---  257825094          0
    Export updates:              1          0          0        ---          1
    Export withdraws:            0        ---        ---        ---          0
  BGP state:          Established
    Neighbor address: 169.254.169.254
    Neighbor AS:      YOURAS
    Neighbor ID:      x.x.x.x (Host IP)
    Neighbor caps:    refresh enhanced-refresh restart-able AS4
    Session:          external multihop AS4
    Source address:   198.51.100.99
    Hold timer:       184/240
    Keepalive timer:  30/80

如果一切正常,您应该在BGP状态旁边看到“已建立”。这里的常见问题是防火墙阻止了BGP端口(TCP 179)。另外,如果在Vultr设置BGP会话之前部署了该实例,则需要在BGP可用之前通过控制面板重新启动它。如果仍有问题,请/var/log/bird查看更多详细信息。

测试中

您可以使用以下方法确保BIRD将路由发布给您的浮动IP:

# birdc show route
BIRD 1.5.0 ready.
192.0.2.10/32    dev dummy1 [direct1 2015-12-29] * (240)

为了确认它是否正常工作,您可以禁用dummy1接口(带有ip link set dummy1 down),然后重复该show route命令。BIRD将注意到该接口已消失,并将撤回路由。

生产用途

为了确保您的站点保持正常运行,您需要一台以上的服务器运行相同的BGP配置。如果任一实例发生故障,流量将动态重定向到其他实例之一。在特定位置使用此配置可​​以运行的实例数量没有限制,但是在任何给定时间只有一个实例处于活动状态。

在我们的某些位置,流量将在您以此方式配置的所有实例之间随机分配。最终,将以这种方式配置所有位置。如果要让一个实例获得所有流量(除非它处于脱机状态),则希望使用前缀来引导流量。

例如,如果您有两个实例:

  • 实例A-主实例,应正常接收所有流量
  • 实例B-备份实例,仅当实例A关闭时才应接收流量

为此,将以下部分添加到实例B的BIRD配置中,如下所示:

export filter {
    bgp_path.prepend(YOURAS);
    accept;
};

这样可以确保流量始终流向实例A,除非它掉线了。

如果您有一个实例C,那么它仅在A和B断开时才接收流量,您只需添加另一条'bgp_path.prepend'行即可。

IPv6设置

尽管您将使用“ bird6”代替“ bird”,并使用“ birdc6”代替“ birdc”,但此过程也可用于IPv6保留子网。



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

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 年人工智能對醫療保健的影響

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