ホーム DoRuby CentOSにstoneをインストールしてみた

CentOSにstoneをインストールしてみた

この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

サーバ内の任意のポートへのアクセスはSSHトンネルでも出来ますが、毎回SSH接続しなければならないのは面倒と言う事で、CentOSにstoneをインストールしてみました。
stoneはTCP/UDPのリピーターです。指定したサーバへ中継してくれます。

●stoneインストール

# cd /usr/local/src
# wget http://www.gcd.org/sengoku/stone/stone-2.3e.tar.gz

# tar zxvf stone-2.3e.tar.gz
# cd stone-2.3d-2.3.2.7
# vi Makefilelinux:
$(MAKE) FLAGS=”-O -Wall -DCPP=’\”/usr/bin/cpp -traditional\”‘ -DPTHREAD -DUNIX_DAEMON -DPRCTL -DSO_ORIGINAL_DST=80 -DUSE_EPOLL -D_GNU_SOURCE $(FLAGS)” LIBS=”-lpthread $(LIBS)” stone
↑makeに失敗するので、「-D_GNU_SOURCE」を追加します。# make linux
↑linux-sslだとmakeに失敗するので、linuxにしました。
※エラーが出なければOK

# mv stone /usr/bin/
# ln -s /usr/bin/stone /usr/local/bin/stone

# cd ..
# rm -fr stone-2.3d-2.3.2.7

●stone起動

今回はTCP80/443に来たリクエストを同じネットワーク内の192.168.x.xに同じポートで流す事にしました。
ApacheのProxyPassでも同じような事は出来ますが、スマートじゃない気がしたので、stoneを採用しました。
iptables等でポート制限している場合は解除してください。
# stone 192.168.x.x:80 80 &
# stone 192.168.x.x:443 443 &

●stone自動起動設定

再起動しても自動起動するようにrc.localに追加しておきます。
# cd /etc
# cp -a rc.local rc.local,201311
# vi rc.local/usr/bin/stone 192.168.x.x:80 80 &
/usr/bin/stone 192.168.x.x:443 443 &

記事を共有

最近人気な記事