トンネリングをサポートするSSHサーバーにアクセスでき、* ubuntuを実行しているPCを使用している場合、インターネットに到達する前にそのSSHサーバーを介してトラフィックをトンネリングするローカルSOCKSプロキシを設定するにはどうすればよいですか?
Sshを実行しているサーバーに接続するときに使用するssh
バイナリは、-D
フラグを使用してSOCKSプロキシをすぐに実行できます。例:
ssh -D 1337 -f -C -q -N user@remote -p 22
-D 1337
はssh
に、ポート1337でSOCKSサーバーをローカルで起動するように指示します。-f
は、プロセスをバックグラウンドにフォークします。-C
圧縮をオンにします。-q
は「Quietモード」を有効にします。ここでの目的はトンネルであり、エラー出力などはあまり気にしないからです。-N
は、コマンドが送信されないことをssh
に伝えます(-f
これを指定しないと文句を言います)。-p
は、使用するポートを指定します。明らかにこれは22にデフォルト設定されているため、上記のステートメントは無意味ですが、明確にするために含まれています。SOCKSサーバーが稼働している場合、アプリケーション(通常はWebブラウザー)が通常のインターネットではなくローカルSOCKSプロキシに接続しようとしていることを確認するだけです。
Firefox 29(ここでは例として説明します)では、メニュー(右上の3つのソーセージ)に移動し、[設定]> [詳細設定]> [ネットワーク]>(接続)> [設定...]に移動します。 SOCKSフィールドに入力してください!プロキシは同じシステム上にあるため、localhost
または127.0.0.1
を使用して、同じシステムで設定したポートを指すことができます。
DNSリクエストもトンネリングする必要がある場合(そうでない場合、DNSルックアップはアクセスしようとしているWebサイトを明らかにします)、「リモートDNS」で確認するか、about:config
。最後のケースでは、それを開いてこれらの値を設定します:
network.proxy.socks : 127.0.0.1
network.proxy.socks_port : 1337
network.proxy.socks.remote_dns : true
network.proxy.socks_version : 5
network.proxy.type : 1
特定のドメインまたはサイトをトンネリングから除外するには、この設定が必要になる場合があります。
network.proxy.no_proxies_on : localhost, 127.0.0.1, 192.168.0.0/24, .yourcompany.com
この回答はフランスから書かれましたが、スウェーデン経由でトンネルされました:)