DUICUO

優れたオープンソースのイントラネット侵入ツール8選

NATトラバーサルは、ローカルネットワークサービスをインターネットに公開する技術です。この技術は、多くのローカルエリアネットワーク(LAN)におけるリソース共有の問題を効果的に解決します。NATトラバーサルは、コンピュータを「ルーター」として機能させ、パブリックネットワークアドレスを内部ネットワークアドレスに変換することで、インターネット経由でLANリソースにアクセスできるようにします。

イントラネット トンネリングには、次のような多くのアプリケーション シナリオがあります。

  • リモートワーク:自宅からリモートワークを行い、社内サーバーやローカルエリアネットワーク上のリソースにアクセスする必要がある場合があります。イントラネット侵入技術を活用すれば、リモートワークを簡単に実現できます。
  • リモート開発とデバッグ:Webアプリケーション開発では、モバイルデバイスでのテストが必要になることがよくあります。ネットワークトンネリング技術を使用することで、サーバー側の開発環境をパブリックインターネットに公開できるため、モバイルデバイスでのデバッグが容易になり、開発効率が向上します。
  • ホームサーバー管理:NASストレージシステム、スマートホームコントロールシステム、その他のデバイスを自宅に設置し、外出先からでもネットワークトンネリングを介してインターネット経由でホームサーバーに安全にアクセスし、データやデバイスをリモート管理できます。
  • クラウドサーバーへのアクセス:クラウドサーバー内のデータベース、ファイル、その他のサービスにアクセスする必要がある場合があります。ネットワークトンネリングを利用することで、クラウドサーバー内のリソースに直接アクセスでき、時間とコストを節約できます。
  • LANゲーム:ネットワークトンネリングにより、複数のデバイスが同じローカルエリアネットワーク(LAN)上で一緒にゲームをプレイできます。これにより、デバイスが同じネットワーク上になくても、ネットワークトンネリングを通じて仮想LANを確立し、オンラインゲームを楽しむことができます。

イントラネットトラバーサルは、インターネット経由でローカルエリアネットワーク(LAN)にアクセスできるため、非常に便利ですが、同時にイントラネットの境界を破壊し、様々なリスクを容易に招きます。さらに、イントラネットトラバーサルはインターネットサーバーに依存するため、ネットワークの安定性に課題が生じます。そのため、イントラネットトラバーサルを使用する際には、アプリケーションシナリオとセキュリティ要件の両方を総合的に検討する必要があります。

PeanutShellやNgrokなど、NATトラバーサル用のツールは数多く存在します。しかし、この記事では主に、プライベートネットワークトンネルの構築を容易にするオープンソースのNATトラバーサルツールを推奨します。

1. 高速リバースプロキシ(FRP)

GitHub: https://github.com/fatedier/frp

ドキュメント: https://gofrp.org/zh-cn/docs/

frpは、LAN内またはファイアウォールの内側にあるローカルサーバーをインターネットに公開できる高速リバースプロキシです。現在、TCPとUDPに加え、HTTPとHTTPSプロトコルをサポートしています。このツールを使用すると、ネットワークリクエストをドメイン名経由で内部サービスに転送できます。さらに、FRPはP2P接続モード、ストリーム暗号化、負荷分散、カスタムドメイン名などの機能も提供します。

FRP は Golang で書かれているので、Linux、Windows、Mac などのオペレーティング システムをサポートしています。

2. ローカルトンネル

GitHub: https://github.com/localtunnel/localtunnel

localtunnel は、ローカル サービスをインターネットに公開するツールであり、ブラウザーのテスト、外部 API コールバック サービスなどに最適です。

Localtunnel-serverは、初心者でも簡単に使えるシンプルなコマンドラインインターフェースを提供します。Localtunnel-serverを使用するには、まずシステムにNode.jsとnpmをインストールする必要があります。起動すると、LocaltunnelクライアントがローカルWebサーバーを指すパブリックURLを作成します。

3. ノミ

GitHub: https://github.com/jpillora/chisel

Chiselは、Go言語で開発されたオープンソースのネットワークトンネリングソリューションです。TCP、HTTP、WebSocketなど、複数のプロトコルをサポートしています。Chiselはシンプルなコマンドラインインターフェースを提供するため、開発者は容易に習得できます。また、クライアントとの自動再接続をサポートし、安定した動作を保証します。

Chisel の主な利点はその速度であり、大量のデータを安全かつ迅速に送信できます。

4. ラットホール

GitHub: https://github.com/rapiz1/rathole

Ratholeは、Rustで書かれたオープンソースのトンネリングソリューションで、リバースプロキシ機能も備えています。NATファイアウォールの背後にあるアプリケーションやデバイスとインターネット経由で接続を確立できます。

Rathole のユニークで優れた特徴は、リソースの消費量が少ないことです。

5. ファストトンネル

GitHub: https://github.com/FastTunnel/FastTunnel

FastTunnelは、高性能でクロスプラットフォームなイントラネット侵入ツールです。その主な機能は、イントラネットサービスをパブリックインターネットに安全に公開し、ユーザーやその他のユーザーがどこからでもこれらのサービスにアクセスできるようにすることです。他の侵入ツールとは異なり、FastTunnelは拡張性と保守性に優れたイントラネット侵入フレームワークを提供することに重点を置いており、ユーザーは独自の侵入アプリケーションを構築し、ニーズに合わせてビジネス拡張機能を追加できます。.NET Coreを使用して開発されているため、Windows、Linux、macOSなど、さまざまなオペレーティングシステムに展開できます。そのため、FastTunnelは、さまざまなアプリケーションシナリオに適した強力なソリューションとなっています。開発者がローカルサービスをリモートで公開する必要がある場合でも、上級ユーザーがカスタムのイントラネット侵入ソリューションを作成する必要がある場合でも、FastTunnelは便利で高性能なオプションを提供します。

6.シャトル

GitHub: https://github.com/sshuttle/sshuttle

低コストのVPN実装として機能する透過プロキシサーバー。SSH転送、DNSトンネリングをサポートし、LinuxやmacOSなどのシステムをサポートします。

7. 退屈

GitHub: https://github.com/ekzhang/bore

Bore は、Rust で開発されたシンプルな TCP トンネリング ツールで、標準の NAT ファイアウォールをバイパスし、ローカル ポートをリモート サーバーに公開できます。

8. ズロク

GitHub: https://github.com/openziti/zrok

Zrokは、OpenZiti上に構築された次世代のピアツーピア共有プラットフォームです。OpenZitiはプログラム可能なゼロトラストネットワークであり、ZrokはZiti上に構築されたネイティブアプリケーションです。Zrokを使用すると、HTTP、TCP、UDPなどのネットワークプロトコルを使用してリソースを共有できます。また、ファイル、Webコンテンツ、その他のリソースをピアツーピアで共有することもできます。