Help us understand the problem. What is going on with this article?

5分で作るPROXYサーバー

More than 3 years have passed since last update.

海外のサイトを利用する時、日本の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」を追加しました。

pcnikki
エンジニア歴30年です。世間ではベテランと言われますが、そんなことはなく日々精進しないとこの業界では生きていけません。IT業界を暗躍中の素敵なおじ様。
https://twitter.com/pcnikki
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした