ZeroTier を搭載。 仮想ネットワークを構築するための実践的なガイド。 パート2

この記事で説明されている最初の XNUMX つのステップでは、 ZeroTier を搭載。 仮想ネットワークを構築するための実践的なガイド。 パート1 地理的に離れた XNUMX つのノードを仮想ネットワークで接続しました。 そのうちの XNUMX つは物理ネットワークに配置され、他の XNUMX つは XNUMX つの別個の DC に配置されます。  

ZeroTier を搭載。 仮想ネットワークを構築するための実践的なガイド。 パート2
これらのノードを XNUMX つずつネットワークに追加しましたが、これにはそれほど時間はかかりませんでした。 しかし、物理ネットワーク上の XNUMX つのノードだけでなく、すべてのノードを ZeroTier 仮想ネットワークに接続する必要がある場合はどうすればよいでしょうか? このタスクは、ある日、仮想ネットワークからネットワーク プリンターとルーターへのアクセスを整理するという問題に困惑していたときに思いつきました。 

上記の方法を使用しようとしましたが、迅速ではなく、どこでも簡単ではありませんでした。 たとえば、ネットワーク プリンターは、単に接続するだけでは機能しません。 Mikrotik - ZeroTier はサポートしていません。 何をするか? いろいろグーグルしてハードウェアを分析した結果、ネットワークブリッジを組織する必要があるという結論に達しました。

ネットワークブリッジ (また、 英語からブリッジ) は、OSI モデルの第 XNUMX レベルのネットワーク デバイスであり、コンピュータ ネットワークのセグメント (サブネット) を単一のネットワークに結合するように設計されています。

この記事では、私がこれを行った経緯を共有したいと思います。 

橋を架けるのにどれくらいの費用がかかりますか...

まず、管理者として、ネットワーク内のどのノードがブリッジとして機能するかを決定する必要がありました。 オプションを検討した結果、ネットワーク インターフェイス間のブリッジを構成できる機能を持つコンピューター デバイスであれば、どのようなものでも使用できることがわかりました。 ルーター、つまりデバイスのようなものになる可能性があります OpenWRTの実行中 または TeltonikaのRUTシリーズ機器、通常のサーバーまたはコンピューターと同様に。 

もちろん、最初は OpenWRT を搭載したルーターの使用を検討しました。 しかし、既存の Mikrotik は私に完全に合っていますが、ZeroTier との統合はサポートされておらず、変態したり「タンバリンを持って踊る」ことは本当にしたくないという事実を考慮して、コンピューターをネットワーク ブリッジとして使用することにしました。 つまり、Raspberry Pi 3 Model B は、Debian Buster をベースにした OS である Raspbian の最新バージョンを実行している物理ネットワークに常に接続されています。

ブリッジを構成できるようにするには、他のサービスで使用されていない 8152 つのネットワーク インターフェイスがデバイス上で利用可能である必要があります。 私の場合、メインのイーサネットはすでに使用されていたため、XNUMX つ目のイーサネットを編成しました。 このタスクには、Realtek の RTLXNUMX チップセットに基づく USB イーサネット アダプタを使用します。

アダプタを空き USB ポートに接続し、システムを更新して再起動した後、次の手順を実行します。

sudo apt update && sudo apt upgrade -y
sudo reboot

システムが USB イーサネット アダプターを認識しているかどうかを確認しました。

sudo lsusb

得られたデータを分析した後、

Bus 001 Device 004: ID 0bda:8152 Realtek Semiconductor Corp. RTL8152 Fast Ethernet Adapter
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Device 004 が私のアダプターにすぎないことに気づいてうれしかったです。

次に、このアダプターにどのネットワーク インターフェイスが割り当てられているかを明確にしました。

dmesg | grep 8152

[    2.400424] usb 1-1.3: New USB device found, idVendor=0bda, idProduct=8152, bcdDevice=20.00
[    6.363837] usbcore: registered new interface driver r8152
[    6.669986] r8152 1-1.3:1.0 eth1: v1.09.9
[    8.808282] r8152 1-1.3:1.0 eth1: carrier on

それは判明した eth1 🙂 そして、これとネットワークブリッジを設定できるようになりました。 

私が実際にやったことは、以下のアルゴリズムに従いました。

  • インストールされているネットワーク ブリッジ管理パッケージ:
    sudo apt-get install bridge-utils
  • インストール済み ゼロティア ONE:
     

    curl -s https://install.zerotier.com | sudo bash
  • 接続済み それを既存の ZeroTier ネットワークに接続します。
    sudo zerotier-cli join <Network ID>
  • ZeroTier IP アドレスとルート管理を無効にするコマンドを実行しました。
    sudo zerotier-cli set <networkID> allowManaged=0

次に、ネットワーク コントローラーで次のようにします。

В ネットワーク クリックしました 詳細、リンクを見つけてたどりました v4割り当てモード チェックボックスをオフにして、IP アドレスの自動割り当てを無効にします。 IP割り当てプールからの自動割り当て

ZeroTier を搭載。 仮想ネットワークを構築するための実践的なガイド。 パート2
その後、名前を設定し、チェックボックスをオンにして、接続したノードを承認しました。 認可された и アクティブブリッジ。 IPアドレスを割り当てていません。

ZeroTier を搭載。 仮想ネットワークを構築するための実践的なガイド。 パート2
次に、ノード上のネットワーク ブリッジの設定に戻り、端末を使用してネットワーク インターフェイス構成ファイルを開いて編集しました。

sudo nano /etc/network/interfaces

次の行をどこに追加しましたか?

auto eth1
allow-hotplug eth1
iface eth1 inet manual

auto br0
allow-hotplug br0
iface br0 inet static
        address 192.168.0.10
        netmask 255.255.255.0
        gateway 192.168.0.1
        network 192.168.0.0
        broadcast 192.168.0.255
        dns-nameservers 127.0.0.1
        bridge_ports eth1 ztXXXXXXXX
        bridge_fd 0
        bridge_maxage 0

どこ eth1 — IP アドレスが割り当てられていない、接続された USB イーサネット アダプター。
br0 — 物理ネットワークのアドレス範囲から割り当てられた永続的な IP アドレスを使用してネットワーク ブリッジが作成されています。
ztXXXXXXXX — 次のコマンドで認識された ZeroTier 仮想インターフェイスの名前。

sudo ifconfig

情報を入力した後、構成ファイルを保存し、次のコマンドを使用してネットワーク サービスをリロードしました。

sudo /etc/init.d/networking restart

ブリッジの機能を確認するために、次のコマンドを実行しました。

sudo brctl show   

受信したデータによると、橋が上昇しました。

bridge name	bridge id		STP enabled	interfaces
br0		8000.00e04c360769	no		eth1
							ztXXXXXXXX

次にネットワークコントローラーに切り替えて経路設定を行いました。

ネットワーク ノードのリストのリンクをたどったのはなぜですか? IP割り当て ネットワークブリッジ. 次に、開いたウィンドウで、をクリックします。 管理されたルート。 新しいページに移動しましたが、 ターゲット 示された 0.0.0.0 / 0、 しかしとして ゲートウェイ — 前に指定した組織のネットワークのアドレス範囲からのネットワーク ブリッジの IP アドレス。 私の場合は192.168.0.10

ZeroTier を搭載。 仮想ネットワークを構築するための実践的なガイド。 パート2
彼は入力されたデータを確認し、物理ネットワーク ノードから仮想ネットワーク内のノードに ping を送信したり、その逆に、ノードのネットワーク接続をチェックし始めました。

それだけです!

ただし、スクリーンショットを取得したプロトタイプとは異なり、物理ネットワークのノードの IP アドレスと同じ範囲の仮想ネットワーク ノードの IP アドレスを持っています。 ネットワークをブリッジする場合、このモデルが可能です。主なことは、ネットワークが DHCP サーバーによって配布されるアドレスと重複しないことです。

この記事では、MS Windows やその他の Linux ディストリビューションを実行するホスト側でのネットワーク ブリッジのセットアップについては個別に説明しません。インターネットには、このトピックに関する資料がたくさんあります。 ネットワークコントローラー側の設定については上記と同様です。

Raspberry PI は、固定ソリューションとしてだけでなく、ネットワークを ZeroTier に接続するための低予算で便利なツールであることに注意してください。 たとえば、アウトソーシング業者は、Raspberry PI に基づく事前構成されたネットワーク ブリッジを使用して、サービスを受けるクライアントの物理ネットワークと ZeroTier に基づく仮想ネットワークを迅速に組み合わせることができます。

この話のこの部分を終わりにしたいと思います。 質問、回答、コメントを楽しみにしています。なぜなら、それらに基づいて次の記事の内容を構築するからです。 それまでの間、マーケットプレイスの VDS に基づく GUI を備えたプライベート ネットワーク コントローラーを使用して、独自の仮想ネットワークを編成してみることをお勧めします。 オンライン RUVDS。 さらに、すべての新規クライアントには 3 日間の無料お試し期間があります。

-> 導入。 理論的な部分。 地球のためのスマート イーサネット スイッチ
-> 仮想ネットワークを構築するための実践的なガイド。 パート1
-> 仮想ネットワークを構築するための実践的なガイド。 パート2

ZeroTier を搭載。 仮想ネットワークを構築するための実践的なガイド。 パート2

出所: habr.com

コメントを追加します