私はLinuxシステムを持っており、SSH、FTP、HTTPなどを介してリモートでアクセスできるようにしたいです。 No-IP.comを介してダイナミックDNSを登録しましたが、NATの背後にある大学キャンパスネットワークにあり、ポート転送を設定するためのルータにアクセスできないため、十分ではありませんでした。キャンパスルーターがUPnPをサポートしているのかNAT-PMPをサポートしているのかわかりませんが、疑わしいです。
とにかく、この問題を解決するためにVPNを使用する方法があるかどうか疑問に思います。たとえば、両方のコンピュータにVPNソフトウェアをインストールすると、VPNを介してラップトップからLinuxボックスにアクセスできることがわかります。しかし、私はソフトウェアをインストールしなくても、どのコンピュータからも私のLinuxボックスにアクセスできるようにしたいです。または、少なくともこの方法でHTTP部分にアクセスできる必要があります。多くのVPNサービスがファイル転送などのためのWebインターフェイスを提供していることはわかっていますが、通常のFTPおよびSSHクライアントソフトウェアを使用してLinuxボックスにアクセスできることを願っています。
とにかく、VPNでこれを行うことはできますか?それともVPNを動的DNSに関連付ける方法はありますか? Hamachi VPNのウェブサイトを見ましたが、すべての機能を非技術的な用語で説明しているのでわかりませんでしたが、アカウントを作成する前に知りたかったです。
答え1
表面的には、キャンパスファイアウォールはキャンパスの外部からコンピュータへの接続を許可しません。したがって、コンピュータに接続するには、内部で接続を開始する必要があります。
したがって、寮のコンピュータDとキャンパス外の外部コンピュータEの間にある種の接続が必要です。そして、あるクライアントCで寮のコンピュータに接続したいときは、代わりにEに接続し、Eが接続を中継するように設定してくれます。
D→E接続にはVPNを使用できます。これには、DとEへのルートレベルのアクセスが必要です。 VPNはDとEの間にIP接続を提供するため、CはEがCとDの間をルーティングしたいDのすべてのネットワークサービスにアクセスできるようにします。
より軽い解決策は、DとEでSSH接続を確立することです。これには両側にシェルアカウントのみが必要です(もちろんEはSSHを許可する必要があります)。 Dから始めて実行
ssh -R 2242:localhost:22 E sleep 999999999
これにより、EからDへのポート転送が作成されます。ポート2242のEへのすべての接続は、ポート22のDに中継されます。ポート22はSSHポートなので、これを実行するとssh -p 2242 E
ログインできるDに接続されます。これを自動化するには、次のようにエイリアスを定義できます~/.ssh/config
(PuTTYの設定も似ています。マニュアルを参照)。
Host dorm
UserName bob
HostName E
Port 2242
この方法で複数のポートをルーティングできます。たとえば、Eのポート8042をDのポート80に中継するには、次のようにします。
ssh -R 2242:localhost:22 -R 8042:localhost:80 E sleep 999999999
Dでネットワーク接続を開始するたびに、このコマンドを再実行する必要があります。
答え2
コンピュータがNATの背後にない場合(つまり、インターネットから自由にアクセスできる場合)、ssh
NATを入力できます。~からオプションはキャンパスコンピュータのOpenSSHであり、そのSSHセッションを介してリモートポートを適切なローカル(キャンパスコンピュータ)ポートに転送することです-R
。その後、非NATシステムの転送ポートに接続し、キャンパスシステムのSSHはキャンパスNATを介してデータを送信します。少し這いますが動作します。
答え3
VPNはこの問題を解決できます。はい。
特に、ポート転送を可能にするVPNが必要です。経験があるだけですウォーターワードVPNもこの機能を提供しますが、他の多くのVPNもこの機能を提供すると確信しています。
ほとんどのサービスは任意のポート(SSHの場合は22など)を転送できないため、番号の高い「ランダム」ポートを使用する必要があります。ただし、このためにssh / ftpを設定するのは非常に簡単です。