VultrでのBGPの構成

VultrのBGP機能を使用すると、独自のIPスペースを取得して、当社のどの場所でも使用できます。

入門

BGPを使用するには、次のものが必要です。

  • デプロイされたVultrサーバーインスタンス。
  • 独自のIPスペース(v4またはv6)。独自のASNがある場合は、それを使用することも、プライベートなASNを割り当てることもできます。

IPv4プレフィックスをアドバタイズする場合、サーバーインスタンスには、Vultrから自動的に割り当てられるIPv4アドレスが必要です。IPv6プレフィックスをアドバタイズする場合、サーバーインスタンスには、Vultrによって自動的に割り当てられるIPv4アドレスとIPv6アドレスの両方が必要です。

開始するには、BGPセットアップフォームに入力してください。遅延を防ぐために、ASNとサブネットの所有権を確認してください。

これがアカウントで構成されたら、BGPの構成に進むことができます。

BGPセットアップ

注:BGPがアカウントにセットアップされる前にデプロイされたインスタンスを構成する場合は、コントロールパネルからインスタンスを再起動する必要があります。BGPは、再起動するまで既存のインスタンスでは機能しません(SSH経由の再起動では不十分です)。

BGPデーモンとしてBIRDを使用することをお勧めします(ただし、任意のBGPデーモンを使用できます)。ほとんどのオペレーティングシステムには、このためのパッケージが用意されています。

私たちの例では、次のことを前提としています。

  • ASN:64512
  • インスタンスのIP :: 203.0.113.123
  • IPv4ブロック:198.51.100.0/24
  • BGPパスワード:hunter2

接続を確認するために、IPを通知せずにBGPセッションをセットアップしましょう。/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の状態が「確立」の場合、すべてが正常に機能しています。Establishedの状態が表示されない場合は、次のことを試してください。

  • アカウントで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)ipsec.confをBGPパスワードで更新します。

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セッションが機能するようになったら、次のステップはいくつかのルートのアナウンスを開始することです。あなたのアドレス空間がインターネット上で見えるようにするためには、少なくとも/ 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することはできません。これを確認する1つの方法は、tcpdump、「tcpdump -i eth0 -n net 198.51.100.0/24」を使用することです。

IPの構成

よくある設定の1つは、異なるインスタンスで個別のIPアドレスを使用することです。これは可能ですが、各インスタンスは独自のBGPサーバーを実行する必要があります。

これを行うには、カバーする/ 24に加えて、個々のインスタンスからの/ 32ルートをアナウンスします。これはスタティックルートで実行できますが、代わりにダミーインターフェイスを使用することをお勧めします。ルーティングするIPとして198.51.100.100を使用します。

これをインターフェイスで設定します。

# 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

注:起動時にこのインターフェースを構成する方法を決定するには、オペレーティングシステムのドキュメントを参照してください。

次に、ダミーインターフェースをスキャンして、見つかったIPを通知するようにBIRDを構成します。以下を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)を確実に通知する必要があります。エニーキャストネットワークをセットアップする場合を除き、1つの/ 24を使用して複数の場所にIPを割り当てることはできません。

一部の場所はECMPをサポートしています。その場合、トラフィックは、同じIPをアナウンスする最大8つのインスタンス間でランダムに分散されます。現在ECMPをサポートしている場所は次のとおりです。

  • ニュージャージー
  • シカゴ
  • ダラス
  • アトランタ
  • 東京
  • シンガポール
  • ロサンゼルス
  • マイアミ
  • シリコンバレー
  • パリ
  • London

関連資料

ノート

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のデフォルトのアクセス認証情報

VirtIOドライバーを使用したWindowsカスタムISO

VirtIOドライバーを使用したWindowsカスタムISO

Windows ISOのビルド(サーバーバージョンのみ)ISOファイルとしてパッケージ化された、Windows用の最新のバイナリVirtIOドライバーを入手します。

ベアメタルのカスタムISO

ベアメタルのカスタムISO

はじめにVultrには現在、カスタムISOをアップロードしてベアメタルにマウントできるシステムがありません。しかし、これはあなたを止めません

OS ISOをVultrにアップロードするための要件

OS ISOをVultrにアップロードするための要件

Vultrは、幅広いオペレーティングシステムから選択できます。ただし、Kalなどの独自のカスタムオペレーティングシステムISOをアップロードすることもできます。

Windowsサーバーでの時刻の修正

Windowsサーバーでの時刻の修正

デフォルトでは、Windows Server 2012を搭載したVultr VPSのシステム時刻はUTCタイムゾーンに設定されています。タイムゾーンは好きなように変更できますが、変更することもできます。

VultrスタートアップスクリプトによるUbuntu 16の更新の自動化

VultrスタートアップスクリプトによるUbuntu 16の更新の自動化

Ubuntu 16以降では、systemdタイマーを使用して、aptに関連する定期的なタスク(パッケージリストの更新、無人アップグレードの適用など)を実行します。ティ

VPSの監視ソリューション

VPSの監視ソリューション

この記事では、Vultrサーバーで使用できる監視ソリューションの選択について学びます。オペレーティングシステムの選択に応じて、

BGPアナウンスの承認レターの例

BGPアナウンスの承認レターの例

BGPアナウンスの承認を要求する場合は、次のテンプレートを使用してください。承認書[日付]関係者、ティ

Vultrコントロールパネルで逆DNSまたはPTRレコードを作成する方法

Vultrコントロールパネルで逆DNSまたはPTRレコードを作成する方法

VultrリバースDNSの概要インスタンスIPアドレスのPTR、またはリバースDNSレコードを追加するには、以下の手順に従う必要があります。

Nginx + PHP FPM +キャッシング+ MySQLをUbuntu 12.04にインストールします

Nginx + PHP FPM +キャッシング+ MySQLをUbuntu 12.04にインストールします

おそらく多くの人がVultr VPSをWebサーバーとして使用するでしょう。WebサーバーとしてNginxを選択するのが良いでしょう。このトピックでは、私はoを説明します

VPSにセカンダリIPv4アドレスを追加する

VPSにセカンダリIPv4アドレスを追加する

このチュートリアルでは、Vultr VPSで追加のIPv4アドレスを設定する方法について説明します。以下を前提とします。VPSのメインIPアドレスは1.2.3.4です。

RPKI

RPKI

RPKI(Resource Public Key Infrastructure)は、BGPハイジャックの防止に役立つ方法です。暗号署名を使用して、ASNが許可されていることを検証します。

Windows ServerインスタンスでWindowsオーディオを有効にする

Windows ServerインスタンスでWindowsオーディオを有効にする

注:このガイドは、Windows 2012 R2およびWindows 2016インスタンスで機能します。Windowsサーバーでは、デフォルトでWindows Audioサービスが有効になっていません。

Vultr DNSの概要

Vultr DNSの概要

Vultrは、お客様のドメインに無料のDNSホスティングを提供しています。ネームサーバーはAnyCASTネットワーク上にあり、高速DNS解決を保証します。Vultrs DNSを使用するには、

Vultrを使用した仮想サーバーの複製

Vultrを使用した仮想サーバーの複製

場合によっては、たとえば、スケーリングの目的で、またはサーバーのリージョンを変更するために、仮想サーバーのクローンを作成する必要があります。Vultrでは、これは簡単です。

Vultr VPSでCoreOSを実行する

Vultr VPSでCoreOSを実行する

お読みください:Vultrの注文ページでCoreOSが提供されるようになりました-このガイドでは、CoreOSを手動で設定する方法について説明します。これらの手順では、実行を順を追って説明します

Vultrオブジェクトストレージ

Vultrオブジェクトストレージ

S3互換*オブジェクトストレージがVultrクラウドで利用できるようになりました。私たちのオブジェクトストレージテクノロジーは、手頃な価格でスケーラブルで、簡単に統合できます。

シングル・サインオン

シングル・サインオン

企業のログインシステムは、シングルサインオン(SSO)機能を使用してVultrsアカウントシステムと統合できます。SSOはパスワード管理を簡素化します

ドライバー更新のインストール後のWindows VPSの修復

ドライバー更新のインストール後のWindows VPSの修復

Microsoftは最近、Windowsを実行しているVultr VPSインスタンスが正しく起動しないようにするWindows Updateを介してドライバーをリリースしました。これらのドライバーは次のように呼ばれます:

Ubuntu 16.04画像がEC2メタデータサービスに関するエラーを報告する

Ubuntu 16.04画像がEC2メタデータサービスに関するエラーを報告する

起動時に、一部の古いUbuntu 16.04インスタンスで次の警告が表示される場合があります:************************************ **************************************

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。

macOS Catalina 10.15.4サプリメントの更新により、解決するよりも多くの問題が発生しています

macOS Catalina 10.15.4サプリメントの更新により、解決するよりも多くの問題が発生しています

最近、Appleは問題を修正するための補足アップデートであるmacOS Catalina 10.15.4をリリースしましたが、このアップデートにより、Macマシンのブリックにつながる問題がさらに発生しているようです。詳細については、この記事をお読みください

原子力が必ずしも悪ではないことを証明する5つの例

原子力が必ずしも悪ではないことを証明する5つの例

原子力は、過去の出来事のために私たちが決して尊重しないことを常に軽蔑していますが、それは必ずしも悪ではありません。詳細については、投稿をお読みください。

AIはどのようにしてプロセス自動化を次のレベルに引き上げることができますか?

AIはどのようにしてプロセス自動化を次のレベルに引き上げることができますか?

これを読んで、人工知能が小規模企業の間でどのように人気を博しているか、そして人工知能がどのように成長し、競合他社に優位に立つ可能性を高めているかを理解してください。

ジャーナリングファイルシステムとは何ですか、そしてそれはどのように機能しますか?

ジャーナリングファイルシステムとは何ですか、そしてそれはどのように機能しますか?

私たちのコンピューターは、ジャーナリングファイルシステムと呼ばれる組織化された方法ですべてのデータを保存します。これは、検索を押すとすぐにコンピューターがファイルを検索して表示できるようにする効率的な方法です。https://wethegeek.com/?p = 94116&preview = true

ビッグデータは人工知能をどのように変えていますか?

ビッグデータは人工知能をどのように変えていますか?

ビッグデータと人工知能は流行語ですが、それらがどのように相互に関連しているか知っていますか?さて、この記事を最後まで読んで、同じことを知ってください。

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartは、PHP、jQuery、およびHTML 5で記述された無料のオープンソースのショッピングカートプラットフォームです。シンプルで軽量、使いやすいeコマースソフトウォー

DebianでNFS共有をセットアップする

DebianでNFS共有をセットアップする

NFSはネットワークベースのファイルシステムであり、コンピューターはコンピューターネットワークを介してファイルにアクセスできます。このガイドでは、NFを介してフォルダーを公開する方法について説明します

Fedora 28にMatomo Analyticsをインストールする方法

Fedora 28にMatomo Analyticsをインストールする方法

別のシステムを使用していますか?Matomo(旧Piwik)は、Google Analyticsのオープンな代替手段であるオープンソースの分析プラットフォームです。Matomoのソースはoでホストされています

UbuntuでNginxをセットアップしてライブHLSビデオをストリーミングする

UbuntuでNginxをセットアップしてライブHLSビデオをストリーミングする

HTTPライブストリーミング(HLS)は、Apple Inc.によって実装された非常に堅牢なストリーミングビデオプロトコルです。HLSは、ファイアウォール、プロキシ、