Develop and Download Open Source Software

OpenSource Downloads

7-Zip  (4,208)  
HandBrake Japanese Language Version  (3,353)  
CrystalDiskInfo  (1,743)  
CotEditor  (1,120)  
CrystalDiskMark  (866)  
Boookends  (788)  
SMPlayer  (642)  
えこでこツール  (599)  
Tera Term  (595)  
10  FFFTP  (579)  
11  Cabos  (530)  
12  BathyScaphe  (494)  
13  ffdshow  (481)  
14  MergeDoc  (464)  
15  ギコナビ  (438)  
More >>

最近ブックマークされた記事

shd-tcp-toolsを用いたポートフォワーディング、ロードバランシング、レートリミティングの実装

2009年01月15日 10:17 Ben Martin 1 2 3 4

 本稿で紹介するshd-tcp-toolsは、ポートフォワーディング(ポート転送)、ロードバランシング(負荷分散)、レートリミティング(転送速度制限)をTCP接続に施すためのツール群をまとめたものである。これが役立つのは、SSHサービスを提供したいが長時間に及ぶ単一のSCPオペレーションがサーバのインターネット接続を食い尽くしてしまわないよう、各ユーザが利用できる帯域幅に制限を設けておきたいという場合だ。

 確かにポートフォワーディング機能はSSH自身にも用意されているが、これにshd-tcp-toolsを併用することで、ポート転送に対するレートリミティングが可能となる。ただしshd-tcp-toolsはTCPレベルで動作し、認証および暗号化に関する有効な機能を有していないため、SSHのポートフォワーディング機能をshd-tcp-toolsにて置き換えられるという訳ではない。つまりSSHとshd-tcp-toolsは相互補完的な関係にあり、前者はセキュリティ関連の機能を提供し、後者はSSHを基にしたネットワーク容量のレートリミティング機能を提供し、可能であればキャパシティのロードバランシングも行うという住み分けになっているのだ。

 shd-tcp-toolsのパッケージは、Ubuntu、Fedora、openSUSEのリポジトリには収録されておらず、本稿の執筆においてもshd-tcp-toolsの最新版にあたるバージョン0.05のソースを入手した上で、後述する手順による64ビット版Fedora 9マシンを用いたソースからのアプリケーションビルドを行っている。なおshd-tcp-toolsはautotoolsを使用しないが、設定用のスクリプトは用意されており、そのMakefileもallおよびinstallをターゲットとするため、実質的にはautotoolsプロジェクトと同様のビルドが行える。具体的なインストール手順は下記のようになるが、ここで行う最終ステップはバイナリ群を/usr/local/binにインストールするMakefileの固定シーケンスである。

$ tar xjvf /.../shd-tcp-tools-0.05.tar.bz2
$ cd shd-tcp-tools-*
$ ./configure
$ make
$ sudo make install

 shd-tcp-toolsを構成する主要なツールは、単方向のTCPパイプを作成するtcppipe、TCPでの双方向ポートフォワーディングを可能とするtcp-pf、中間ホストを介したポートフォワーディングをセットアップするためのlistentwoおよびconnecttwoである。

最終更新:2009年03月17日 17:07