複数のラズベリーがルーターに接続されている場合はSSHを使用する

複数のラズベリーがルーターに接続されている場合はSSHを使用する

そこで、私は複数のRaspberry Pi 4B(8)をイーサネットケーブルでFritzBoxに接続しています。すべてのPiは設定でSSHが有効になっており、「ssh」と入力することでローカルネットワーク内でSSH接続が可能です。[メールアドレス]「ルーターに dynDNS サービスを設定したので、正確な IP アドレスを知らなくてもルーターにアクセスできます。これも問題なく機能しました。」

次に、FritzBox の「アクセスを許可」オプションを使用して、ポート 22 と 3389 を RPi の 1 つに転送しました。これで、その RPi で SSH と MS リモート デスクトップを使用できるようになりました。

問題: 他のすべての RPi にはヘッドレス Raspberry OS Lite がインストールされており、それらにもインターネットからの SSH が必要です。しかし、最初の RPi がすでにポート 22 を使用しているため、ポート 22 で他の RPi を使用することはできません。

ポート リダイレクトと呼ばれる方法があり、インターネットで何度も読んだことがあります。しかし、それを簡単に説明してくれる人は誰もいませんでした。そのため、これを行う方法を見つける必要があります。

ルーター

|-> 外部ポート 2200 -> Pi Nr. 0 のポート 22

|

|-> 外部ポート 2201 -> Pi Nr. 1 のポート 22

|

|-> 外部ポート 2202 -> Pi Nr. 2 のポート 22

|

|-> 外部ポート 2203 -> Pi Nr. 3 のポート 22

でも、それがどのように機能するのか全く分かりません ;D

これを実現するには、RPi のどの設定ファイルを編集するか、またはルーターのどの設定を変更する必要がありますか?

回答ありがとうございます:)

(追記: 私はネットワーク初心者です。趣味で PC 用の Java ソフトウェアや Discord ボットを 2 年ほどコーディングしてきました。でも、インターネットの仕組みがまったくわからないので、学びたいと思っています XD)

答え1

ポート リダイレクトと呼ばれる方法があり、インターネットで何度も読んだことがあります。しかし、それを簡単に説明してくれる人は誰もいませんでした。

ほとんどのルーターでは、ポートを変更する必要があるかどうかに関係なく、内部 IPv4 ホストへの外部アクセスを許可することは文字通り同じ機能です。Raspberry Pi にプライベート IP アドレスがある場合、ルーターはいずれにしても NAT を実行する必要があるため、「ポート リダイレクト」はその一部であり、実際には別のものではありません。

あなたの場合、FRITZ!Box では、同じ「アクセスを許可」セクションで「その他のアプリケーション」を選択すると、異なる「外部」ポートと「内部」ポートを入力できるようです。

スクリーンショットからGoogleで見つけたこれは:

  • 用途: [その他の用途]
  • プロトコル: [TCP]
  • ポートからデバイスへ: [22] から [22]
  • 外部から要求されたポート (IPv4): [2201]

(このフィールドに IPv4 固有というラベルが付いているのは、IPv6 ではルーターのアドレスではなく Pi 自身のアドレスに直接接続するため、「外部」ポートと「内部/デバイス」ポートが区別されないためです。)

これを実現するには、RPi のどの設定ファイルを編集するか、またはルーターのどの設定を変更する必要がありますか?

通常は1つまたは他には、あなたが望むものに応じて選択してください。

  • ルーター
    |-> 外部ポート 2200 -> ポート22円周率0
    |-> 外部ポート 2201 -> ポート22円周率1
    |-> 外部ポート 2202 -> ポート22円周率2
    

    これはおそらく「ポート リダイレクト」と呼ばれるものです。ポートを変換するにはルーターが必要ですが、Pi 自体に変更を加える必要はありません。

    これは一般的に IPv4 に特有のものです。IPv6 でも技術的には可能ですが、「避けるべき」ものと考えられています。(これは主に IPv6 ではそれぞれあなたのPiは独自の外部アドレスなので、ポート 22 の衝突問題は意味をなさないでしょう。

    FRITZ!Box では、これは、すでに使用しているのと同じ「アクセスを許可」ページの「その他のアプリケーション」オプションの下に隠されているようです。

  • ルーター
    |-> 外部ポート 2200 -> ポート2200円周率0
    |-> 外部ポート 2201 -> ポート2201円周率1
    |-> 外部ポート 2202 -> ポート2202円周率2
    

    これにはルーターからの書き換えは必要ありません (IPv4 と IPv6 の両方で同じように動作します) が、Pi 上の SSH サービスが対応するポートをリッスンする必要があります。

    Linux では、これはPortオプションです/etc/ssh/sshd_config。おそらく、デフォルトのポート 22 とカスタム ポート 2200 の両方に 2 回追加する必要があります。

あなたできたもちろん両方を実行します。たとえば、外部ポート 2200 を Pi ポート 3300 に書き換えますが、これは不要です。

また、ないssh -J他の Pi に外部からアクセスできないようにします。代わりに、 0 番目の Pi を介してすべての Pi に接続するためにを使用できます(例: ) ssh -J public.ip lan.ip.pi2

関連情報