socksサーバーをConohaのVPSにインストールする その1 2015年11月26日

server room

今月は自分でやってるVPN・プロキシ関連でインターネット経由での問い合わせがバンバン来た月だった。その中でとある方からのリクエストでクラウドのサーバーにsocks5のプロキシを立てれないか?というご要望。

「socks5?socks5?。。。そういえばブラウザのプロキシ設定の中でそのような言葉を見かけたような。。。」

SOCKS – Wikipedia

そう、個人的な記憶ではWindows / Internet Explorerのプロキシ設定や古くはNetscape、今はMozilla Firefoxなどのブラウザのプロキシ設定の項目で90年代からsocksはすでにあったように思う。20年弱インターネットに触れてきて始めてsocks5の単語を人が話しているのを聞いた(見た)。「こんなもの、誰が使ってんだ??」と思ってたがやっぱり少なからず使ってる人は居るのね。

で、ものの試しにセットアップ。Conohaというこれまた格安でVPSのインスタンスを貸し出してくれるサービスで手馴れているCentOS6.6のVPSを1つ借りてセットアップスタート。

ConoHa

しかし問題は、socks5、自分は今まで使ったことがないだけでなく、全く使い方がわからない、一般的にもどう使われてるのかわからない、という問題が。つまりどのような機能が実現されればOKなのかすら分からなかった。。。

んで、それもまたいろいろ調べて行ったらどうもsquidのようにHTTP/HTTPSのみではなくいろんなプロトコルをこのサーバーが中継してくれる。

[ PC ] <- 1 -> [ SOCKS ] <- 2 -> [ アクセス先サーバー ]

このように1と2の通信は別セッションになってて1はPCとSOCKSサーバー間、2はSOCKSサーバーとアクセス先サーバーの通信となってるところを見ると動作はsquidみたいな感じだが、役割的にはこのSOCKSサーバーを企業LANとインターネットの境界においてFirewallのような役割を持たせるようだ。昔の「アプリケーションゲートウェイ型のFirewall」のイメージか?SOCKS自体は中継のプロトコルとして定義されていてレイヤー5で動作するみたい。通信を行うクライアントのプログラムはSOCKSのプロトコルを実装している必要があるとのこと。

ファイアウォール(パケットフィルタリングとアプリケーションゲートウェイ)、DMZの仕組みや特徴について

んで調べてみるとどうやらWindowsのFTPクライアントであるffftpはFirewall経由でのFTPをサポートしていてそのFirewallにsocks5サーバーを指定できる。なのでとりあえずffftpでこのsocks5サーバーを経由して問題なくFTPでputやgetができればとりあえず動作確認完了ということにしてセットアップを試みるのであります。

長くなったんで ~その2~ へ続く。