Yggdrasil
Yggdrasil は、完全なエンドツーエンド暗号化 IPv6 ネットワークの初期段階での実装です。軽量で、自己組織化され、複数のプラットフォームでサポートされており、IPv6 対応のほぼ全てのアプリケーションで他の Yggdrasil ノードと安全に通信することができます。
この記事では、Yggdrasil のセットアップと使用方法について説明します。
インストール
yggdrasil パッケージを インストール して下さい。
実行
yggdrasil.service
を スタート して 有効化 します。
これは tun
ネットワークインターフェースを作成し、2つの新しい IPv6 ネットワークインターフェースを利用可能にします。重要なのは 200:
で始まるもので、これはあなたのマシンが Yggdrasil ネットワークで知られるようになるものです。この IP アドレスは、IPv6 標準の予約された部分を使用しています。これにより、より広いインターネットとの衝突を避けることができます。
この動作を確認するには、以下を実行してください。
設定方法
デフォルトでは、あなたの Yggdrasil インスタンスはピアを持たず、スタンドアローンサービスを実行しています。JSON フォーマットを使用する /etc/yggdrasil.conf
ファイルを編集することで、ピアを追加することができ、サービスを再起動した後、あなたのノードはより広いネットワークにアクセスでき、他の人もあなたのノードを見つけることができます。
設定についての詳細は the upstream documenation にあります。メインの設定ファイルは /etc/yggdrasil.conf
にあります。
より広いネットワークとピアするためには、public-peers のドキュメントから始めてください。
Local firewall
In todays networking practices a common Linux installation is not exposed directly to the Internet. Only servers will typically have a public IP address. As a result our ssh or similar services are not able to be attacked by anyone and everyone.
It is important to realize that running Yggdrasil and peering it to the wider Yggdrasil network changes this. Services that listen on all network connections will become reachable by anyone that connects to this network. You might want configure them to not listen on the Yggdrasil network or quickly hide running services with a couple of firewall rules.
/etc/iptables/ip6tables.rules
#yggdrasil *filter :INPUT ACCEPT [8:757] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [5:463] -A INPUT -i tun0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A INPUT -i tun0 -m conntrack --ctstate INVALID -j DROP -A INPUT -i tun0 -j DROP COMMIT
Start/enable ip6tables.service
to make this take effect.