Linux
 Computer >> コンピューター >  >> システム >> Linux

Yggdrasilネットワークとは何ですか?それをインストールする方法

Yggdrasilネットワークとは何ですか?それをインストールする方法

Yggdrasilネットワークは、分散型で暗号化されたメッシュネットワークを作成することを目的としたIPv6オーバーレイネットワークです。これは、ネットワークを二分木のリーフとして扱うことによって行われます。オーバーレイネットワークであるYggdrasilは、ユーザーが互いに安全に対話できるようにする仮想プライベートネットワーク(VPN)としても機能します。

さらに、Yggdrasilは無料で、セットアップが比較的簡単で、さまざまなプラットフォームで利用できます。これにより、ユグドラシルは、他の人々との安全でプライベートなつながりに関心のある人々にとって強力な代替手段になります。

メッシュネットワークとユグドラシルとは何ですか?

Yggdrasilは、ネットワークを相互接続されたノードのツリーとして表すことにより、メッシュネットワーキングを実現します。その中で、これらのノードは他のノードへのリレーとして機能できます。これにより、Yggdrasilは真のメッシュネットワークになります。

Yggdrasilネットワークとは何ですか?それをインストールする方法

さらに、ネットワークの構造により、YggdrasilはアクセスしたいマシンまたはWebサイトを簡単に見つけることができます。これにより、中央サーバーがトラフィックをルーティングする必要なしに、他のユーザーと対話できます。

なぜユグドラシルを使用するのですか?

Yggdrasilの主なセールスポイントは、インターネットを介したデータのルーティング方法を変更することです。これは、前述のネットワークのデフォルト状態についていくつかのことを想定することで実現されます。

  • すべてのノードが少なくとも1つの他のノードに接続されています。
  • 各ノードは、データを他のノードに透過的に中継できます。
  • 各ノードは、それに接続されているノードをブロードキャストできます。
Yggdrasilネットワークとは何ですか?それをインストールする方法

これらの仮定は、堅固で予測可能であると同時に非常に柔軟な構造を作成します。たとえば、1つのパブリックノードに接続するだけで、マシンをパブリックアクセス可能にすることができます。次に、このパブリックノードは他のノードに接続されます。そこから、他のユーザーがそのノードをピアリングしてあなたに接続できます。

Yggdrasilネットワークとは何ですか?それをインストールする方法

それだけでなく、Yggdrasilではローカルマシンのサブネットワークを作成することもできます。そのため、これはVPNを作成する場合に非常に役立ちます。

ユグドラシルのインストール方法

上で説明したように、Yggdrasilは多くのプラットフォームとオペレーティングシステムで利用できます。これには、ほとんどのLinuxディストリビューションが含まれます。

ただし、Yggdrasilは常にデフォルトのリポジトリにあるとは限りません。そのため、一部のディストリビューションでは、インストールする前にソースを含める必要があります。

DebianとUbuntuへのYggdrasilのインストール

たとえば、DebianとUbuntuにYggdrasilをインストールする場合は、最初にそれらの公式GPGキーをaptに追加する必要があります。これを行うには、次のコマンドを実行します。

gpg --fetch-keys https://neilalexander.s3.dualstack.eu-west-2.amazonaws.com/deb/key.txt
gpg --export 569130E8CA20FBC4CB3FDE555898470A764B32C9 | sudo apt-key add -
Yggdrasilネットワークとは何ですか?それをインストールする方法

そこから、aptがパッケージで検索するソースのリストにリポジトリを追加する必要があります。

echo 'deb https://neilalexander.s3.dualstack.eu-west-2.amazonaws.com/deb/ debian yggdrasil' | sudo tee /etc/apt/sources.list.d/yggdrasil.list
Yggdrasilネットワークとは何ですか?それをインストールする方法

完了したら、aptを更新してプログラムをインストールします。これを行うには、次の1行のコードを実行します。

sudo apt update && sudo apt install yggdrasil
Yggdrasilネットワークとは何ですか?それをインストールする方法

FedoraへのYggdrasilのインストール

DebianやUbuntuとは対照的に、YggdrasilをFedoraにインストールするプロセスは単純です。これは、すでにFedoraの「コミュニティパッケージ」の一部であるためです。

そのため、プログラムのインストールは、コマンドを実行するのと同じくらい簡単です。

sudo dnf copr enable rany/yggdrasil
sudo dnf install yggdrasil

ArchLinuxへのYggdrasilのインストール

最後に、ArchLinuxへのYggdrasilのインストールも非常に簡単です。 Fedoraと同様に、Archのコミュニティソースリポジトリにすでに含まれています。

そのため、pacmanを介してプログラムをインストールできます:

sudo pacman -Syu yggdrasil
インストールの構成

完了したら、ノードに接続するようにYggdrasilを設定するのは非常に簡単で、プログラムの動作を構成するために「/etc/yggdrasil.conf」を編集するだけで済みます。アクセスするには、nanoを使用します:

sudo nano -w /etc/yggdrasil.conf
Yggdrasilネットワークとは何ですか?それをインストールする方法

Yggdrasilは、インストール後にこのファイルを作成します。ただし、そうでない場合は、次のコマンドを実行して新しい構成ファイルを作成できます。

su --command="yggdrasil -genconf > /etc/yggdrasil.conf"

パブリックノードへの接続

上で説明したように、プログラムを使用するには2つの方法があります。

  • パブリックノードに接続して、マシンを検出可能にします。
  • 仮想プライベートネットワークで多数のマシンを接続します。

1つ目は、Peers:を編集して、パブリックノードのアドレスを「/etc/yggdrasil.conf」ファイルに追加します。 その構成ファイルでブロックします。

これは、接続するノードを決定する構成のセクションです。そのため、ここにリストされているマシンはすべて、インターネットから公開され、接続可能である必要があります。

そのことを念頭に置いて、次の例を検討してください。

{
   # List of connection strings for outbound peer connections in URI format,
   # e.g. tls://a.b.c.d:e or socks://a.b.c.d:e/f.g.h.i:j. These connections
   # will obey the operating system routing table, therefore you should
   # use this section when you may connect via different interfaces.
   Peers: [
         tls://address.domain:port
         tcp://1.2.3.4:port
         socks://[aaaa:...:ffff]/[1111:...:9999]
   ]
 
   [...]

ピアブロックは、接続するすべてのノードの基本的なリストです。

Yggdrasilネットワークとは何ですか?それをインストールする方法

TLSとSOCKSを使用して暗号化された接続を確立することも、TCPを使用して暗号化されていない接続を確立することもできます。後者は、TLSをサポートしていないが、基本的なネットワーク接続を備えている小型の組み込みデバイスを接続する場合に役立ちます。

これにより、コミュニティが提供するノードリンクのいくつかをコピーすることで、パブリックYggdrasilネットワークに接続できます。

完了したら、次のコマンドを実行してプログラムを有効にできます。

sudo systemctl enable yggdrasil
sudo systemctl start yggdrasil
Yggdrasilネットワークとは何ですか?それをインストールする方法

このWebページにアクセスすると、ネットワークに正しく接続されているかどうかをテストできます。

独自のプライベートネットワークの作成

一方、プライベートネットワークの作成は少し複雑になる可能性がありますが、それでも比較的簡単です。プライベートYggdrasilネットワークを作成するには、いくつかのものが必要になります。

  • 公的に発見可能なマシン。これは、CG-NATによってブロックされていないローカルマシンか、安価な仮想プライベートサーバーのいずれかである可能性があります。
  • 異なるネットワークに配置され、相互に直接通信できない多数のマシン。

パーソナルパブリックノードの構成

プライベートYggdrasilネットワークを作成するには、最初にパブリックマシンが他のノードに接続できるようにする必要があります。これを行うには、Listen:を変更します パブリックマシンの「/etc/yggdrasil.conf」のブロック

たとえば、パブリック接続を確立するように構成されたノードは、次のようになります。

  [...]
 
  # Listen addresses for incoming connections. You will need to add
  # listeners in order to accept incoming peerings from non-local nodes.
  # Multicast peer discovery will work regardless of any listeners set
  # here. Each listener should be specified in URI format as above, e.g.
  # tls://0.0.0.0:0 or tls://[::]:0 to listen on all interfaces.
    Listen: [
           tls://your.ipv4.address.here:12345
           tcp://[your:ipv6:address:here]:12345
    ]
 
  [...]

IPv4とIPv6の両方からポート12345の着信接続を取得するようにノードを設定しました。さらに、IPv4接続はTLSでラップされ、IPv6は暗号化されていないTCPでラップされます。

Yggdrasilネットワークとは何ですか?それをインストールする方法

ここから、Yggdrasilサービスを有効にして開始し、設定を適用します。その後、このノードへの接続は、パブリックノードへの接続と同じようになります。

アドレスの検出とアクセスの制限

デフォルトでは、新しく作成されたYggdrasilノードは、適切なポートを使用している場合、すべての着信接続を受け入れます。マシン用の真のプライベートVPNを作成するには、それらを公開鍵ホワイトリストに追加する必要があります。

Yggdrasilノードは、Yggdrasilが最初にインストールしたときに生成した一意の公開鍵をブロードキャストすることで機能します。このキーは、ネットワーク内でユーザーを保護し、アドレスを作成するために使用されます。

次のコマンドを実行して、Yggdrasilアドレスを確認できます。

sudo yggdrasilctl getself
Yggdrasilネットワークとは何ですか?それをインストールする方法

これにより、「20x:…」で始まるIPv6アドレスが表示されます。これを使用して、Yggdrasilを介してそのマシンに直接接続できます。

さらに、getself コマンドは、マシンの公開鍵も表示します。これは、パブリックノードで許可されたマシンのリストを作成するために必要なものです。

アクセスを制限するためのパーソナルノードの構成

Yggdrasilノードへのアクセスを制限するには、AllowedPublicKeys:を編集する必要があります パブリックノードの「/etc/yggdrasil.conf」でブロックします。このノードが受け入れるすべての公開鍵を追加するだけです。

たとえば、これは3つの公開鍵のみを受け入れるノードの構成です。

 # List of peer public keys to allow incoming peering connections
  # from. If left empty/undefined then all connections will be allowed
  # by default. This does not affect outgoing peerings, nor does it
  # affect link-local peers discovered via multicast.
    AllowedPublicKeys: [
    "publickey1" 
    "publickey2"
    "publickey3"
    ]
Yggdrasilネットワークとは何ですか?それをインストールする方法

完了したら、Yggdrasilサービスを再起動して設定を適用できます:

sudo systemctl restart yggdrasil

おめでとう!これで、Yggdrasilネットワークがどのように機能するかについての基本的な理解と、プライベートネットワークに接続して構成する方法についての基本的な考え方がわかりました。

このすべての話でインターネットの仕組みに興味がある場合は、tcpdumpを使用したTCPパケットのキャプチャに関するこの記事を確認してください。

よくある質問

1。友人のYggdrasilアドレスを構成ファイルに追加しましたが、友人に接続できません。何が間違っているのですか?

これは、いくつかの原因が考えられます。ただし、この問題の最も一般的な原因は次のとおりです。

  • 両方のマシンはNATの背後にあるため、相互に直接接続を確立することはできません。
  • Peers: ブロックしてListen: 「/etc/yggdrasil.conf」のブロックが正しく構成されていません。

最初の原因として、少なくとも1台のマシンがパブリックにアクセス可能であることを確認する必要があります。また、使用しているポートが適切にポート転送されており、ローカルネットワークの外部から見えることを確認する必要があります。

2番目の原因については、Peers:を確認してください およびListen: ブロックには実際のIPv4またはIPv6アドレスが含まれています ピアリングマシンのYggdrasilアドレスではありません。

2。自分のマシンが互いに適切にピアリングしているかどうかを知るにはどうすればよいですか?

次のコマンドを実行すると、マシンが相互に適切にピアリングしているかどうかを簡単に確認できます。

sudo yggdrasilctl getpeers

これにより、現在接続されているすべてのピアと、Yggdrasilネットワークツリー内の相対的な位置が表示されます。

3。強力なユグドラシルの鍵と住所を作成することは可能ですか?

はい!これは、アドレスマイナーを使用して行うことができます。これは、前に一定量のゼロがある公開鍵ペアを総当たりで計算する単純なプログラムです。

これを行うための最も一般的なプログラムは、最新バージョンがC++で記述されたSimpleYggdrasil Generator(SYG)です。


  1. ドライブがオフライン:原因と修正方法

    この記事では、ポップアップ「ドライブがオフラインです」について説明します。 」は、iBoysoft Data Recovery for Mac を使用してデータをスキャンまたは復元する場合を意味します。ドライブをオンラインに戻すための実用的な解決策も見つけることができます。 目次: 1.オフライン ディスクとは何ですか? 2.ドライブがオフラインの場合の修正方法 オフライン ディスクとは何ですか? 「ドライブはオフラインです は、iBoysoft Data Recovery for Mac を使用してストレージ デバイスをスキャンして失われたデータを探したり、デバイスから見つかっ

  2. 攻撃対象領域とは何か、またそれを減らす方法は

    ハッカーがネットワークに侵入してデータを盗むために使用できるすべての方法または方法は、攻撃面と呼ばれます。攻撃対象領域をできるだけ小さく保つことが重要です。ハッカーが対処する攻撃経路がわずかしかない場合、ハッカーはより単純な獲物を求めてプロジェクトをすぐにやめてしまいます。一般的な攻撃対象領域は、デジタルと物理の 2 つのカテゴリに分けられます。 攻撃面とは デジタル攻撃面: これには、ソフトウェア、Web サイト、サーバー、および企業または組織のシステムにデジタルでリンクできるその他すべてに基づく危険が含まれます。フィッシング メールや低品質の暗号化によるインターネットからの潜在的なリ