ProxyOnI83Vps¶
- Table of contents
- ProxyOnI83Vps
i-83.netの256MB VPS(4.5ポンド/年)にSquid(プロキシサーバ)をインストールしてみた記録です。
海外VPSサービスを使う狙いは、激安なのも理由の一つですが、www.nutaku.netのアイギスを遊びたいからだったりします。
これを書いたときの各種ソフトのバージョン¶
仮想マシンイメージ | centos-7-x86_64-minimal |
OS | CentOS Linux release 7.3.1611 (Core) |
Kernel | 2.6.32-042stab120.11 |
Squid | 3.5.20 |
Cygwin(Windows10上) | 2.7.0 x86_64 |
ログインする¶
TeraTermなどのSSHクライアントが必要です。
SSHクライアントに指定するIPアドレスは、実マシンのものになります。
PayPal等での支払いが済むと、登録したメールアドレスに対してquadhost.netから「Your New NAT VPS has been Deployed!」というメールが届きます。
実マシンのIPアドレスは、メールのthis listのリンクか、またはquadhostのSupport-Knowledgebaseの「Find your IPv4 NAT Instance Public IPv4 Address」という記事で調べられます。
利用している実マシンの名前は、Manage Productの画面のOnlineのところに書いてあります。
仮想マシンのIPアドレスは、メールにMain IPとして書かれています。
そのアドレスがたとえば192.168.64.123なら、TeraTermなどのSSHクライアントで実マシンのIPアドレスの12322番ポートに接続できます。(実マシンの12322番が仮想マシンの22番にリダイレクトされる)。
ログインして最初にやること¶
yum update
あと、 http://mawatari.jp/archives/check-centos-version 等を参考にしてCentOSのバージョンの確認をします。結果が7.3.1611と異なるなら、このWiki記事(ProxyOnI83Vps)は適用できないかもしれません。
使用可能なポートの範囲を確認する¶
Primary IPがたとえば192.168.64.123なら、12301~12320が使用可能です。
実マシンの12301~12320が仮想マシンの12301~12320にリダイレクトされるようです。
SquidやApacheをいきなり使うと本当にそのポートが利用できるかがわかりづらくなるので、iperfをインストールして使いましょう。
yum install epel-release yum install iperf
仮想マシン側で、たとえば iperf -s -p 12301 とします(123の部分は仮想マシンのPrimary IPに応じて読み替える)。終了はCtrl-Cです。
ローカル側はCygwinかLinuxマシンを使います。 iperf -c <実マシンのIP> -p 12301 とします。終了はCtrl-Cです。
私がNZの仮想マシンに接続したときは、Bandwidth 1.76Mbits/secと出ました。遅いですが、プロキシ経由でアイギスを遊んでもさほどストレスを感じませんでした。
プロキシを立てる前に¶
yum install lynx
lynxをインストールして、www.nutaku.netに接続してもDMMに飛ばされないことを確認します(この時点でダメならプロキシサーバを立てる価値がないので)。
Squidの設定¶
yum install squid yum install vim
適当な箇所(たとえば~)に/etc/squid/squid.confをバックアップしておいてから、vim /etc/squid/squid.confを編集します。
http://qiita.com/pcnikki/items/404329f9ad9cb6e235d4 等を参考にしています。
- 73行目の http_access deny all を#でコメントアウトします。
- http_portを使用可能な番号(xxx01~xxx20)に変更します。
- ファイルの最後に以下を追記します。
visible_hostname ashidan.dip.jp acl myacl src ???.???.???.??? http_access allow myacl http_access deny all forwarded_for off request_header_access X-Forwarded-For deny all request_header_access Via deny all request_header_access Cache-Control deny all
visible_hostnameはVPSにつけた名前に直します。
acl myacl srcのIPアドレスは、プロキシを利用するホストのグローバルIPアドレスに直します。たとえばお使いのPCからhttps://www.cman.jp/network/support/go_access.cgi をアクセスすればグローバルIPがわかります。
編集を終了したら以下を打ち込みます。
squid -z systemctl start squid
この時点で、適当なブラウザからプロキシ接続が行えるようになっているはずです。
うまくいっていたら、以下を打ち込んで、仮想マシンが再起動したときにもSquidが自動的に起動するようにします。
systemctl enable squid
ファイアウォールの設定¶
yum install firewalld systemctl start firewalld
この時点でfirewalldの働きによりプロキシサーバへ接続できなくなるはずなので、試してみてください。
プロキシのポートへの接続を許可するため、以下を設定します。
firewall-cmd --add-port <プロキシサーバの公開ポート>/tcp
この時点でプロキシサーバへ接続できるようになります。
(squid.confで特定ホストからの接続のみ許可しているため、firewalldでは特定ホストから、の条件は不要です。)
接続がうまく行ったら、恒久的に設定が有効になるように以下のように打ち込みます。
firewall-cmd --permanent --add-port <プロキシサーバの公開ポート>/tcp systemctl restart firewalld systemctl enable firewalld
設定が反映されているかの確認は以下です。
firewall-cmd --list-all
Squidのキャッシュ動作を無効化する¶
http://qiita.com/bloodia/items/1162be5a441767c7c3ba を参考にしてください。
Chrome用拡張機能 Proxy Switcherでの設定例¶
nutakuだけプロキシ経由であとはダイレクト接続する場合、PAC ScriptタブでInlineを選び、以下のように書き込みます。
function FindProxyForURL(url, host) { if ( isInNet(host, "10.0.0.1", "255.0.0.0") || isInNet(host, "127.0.0.0", "255.0.0.0") || isInNet(host, "192.0.0.0", "255.0.0.0") ) return "DIRECT"; else if (shExpMatch(host, "*.nutaku.net") || shExpMatch(host, "*.nutaku.com")) return "PROXY <自分のVPSのIPアドレス>:<自分のVPSのプロキシポート番号>"; else return "DIRECT"; }
FireFox用のProxy Swicherなら、ローカルディスクに上記内容のファイルを作って、Automaticタブでfile:///c:~と書いて読み込ませればokです。
Android版Firefoxでのプロキシ設定¶
AndroidであってもブラウザがFirefoxであればプロキシの設定が可能です。
- Chrome用拡張機能 Proxy Switcherでの設定例 に書いた内容をsdカードのDownloadフォルダに保存する
- Firefoxを起動し、アドレスにabout:configを入力する
- 文字列proxyを検索する
Count of this page : 414
Updated by mole lord over 1 year ago · 2 revisions