Sakura VPSにproxyの定番『squid』、イカちゃんを導入します。proxyは一部では串とも呼ばれ、自分のIPアドレスを隠蔽して、代わりにproxyサーバーのIPになりすます事ができますが、本来はネットワーク内のキャッシュサーバーとして使ったりします。
海外の怪しいサイトなどを閲覧する時など、自分のIPを隠すことができるので匿名性が高まりますが、今回のように自分が契約しているVPSにproxyを立てても契約してるVPSのIPが残るので、匿名性としてはあまり意味を成しません。しかしWEBサービスのデバッグなど、何か理由があって違うIPからアクセスしたい場合などに役立ちます。
作業の流れ
導入はそれほど難しくありません。作業の流れは、
- squidのインストール&設定
- ポートを開放
- テスト
- ブラウザに設定
となります。
私はこちらの記事を参考にさせて頂きました。記事通りで無事インストールできます。
[Proxy]プロキシサーバーの構築 squid+さくらVPSを匿名性Aのプロキシサーバーに|Web系オーライLinux
squidのインストールと設定
yumでインストールして設定ファイルを記述。
# yum install squid
# vi /etc/squid/squid.conf
/etc/squid/squid.conf
許可ホストは自分のローカルIPのみとしました。
acl CONNECT method CONNECT
#許可ホストの定義
acl allow_hosts src xxx.xxx.xxx.xxx/32
http_access allow allow_hosts
http_access allow localhost
#端末のローカルIPを隠蔽
forwarded_for off
# And finally deny all other access to this proxy
http_access deny all
# Squid normally listens to port 3128
#http_port 3128
http_port 8080
#匿名プロキシサーバーを定義
visible_hostname unknown
forwarded_for off
request_header_access X-FORWARDED-FOR deny all
request_header_access Via deny all
request_header_access Cache-Control deny all
記述できたらsquid再起動。
# service squid restart
ポート開放
# vi /etc/sysconfig/iptables
iptables
squidで使うポートは8080としたので、80の次に8080を追記。
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
iptables反映。
# service iptables restart
テスト
VPS内のtelnetで一応テストしますが、標準ではtelnetが入っていなかったのでインストール。あとは8080ポートに入れればOK。 適当に『GET /』などでルートを取得してみたり。
# yum install telnet
# telnet localhost 8080
Trying ::1...
Connected to localhost.
Escape character is '^]'.
GET /
次はローカルからテスト。同じくtelnetでvpsの8080にアクセス。ここで入れなければ原因はファイアーウォールっぽいのでiptablesをチェック。
無事に動いたら、一応どんなログが残るか見てみたり。
# cat /var/log/squid/access.log
今後、squidを自動起動させる場合はこんな感じで。
# chkconfig squid on
ブラウザに設定
あとはお使いのブラウザにあわせて設定を。私はChrome拡張機能『Falcon Proxy』でワンタッチで切り替えできるようにしました。
プログラミングで悩んだ時は
93%の回答率が売りのエンジニアのための無料Q&Aサイト「teratail」。長く悩んでも答えが出ない時の為に、登録しておけば助かるかもしれません。