server
とclient
があるとします。プロキシのように、client
からwebsite
からserver
への接続を作成する必要があります。
SSHトンネルを使用してこれを行うことは可能ですか、またはserver
にプロキシサービスをインストールする必要がありますか?
あなたはsshを使ってこれを行うことができます
ssh -L 80:remotehost:80 user@myserver
ローカルポート80からリモートホストポート80へのトンネルが作成されます。これは、myserverと同じである必要はありません。これを透過的にするには、hostsファイルにエントリを追加する必要があります。そうしないと、vhostsは機能しません。 SOCKSプロキシ接続が必要な場合は、次も使用できます。
ssh -D 5000 user@myserver
これにより、myhostを介してすべての要求をルーティングするlocalhostポート5000にSOCKSプロキシが作成されます。
はい、可能です。
ssh -D port user@Host
を実行し、ボックスをSOCKSプロキシとして使用するようにクライアントを設定します。
特にHTTPプロキシが必要な場合は、Proxychainsを使用して、以前のSOCKS経由でルーティングできます。
sshuttleはVPNのように機能しますが、SSH経由で機能します。
貧乏人のVPNとして機能する透過プロキシサーバー。 ssh経由で転送します。管理者は必要ありません。 LinuxおよびMacOSで動作します。 DNSトンネリングをサポートします。
PuTTYはこれもかなりうまくいきます。
SSHで、トンネルに移動します。下部で、ポートに8080を挿入し、宛先は黒のままにして、[動的]ラジオボタンを選択します。以上で、PuTTYを使用してサーバーに接続できます。
接続すると、ローカルホストのポート8080でプロキシサーバーが実行され、サーバーを介してすべての要求がプロキシされます。
次に、Webブラウザーを使用し、Host = localhostおよびport = 8080を設定してプロキシーをセットアップし、選択したSOCKSプロキシーを確認します。私はいつもこれを行っているので、Firefoxを使用している場合は、ワンクリックでプロキシをオン/オフにするため、FoxyProxyプラグインをインストールしてください。
注意:デフォルトでは、DNSリクエストはプロキシされないことに注意してください。そのため、プロキシ経由でアクセスするWebサイトは引き続きログに記録されます(これらのログが記録されている場合)。また、FirefoxがDNSリクエストをプロキシするように設定することもできます。デフォルトではそれを行いません。
プロキシーがコンピューターを実行できるようにして、他のクライアントがあなたに接続できるようにするには、-gオプションが必要です。したがって、たとえば、fooという名前のサーバーでこれを実行します。
ssh -g -ND 9191 root@remotehost
次に、クライアントのブラウザーでプロキシーを設定して、サーバーfooおよびポート9191をSOCKSプロキシーに使用できます。クライアントは自分のリクエストもfooを送信し、次にfooがsshを介してリクエストをリモートホストに転送します。したがって、インターネットでは、リモートホストを使用しているように見えます。
DNS要求もFirefoxで転送する場合は、Firefoxのabout:configを編集し、network.proxy.socks_remote_dnsをtrueに設定します。
あなたはSSHUTTLEを使用することができます、ここにそれを使用する方法に関するチュートリアルがあります、
https://etherarp.net/sshuttle-a-vpn-for-the-lazy/
サービスとして機能するように設定する方法のチュートリアル
https://medium.com/@mike.reider/using-sshuttle-as-a-service-bec2684a65fe