
ルータを設定せずにインターネット経由でリモートデバイス(主にRaspberry Piなどのシングルボードコンピュータ)にアクセスしたいと思います。ほとんどの場合、ユーザーのルーターにアクセスするのは困難または遅いです。私はteamviewerやhusarnetなどの排他的なサービスを使用しないようにします。
私はネットワーキングに初めて触れました。
- どこから始めますか?
- どの興味深いプロジェクトに注目すべきですか?
- 何を考えていますか?
作るつもりです。独自のVPNサーバー。
最初のデバイスがVPNに接続されたら、同じVPNに接続されているリモートデバイスにSSH経由で接続できますか?
答え1
以下の質問に回答しましたが、その前に...
私が最初に言いたいのは、あなたが一種の実装を実装しているかのように聞こえるということです。IoTデバイス。この場合、SSH接続を望むのは少し扱いにくいです。これは数十または数百人のクライアントと連携できます。しかし、すぐに管理するのは難しいかもしれません。
通常、次のことを行う必要があります。
- OSのアップグレードをフルイメージとして展開すると、リモートコールによって
apt-get dist-upgrade
デバイスが機能せず、エンジニアに送信して問題を解決する必要がある状況は発生しません。 - 同様の方法でアプリケーションをデプロイし、自己配布可能な完全なパッケージに送信します。
- 次のツールを検討してください。人形これはサポートされていないメンテナンスを可能にし、同じアップグレードを複数のデバイスに同時に送信する方法を提供します。
このスペースで約3,000台のデバイスを試したことがある場合は、SSH経由でログインする習慣を持ちたくないでしょう。
常にセキュリティを考慮してください。これにより、ハッカーがユーザーのホームネットワークにアクセスする可能性がある脆弱性が発生すると、ビジネスが終了する可能性があります。
SSH経由でダイヤルアップすることが唯一のオプションである場合は、いくつかのオプションがあります。
リバースSSHトンネル
SSHを介してリモートサーバーに接続し、ポートを22
デバイスのポートに戻すようにデバイスを設定できます。通常、これは要求に応じて実行できるため、ソフトウェアにいくつかのトリガーを含めてそれを実行するように指示します。
デバイスに使用する「リモート」ポートを知らせる必要があります。その後、そのポートが何であるかを知る必要があります。したがって、1234
リモートポートが次の場合、デバイスはサーバーにダイヤルアップします。
ssh -R 1234:localhost:22 remote-server.example.com
その後、前述のリモートポートを使用して直接リモートサーバーにSSHを接続し、サーバーからIoTデバイスにSSHを接続できます。
ssh -p 1234 localhost
少し複雑ですが動作します。 SSH接続でラップされたSSH接続を確立しています。しかし、動作します!
永続VPN接続
前述のようにVPNサーバーを設定できます。そのサーバーがあなたのネットワークにアクセスするのを防ぎます。
OpenVPNの例をオンラインで見つけることができます。これはおそらくこの状況に適したVPN技術です。避けるべきいくつかの「gotyas」があります。
- ユーザーは自分のデバイスをハッキングします。これを完全に防止することはできません。
- ユーザーが会社のネットワークをスヌーピングしたくありません。 VPNサーバーが会社のネットワーク上のどの項目にもアクセスできないようにし、独立してください。
- OpenVPN通信を有効にしないでください
--client-to-client
。これにより、顧客が望ましくない会話を共有します。それでは、このVPNの使用方法を検討する必要がありますか?サーバーからSSH接続を開始するだけです。それ以外の場合は、VPNクライアントではないようにラップトップをサーバーに接続するにはどうすればよいですか?
- 「自動再接続」を必ずお読みください。警告なしにVPN接続が失われ、クライアントは自動的に再接続する必要があります。
ユニバーサルプラグアンドプレイ
ほとんど/すべてのホームルーターでサポートされていますユニバーサルプラグアンドプレイ。これにより、IoTデバイスはユーザーのホームルーターのポートを開いてダイヤルアップを直接可能にします。
この方法は有効ですが、一部のユーザーはセキュリティリスクを考慮してこの機能を無効にすることに注意してください。例: このトピックに関するブログの議論ここ。