格安VPSであるABLENETにてDELEGATEによるHTTPプロキシ/FTPプロキシサーバーを構築してみたので、その備忘録代わりに載せておきます。
プラン:KVM 512M
OS:CentOS 6.6
こういうのを検索する人には分かりきったことかと思いますので、VPSとはなにかとかABLENETがなにかとかは省略します。
それとvimの使い方も書きませんので適宜脳内補完して下さい。
ということで以下にHTTPポート:8080 , FTPポート:21 , SSHポート:2200での設定例を記載します。
なおHTTPは使い勝手確保のためにプロキシ特有の環境変数を出力しないような設定としており、
診断くんによるプロキシ判定で”総合評価:?(A 以上 or 生 IP)”と診断される設定です。
いわゆる匿名串というやつです。
FTPについてはNextFTPにてPASV接続を確認しております。
一度、設定してしまえば極めて安定しているので放置運用となるかと思います。
そのため踏み台にされないようにセキュリティには充分に配慮してください。
###ABLENETのコントロールパネルのコンソールから操作
###ツ黴ホスト名の設定
$ツ黴vi /etc/sysconfig/network
適宜変更 ex)h000-00-00-00
### hostsの設定
$ vi /etc/hosts
127.0.0.1ツ黴ツ黴ツ黴ツ黴ツ黴ツ黴 localhost localhost.localdomain
000.00.00.00ツ黴ツ黴h000-00-00-00 h000-00-00-00.vps.ablenet.jp
### ネットワーク設定
$ vi /etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT=yes
BOOTPROTO=none
IPADDR=グローバルIPアドレス
NETMASK=255.255.255.0
GATEWAY= 指定のアドレス
DNS1=指定のアドレス1
DNS2=指定のアドレス2
$ service network restart
→(もしくは/etc/init.d/network restart)
###SSHのポート変更
$ vi /etc/ssh/sshd_config
Port 2200
$ service sshd restart
### ここから先はSSH経由でターミナルが使える
###ファイアウォール設定
$ vi /etc/sysconfig/iptables
===========(ここから)
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -p tcp -m state –state NEW -m tcp –dport 20 -j ACCEPT
-A INPUT -p tcp -m state –state NEW -m tcp –dport 21 -j ACCEPT
-A INPUT -p tcp -m state –state NEW -m tcp –dport 22 -j ACCEPT
-A INPUT -p tcp -m state –state NEW -m tcp –dportツ黴2200 -j ACCEPT
-A INPUT -p tcp -m state –state NEW -m tcp –dport 8080 -j ACCEPT
COMMIT
===========(ここまで)
### PassiveFTP許可
$ modprobe ip_conntrack_ftp
$ cp -p /etc/sysconfig/iptables-config iptables-config.bak
$ vi /etc/sysconfig/iptables-config
IPTABLES_MODULES=”ip_conntrack_ftp”
###ネットワーク再起動
$ service iptables restart
###ファイアウォール起動状態確認
$ chkconfig network on
$ chkconfig –list iptables
→(3:OnになってればOK)
###パッケージ更新
$ yum install wget
$ yum install make
$ yum install gcc-c++
$ yum install libstdc++
$ yum install libstdc++-devel
$ yum install openssl-devel
$ yum update
###一度再起動
$ reboot
### DELEGATE導入準備
$ cd /usr/local/src
$ wget ftp://delegate.hpcc.jp/pub/DeleGate/delegate9.9.13.tar.gz
$ tar zxvf delegate9.9.13.tar.gz
$ cd delegate9.9.13/src
$ PATH=$PATH:/usr/bin/gcc
$ export PATH
###DELEGATEインストール
$ make PATH=”.:$PATH” CC=gcc
→途中メールアドレスの入力を求められるので入力
→間違えても一端Enter押下して[n]を選べば再入力できる
$ cp delegated /usr/sbin
###DELEGATEバイナリに署名をする
$ /usr/sbin/delegated -Fesign -w
###DELEGATEログ設定
$ mkdir -p /var/delegate/log
$ chown -R nobody:nobody /var/delegate/log
$ mkdir /var/delegate/cache
$ chown -R nobody:nobody /var/delegate/cache
$ ln -s /var/delegate/log /var/log/delegate
$ mkdir /etc/delegate
$ vi /etc/passwd
delegate:*:10001:10001:delegate daemon:/var/delegate:
$ vi /etc/group
delegate:*:10001:
$ chown -R nobody:nobody /var/delegate
###DELEGATE HTTP設定
→BASIC認証のユーザー名:パスワードは各自で事前に決めておくこと
→PERMITは私のISPのトップレベルドメインを指定したが各自の好みで変更して下さい
$ vi /etc/delegate/delehttp.conf
===========(ここから)
SERVER=http
RESOLV=cache,file:/etc/hosts,dns,sys,nis
LOGFILE=”/var/delegate/log/delehttp_[date+%m-%d].log”
CACHE=do
CACHEDIR=”/var/delegate/cache”
CONNECT=c,d:*:*
PERMIT=”*:*:*.net,*.jp”
HTTPCONF=’kill-head:Via,HTTP-VIA,DeleGate-Ver’
HTTPCONF=’add-qhead:CONNECTION:keep-alive’
AUTHORIZER=-list{ユーザー名:パスワード}
CRON=’0 3 * * * -expire 2′
===========(ここまで)
###DELEGATE FTP設定
→BASIC認証のユーザー名/パスワードは各自で事前に決めておくこと
→PERMITは私のISPのトップレベルドメインを指定したが各自の好みで変更して下さい
vi /etc/delegate/deleftp.conf
===========(ここから)
SERVER=ftp
STLS=-fcl
RELAY=proxy
LOGFILE=”/var/delegate/log/deleftp_[date+%m-%d].log”
PROTOLOG=”
PERMIT=”*:*:*.net,*.jp”
AUTHORIZER=-list{ユーザー名:パスワード}
===========(ここまで)
###DELEGATE起動
$ delegated -P8080 +=/etc/delegate/delehttp.conf
$ delegated -P21 +=/etc/delegate/deleftp.conf
###DELEGATE終了
$ delegated -P8080 -Fkill
$ delegated -P21 -Fkill
ちなみにDELEGATEの自動起動は必要を感じてないので設定してません。
リブートしたら手動でDELEGATE起動して下さい。