5分で作るPROXYサーバー

  • 225
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

海外のサイトを利用する時、日本のIPを遮断されていて困ったことはありませんか?
もしくは海外のサイトに行くと、海外のサイトのまま利用したいのに強制的に日本のページに飛ばされたり。
普通に考えると日本に住んでいる限り、接続元IPは日本国内のプロパイダ提供のIPしか使えません。
ではどうするか?
ITのテクニックを使えば接続元IPを海外のものに変更することが可能です。

具体的な方法は目的の海外の国内に、PROXYサーバーを立てるのが一般的な方法です。
海外にサーバー立てるのなんて大変そう!
と思うのは過去の話。
今ではVPSと言う安価な仮想サーバーを各国に置くことができるのです。
そこにVPSをセットアップしてPROXYサーバーを立てます。

なんと下記の手順で行えば5分で準備できるのです。

事前準備

事前準備としてVPSでCentOS5 or CentOS6をセットアップして、SSHログインできるところまで進めておいて下さい。

海外にVPSを構築する場合はリージョンが海外になる事業者と予め契約しておきます。
有名なところは以下です。
・AmazonEC2(http://aws.amazon.com/jp/ec2/)
・DegitalOcean(https://www.digitalocean.com)
・linode(https://www.linode.com/)

パッケージインストール

まずはテキストエディタとPROXYサーバーのパッケージをインストールします。
PROXYサーバーは「squid」を使用します。

sudo su -
yum -y install vim-enhanced
yum -y install squid

squid設定編集

インストールが終わったらsquid設定ファイルを修正します。
下記内容を設定ファイルの一番下の行に追記して下さい。

vim /etc/squid/squid.conf

追記する前にデフォルトのこの2行は#をつけてコメントアウトした上で、

#http_access deny all
#http_port 3128

下記を最下行に追記して下さい。

# ホストネームは任意のものを。
visible_hostname myproxygogo.info

# ポート8080は一般的すぎるので使いません。
http_port 60088

# xxx.xxx.xxx.xxxはあなたのIPを記述する。
# わからなければ
# http://www.ugtop.com/spill.shtml
# ここの「現在接続している場所(IPv4)」のIPを書きます。
acl myacl src xxx.xxx.xxx.xxx/255.255.255.255
http_access allow myacl
http_access deny all

# プロキシサーバーを使用している端末のローカルIPアドレスを隠蔽化
forwarded_for off

# プロキシ経由でアクセスしていることをアクセス先に知られないようにする
header_access X-Forwarded-For deny all
header_access Via deny all
header_access Cache-Control deny all

squidの起動

初回キャッシュクリア

squid -z
service squid start

ファイヤーウォールの設定

ファイアーウォールを設定します。これをちゃんとやらないと第三者に踏み台にされてしまいます。

vim /etc/sysconfig/iptables

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:FWINPUT - [0:0]
-A INPUT -j FWINPUT
-A FORWARD -j FWINPUT
-A FWINPUT -i lo -j ACCEPT
-A FWINPUT -p icmp --icmp-type any -j ACCEPT
-A FWINPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# xxx.xxx.xxx.xxxは自身の接続元IPに置き換える
-A FWINPUT -p tcp -m tcp --dport 22 -s xxx.xxx.xxx.xxx -j ACCEPT
-A FWINPUT -p tcp -m tcp --dport 60088 -s xxx.xxx.xxx.xxx -j ACCEPT
-A FWINPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT

ファイアーウォールを設定を適用します。

iptables-restore < /etc/sysconfig/iptables

以上でPROXYサーバーの構築が完了しました。

動作確認

「確認くん」でIPがVPSのIPになっていれば成功です。
http://www.ugtop.com/spill.shtml

最後に

こちらに図付きの解説記事を紹介しています。
http://pcnikki.hatenadiary.jp/entry/2014/12/06/205527

追記

海外VPS業者に「linode」を追加しました。