2016年01月04日2016/01/09プロキシのレンタルサーバーサービスで一部conohaのVPSサーバーを使ってるのですが、つい先日ネットワークの速度制限がかけられたことがあった。サーバーを使用しているユーザーさんから問い合わせがあり、サーバーのレスポンスが異常に遅いとのこと。調べてみるも特に手がかりになりそうなエラーログなどは何も出ていない。squidのパラメーターやネットワーク設定のパラメーターをいじってテストしてみるが何も変化なく、最悪rootが乗っ取られてエラーログやシステムに侵入された際のログすら不可視にされてるかもしれないという考えから、一旦サーバーを初期化し、セットアップ時と同じステップでサーバーの再構築を行ったりもした。サーバーの再構築には時間がかかったからか、作業後はネットワークの速度は元に戻っていた。腑に落ちないままユーザーさんに報告。このような状態がさらに2回も発生。あまりに動作がおかしいのでconohaのユーザーサポートに「ネットワークの速度制限やサーバーのリソース使用制限が設定されてませんか?」と問い合わせたところ「ネットワーク速度制限がかかっておりました」とのこと。急ぎその制限は外してもらう。速度制限の原因は該当サーバーからのトラフィック量がトリガーになっているとのこと。これがここ一ヶ月ぐらいのトラフィックのグラフ。3回大きな落ち込みがあってこれが速度制限をかけられたところ。2000KB/sぐらい。16Mb/sconohaのネットワークは物理ネットワークは10Gbps共有VPSのインターネット側へのネットワーク帯域は100Mbps共有となっているらしい。通信量多いかと言えば多いかもしれないけどサーバーだったらこれぐらいトラフィック食うサーバーざらにあると思う。この通信量で制限にひっかかるというのが腑に落ちない。ご契約頂いているサーバーおよびこれから新規に開設頂くサーバーは速度制限の対象から外してありますのでご安心ください。あまりに通信量が多くて他のユーザー様のサーバー、ネットワークの使用に影響が出る場合は再度制限される可能性がありますのでご注意ください」とのこと。具体的な数値的指標は出てこない。いうか、連絡したからこれ以降は現状のサーバーには制限をかけない、ということはこの通信量では問題ない、ということを暗に証明してるんじゃない?余計になぜ速度制限をかけられたか不思議でならない。許可制??ネットワーク好きなように使いたいなら許可制??それなら最初の申し込み時に申請フォーム用意しておいてちゃんと連絡できるようにしといてほしいな。問題出て速度制限かけてから申請って、サーバーの用途によってはこの速度制限で大きなコストの損害が出る可能性も大だから。なんか結局よくわからずですが、データセンター側の手違いで他のサーバーの速度制限設定に間違えて入れられてたんじゃないかと勘ぐっております。そんなこと問い合わせても「そんなことはない」としか言われないでしょうけど。conohaのVPS使ってて原因不明のレスポンス遅延などが発生した場合はとにもかくにもデータセンター側の制限の確認をしたほうがよいと思います。2015年11月27日2015/11/28さてsocksサーバー構築の続きです。socks5のセットアップ情報も日本語では少ない。使ってる人が少ないからだろう。socks5のサーバーとしてはdanteというパッケージが有名らしく、それを入れることにする。Danteの本家サイト通常CentOS6でバイナリをインストールする際に使うyumにもdanteは用意されていない。調べてみるとrpmでならバイナリが用意されているようでrpmforgeというrpmのレポジトリをyumに追加してそこからインストール。dante*これでとりあえずdanteのパッケージはインストール完了。あとは設定ですが、設定ファイルの構成はシンプル。socks.confの2つのファイルをviなどで編集するだけ。今回みたいにインターネット上にサーバーを配置するならユーザー認証で認証されないと接続できないようにすると思うが、基本的にsquidのbasic認証のようにユーザー名とパスワードをsocks用に別途用意するのではなく、ホストに登録されているユーザー名とパスワードを利用するのでsocksを利用するユーザーを新たに用意して、ログインシェルをnullか/sbin/nologinを割り当てておく。IPがDHCPで変更されるので特に制限はしない記述)とサーバーでサポートするプロトコルの指定。基本的にこれだけで記載した。externalで指定する。いうように同じIPになった。仮想IPを割り振ってサーバーを運用してる場合でもこのinternalとexternalに同じようにどんどん併記していけばちゃんと1のアドレスから入った通信は1から出ていき、2のアドレスから入った通信は2から出て行くように動作していた。noneここに後述する詳細ポリシー設定の際に使用するアクセス方法を記載しておく。ここに書いていないと後のポリシーの記述内で指定しても有効化されない。ちなみにclientmethodの記載はPCからsocksサーバまでの通信、socksmethodに関してはsocksサーバーから外部の宛先までの通信に適用される。nobodyこれらはsocksのサービスが稼働する際のユーザー権限の設定。error}後はこれらのポリシーの設定をしてあげる。passがsocksサーバーからアクセス先サーバーまでの通信のポリシーとなる。passではすべてのアドレスからすべてのアドレスへすべてのポート番号で許可して、通信のログをちゃんとファイルに出力しますという指定だけしている。passも同じく通信の制限はほとんど課さず。サポートするプロトコルをtcp、udpと指定して同じくログ出力の記述。追記して終わりかと思ってたが、なんでかうまく動作しない。いうふうに記載したらとりあえずユーザー認証が正常に動作してくれた。ffftpでsocksの指定をしてユーザー名、パスワードを設定してちゃんとftpサーバーに接続出来た。socksサーバーのユーザー名、パスワードを削除して接続しようとしても接続失敗するのも確認してとりあえず設定完了。こんな感じでいいはずだ。結局テストのみで最終的に使うことなく終わる。勉強する機会を与えて頂いてありがとうございました。これがなければ触る機会はなかったな。以下参考にさせてもらいました。インストールに関して。英語サイトだけどconfファイルのオプションの説明詳細が豊富。本家サイトのドキュメントより役に立つ。2015年11月26日2015/11/28今月は自分でやってるVPN・プロキシ関連でインターネット経由での問い合わせがバンバン来た月だった。その中でとある方からのリクエストでクラウドのサーバーにsocks5のプロキシを立てれないか?というご要望。「socks5?socks5?。いえばブラウザのプロキシ設定の中でそのような言葉を見かけたような。Firefoxなどのブラウザのプロキシ設定の項目で90年代からsocksはすでにあったように思う。20年弱インターネットに触れてきて始めてsocks5の単語を人が話しているのを聞いた(見た)。「こんなもの、誰が使ってんだ??」と思ってたがやっぱり少なからず使ってる人は居るのね。ものの試しにセットアップ。Conohaというこれまた格安でVPSのインスタンスを貸し出してくれるサービスで手馴れているCentOS6.6のVPSを1つ借りてセットアップスタート。ConoHaしかし問題は、socks5、自分は今まで使ったことがないだけでなく、全く使い方がわからない、一般的にもどう使われてるのかわからない、という問題が。どのような機能が実現されればOKなのかすら分からなかった。それもまたいろいろ調べて行ったらどうもsquidのようにHTTP/HTTPSのみではなくいろんなプロトコルをこのサーバーが中継してくれる。]このように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ができればとりあえず動作確認完了ということにしてセットアップを試みるのであります。2020年01月14日ライスサラダってのは。photricity.com。