N2Nによる複数のVultrゾーンの接続

N2Nは、オープンソースのレイヤー2/3 VPNアプリケーションです。他の多くのVPNプログラムとは異なり、N2NはNATルーターの背後にあるコンピューターを接続できます。これにより、ESPプロトコル(ipsecで使用される)などの特別なプロトコルに依存することなく、クラウド環境に接続できるという大きなメリットがあります。この接続を実現するために、N2Nは、NATされたノード間で情報をルーティングできるスーパーノードを使用します。このVPN接続を使用して、リージョン間で複数のVultrインスタンスを接続できます。

前提条件

この例では、複数のゾーンで3つのノードを使用します。

  • パリ
  • マイアミ
  • Sydney

ソフトウェアのインストール

次のコマンドは、各インスタンスで実行されます。

最新のソースコードからビルドするので、build-essentialリポジトリとからインストールすることから始めlibssl-devます。

apt-get install -y build-essential libssl-dev

次に、githubからソースコードをダウンロードします。

cd /tmp
git clone https://github.com/ntop/n2n.git

すべてのバイナリをコンパイルします。

cd n2n 
make
make install

make installコマンドが作成しているだろうsupernodeedgeしてバイナリを/usr/sbinディレクトリ。ファイルをクリーンアップして終了します。

rm -rf /tmp/n2n

インストール-Node Paris

最初のノードはいわゆるスーパーノードになります。このスーパーノードは、UDPポートをリッスンするスーパーノードサービスを開始します1200。デフォルトでは、N2Nアプリケーションはサービスファイルを作成しません。ですから、自分で提供する必要があります。

「n2n_supernode」サービスファイルを作成します。

nano /etc/systemd/system/n2n_supernode.service

次のコンテンツを追加します。

[Unit]
Description=n2n supernode
Wants=network-online.target
After=network-online.target

[Service]
ExecStart=/usr/sbin/supernode -l 1200

[Install]
WantedBy=multi-user.target

「-l」ディレクティブはUDPポートを定義します1200。これは、スーパーノードが待機するポートです。すべてが機能していることを確認するには、スーパーノードサービスを開始します。

systemctl start n2n_supernode

スーパーノードのステータスを確認します。

systemctl status n2n_supernode

次のようなステータスが表示されます。

● n2n_supernode.service - n2n supernode
   Loaded: loaded (/etc/systemd/system/n2n_supernode.service; disabled; vendor prese
   Active: active (running) since Wed 2018-08-15 17:07:46 UTC; 5s ago
 Main PID: 4711 (supernode)
    Tasks: 1
   Memory: 80.0K
      CPU: 1ms
   CGroup: /system.slice/n2n_supernode.service
           └─4711 /usr/sbin/supernode -l 1200

次に、エッジサービスを作成します。このエッジサービスは、他のVultrゾーンの他のエッジ間の通信にプライベートIPを要求します。

スーパーノードサービスと同様に、これにも独自のサービスファイルが必要です。

nano /etc/systemd/system/n2n_edge.service

次のコンテンツを追加します。

[Unit]
Description=n2n edge
Wants=network-online.target
After=network-online.target n2n_supernode.service

[Service]
ExecStart=/usr/sbin/edge -l localhost:1200 -c Vultr -a 192.168.1.1 -k mypassword -f

[Install]
WantedBy=multi-user.target

このサービスファイルでは、次のコマンドラインオプションを定義しました。

  • -l localhost:1200:これはUDPポートでlocalhostに接続します1200
  • -c Vultr:これは、エッジが参加するコミュニティです。同じコミュニティ内のすべてのエッジは、同じLAN(レイヤー2ネットワークセグメント)に表示されます。同じコミュニティにないエッジは、相互に通信しません。
  • -a 192.168.1.1:このインターフェースに割り当てられたIP。これは、要求されているN2N仮想LAN IPアドレスです。
  • -k mypassword:各エッジに使用されるパスワード。通信するすべてのエッジは、同じキーとコミュニティ名を使用する必要があります。
  • -f:デーモンモードを無効にし、エッジをフォアグラウンドで実行させます。これはサービスファイルに必要です。それ以外の場合systemctl、サービスは開始されません。

すべてが機能していることを確認するには、サービスを開始します。

systemctl start n2n_edge

次に、サービスのステータスを問い合わせます。

systemctl status n2n_edge   

出力は次のようになります。

● n2n_edge.service - n2n edge
   Loaded: loaded (/etc/systemd/system/n2n_edge.service; disabled; vendor preset: en
   Active: active (running) since Wed 2018-08-15 17:10:46 UTC; 3s ago
 Main PID: 4776 (edge)
    Tasks: 1
   Memory: 396.0K
      CPU: 8ms
   CGroup: /system.slice/n2n_edge.service
           └─4776 /usr/sbin/edge -l localhost:1200 -c Vultr -a 192.168.1.1 -k mypass

「ifconfig」をチェックすると、N2N仮想IPがedge0インターフェースによって要求されていることがわかります。

ifconfig

出力は次のようになります。

edge0     Link encap:Ethernet  HWaddr 42:14:55:64:7d:21
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::4014:55ff:fe64:7d21/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1400  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:648 (648.0 B)

これが完了したら、ファイアウォールルールを有効にして作成します。node_miami_ipnode_sydney_ipテキストを必ずシドニーとマイアミのインスタンスのパブリックIP に置き換えてください。(後で使用します)。

ufw allow 22/tcp
ufw allow from node_miami_ip to any port 1200
ufw allow from node_sydney_ip to any port 1200
ufw enable

このノードで最後にすることは、起動時に両方のサービスを有効にすることです。

systemctl enable n2n_supernode.service
systemctl enable n2n_edge.service

インストール-Node Miami

マイアミノードは、現在パリゾーンで実行されているスーパーノードに接続します。これを実現するには、edgeアプリケーションのサービスファイルを作成するだけです。

まず、エッジサービスファイルを作成します。

nano /etc/systemd/system/n2n_edge.service

次のコンテンツを追加します。

[Unit]
Description=n2n edge
Wants=network-online.target
After=network-online.target

[Service]
ExecStart=/usr/sbin/edge -l node_paris_ip:1200 -c Vultr -a 192.168.1.2 -k mypassword -f

[Install]
WantedBy=multi-user.target

をパリで実行されているインスタンスのパブリックIPに置き換えnode_paris_ipます

これは、UDPポートでパリのノードに接続し、1200コミュニティ ' Vultr'に参加し、IP 192.168.1.2を要求し、 ' mypassword'で認証します。

次に、サービスを開始します。

systemctl start n2n_edge

ステータスをチェックして、サービスが正しく開始され、実行されていることを確認します。

systemctl status n2n_edge   

次に、edge0IPが要求されることを確認します。

ifconfig

192.168.1.2IPアドレスが表示されます。

edge0     Link encap:Ethernet  HWaddr 42:14:55:64:7d:21
          inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::4014:55ff:fe64:7d21/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1400  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:648 (648.0 B)

次に行うことは、起動時にサービスを有効にすることです。

systemctl enable n2n_edge.service

必要に応じて、ファイアウォールを有効にし、SSHルールを追加します。

ufw allow 22/tcp
ufw enable

これで、インスタンスで実行されている両方のエッジにpingできるようになります。

パリで、マイアミのVultrインスタンスにpingを実行します

ping 192.168.1.2

マイアミでは、パリのエッジにpingを実行します

ping 192.168.1.1

インストール-ノードシドニー

最後に、最後の大陸をオーストラリアに追加します。エッジサービスを作成することから始めます。このエッジサービスは、パリで以前に構成されたスーパーノードにも接続します。

nano /etc/systemd/system/n2n_edge.service

次のコンテンツを追加します。

[Unit]
Description=n2n edge
Wants=network-online.target
After=network-online.target

[Service]
ExecStart=/usr/sbin/edge -l node_paris_ip:1200 -c Vultr -a 192.168.1.3 -k mypassword -f

[Install]
WantedBy=multi-user.target

を、パリで実行されているインスタンスのパブリックIPに置き換えnode_paris_ipます。

これは、UDPポートでパリのノードに接続し、1200コミュニティ ' Vultr'に参加し、IP 192.168.1.3を要求し、 ' mypassword'で認証します。

systemctl start n2n_edge

ステータスをチェックして、サービスが開始されていることを確認します。

systemctl status n2n_edge   

edge0IPが要求されていることを確認してください。

edge0     Link encap:Ethernet  HWaddr 46:56:b0:e9:8f:8a
          inet addr:192.168.1.3  Bcast:192.168.1.255  Mask:255.255.255.0
        inet6 addr: fe80::4456:b0ff:fee9:8f8a/64 Scope:Link
        UP BROADCAST RUNNING MULTICAST  MTU:1400  Metric:1
        RX packets:0 errors:0 dropped:0 overruns:0 frame:0
        TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
        collisions:0 txqueuelen:1000
        RX bytes:0 (0.0 B)  TX bytes:648 (648.0 B)

再度、起動時にこのサービスを有効にします。

systemctl enable n2n_edge.service

必要に応じて、ファイアウォールを有効にし、SSHルールを追加します。

ufw allow 22/tcp
ufw enable

これで、各ノードから各Vultrインスタンスにpingできるようになります。

ping 192.168.1.1
ping 192.168.1.2
ping 192.168.1.3

各ノードエッジ間の接続をテストする場合は、マイアミとパリのインスタンスでファイアウォールルールを有効にします。これにより、エッジ間の通信が可能になります。

マイアミで、次のルールを追加します。(node_paris_ipnode_sydney_ipテキストを必ずシドニーとパリのインスタンスのパブリックIP に置き換えてください。)

ufw allow from node_paris_ip to any port 1200
ufw allow from node_sydney_ip to any port 1200

シドニーで、次のルールを追加します。

ufw allow from node_paris_ip to any port 1200
ufw allow from node_miami_ip to any port 1200

これで、スーパーノードをシャットダウンまたは再起動できます。ネットワーク接続は引き続き存在します。スーパーノードサービスがダウンしている間は、新しいエッジのみが接続の問題を抱えます。

結論

複数のゾーン間のVPN接続が正常に構成されました。これにより、新しく構成された環境に高可用性シナリオの多くの新しい可能性がもたらされます。



Leave a Comment

ヘルスケア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は、ファイアウォール、プロキシ、