私はサーバーを介して特定のポートをトンネリングしようとしていますが、どこから始めるべきか、SSHを使用するのに適しているのかわかりません。
私の現在の状況はこんな感じです。
- メディアサーバーは次の場所にあります。http://example.com:3535(実際のドメイン名ではありません)
- このドメインへのアクセスがネットワークからブロックされました。
- ロンドンにOpenVPNを実行しているVPSがあり、そのVPSに接続すると、次から何でもアクセスできます。http://example.com
- 私は人々が自分の時間に何をしているのかを知っているMonkeysplat.comにアクセスできるように、他の人に自分のVPNを公開したくありません。私はその一部になりたくありません!
トラフィックをルーティングする必要がある代替ドメイン名を使用できますか?example.com私のVPSを介して?したがって、私はVPSに接続しているように見えるネットワークブロックをバイパスします。
それでは、どうすればいいですか?私のVPSはUbuntu 14.04を実行しています(助けになる場合)。
答え1
ssh -L 3535:example.com:3535 -p port [email protected]
(*)を使用すると、localhostのポート3535を介してexample.com:3535に接続できます。追加のドメイン名は必要なく、IPアドレスのみを使用してVPSに接続できます。
(*) 実際のドメイン名がありません。
答え2
SSH(すでにVPNがあるため)やDNSは必要ありません。 VPNエンドポイントがユーザーが会話したい人を知っている場合は役立ちます。
ルーティングが必要です。 example.comが1.2.3.4でVPNピアアドレスが192.168.42.1の場合は、次のようにルートテーブルを変更できます(OpebVPN設定に統合可能)。
ip route add 1.2.3.4/32 via 192.168.42.1
答え3
私はこの記事の助けを借りてトンネルを作りました。http://www.thegeekstuff.com/2013/11/reverse-ssh-tunnel
以下は、リモートサーバー側に座っている友人がサーバー上で実行する必要があるコマンドです。
ssh -fN -R 7000:localhost:22 ユーザー名@yourMachine-ipaddress
したがって、リモートサーバーからコンピューターへのSSH接続要求は、コンピューターのポート7000へのSSH接続要求がリモートサーバーのポート22に転送されるようにします。
今ポート7000であなたのコンピュータからあなたのコンピュータへのSSH接続要求をしなさい:
SSHユーザー名@localhost -p 7000