たとえば、ルーターに接続して自分のコンピューターで Web サーバーを実行できますが、これはパブリック IP アドレスがないことを示しています。他のクライアントまたはサーバーからそのサーバーにデータを送信するにはどうすればよいでしょうか?
Web ソケットは有望に思えますが、私が求めているのは、コマンド ラインで十分にサポートされ、ポート転送などのルーターの設定を変更する必要のないソリューションです。
答え1
ポート転送
ポート転送は、これまでのところ最も簡単な解決策です。
リバース SSH トンネル
もう 1 つの方法は、サードパーティのパブリック アクセス可能なサーバーをリレーとして関与させることです。Web サーバーからこのサードパーティ サーバーへの接続を開始し (ルーターが着信接続をブロックするため)、その接続を使用してサードパーティ サーバー経由で HTTP トラフィックをリレーする必要があります。
これはほぼ確実に SSH トンネリング
私は頻繁にファイアウォールの背後にあるマシンへのアクセスウェブ開発をしたいのですが、VPNが利用できません。問題ありません。リバースSSHトンネルを使用するだけです。このチュートリアルの最後には、リモートサーバーにSSHで接続できるようになり、サーバーがアクセスできるすべてのウェブページを表示する。
(強調は筆者)
答え2
SSHトンネリングの代替として、IPv6トンネリングを検討してもよいでしょう。私はIPv6 プロバイダーとしての gogo6/freenet6(他のプロバイダーもありますが)。Windows では、クライアントは通常そのまま動作します。Linux では、クライアントをコンパイルする必要があります。ただし、これが完了すると、IPv6 をサポートする任意のシステムからシステムにアクセスできるようになります。
IPv6 トンネルを設定する利点は、それが通常のパブリック IP アドレスであるかのように操作できることです。