FC2ブログ

    スポンサーサイト

    上記の広告は1ヶ月以上更新のないブログに表示されています。
    新しい記事を書く事で広告が消せます。

    gcpでプロキシサーバーを立てようの巻

    日本からは見れないようなWebサイトを見たくなったので、プロキシサーバーが必要になりました。

    ググれば出てくるようなプロキシサーバーでも構わないんですが、
    ユーザー登録やら課金やらしたいとなると、
    野良のプロキシサーバーだとちょっと怖いので自前で用意することにしました。

    更にどうせなら高速でサクサク動くといいよね!と思ったので、
    googleのクラウドサービスGoogle Cloud Platformを使用して、
    快適なプロキシサーバーを作成してみました。
    (天下のgoogle様のインフラを使ってよこしまなサイトを巡りとか・・・)

    主に備忘録用に取っておくんですが、まぁ誰かの役に立てばと。
    ※googleにログインして、gcpの登録周りが終わってることが前提です。





    1. コンソール画面からプロジェクトを作成します。
      「プロジェクトを作成」をクリック、プロジェクト名に適当な名前を入力して「作成」ボタンをクリック!

      proxy1

    2. プロジェクトの作成が完了したら、「Compute Enginを試す」をクリック。

      proxy2

    3. そこそこ時間がかかりますが、画面が切り替わったら「インスタンスを作成」をクリック。

      proxy3

    4. 名前:適当な名前を。
      ゾーン:アクセスする国を選択。あやしいサイト次第なんですが、自分はアメリカを選択しました。
      マシンタイプ:ハイスペックなサーバーは不要なので、一番安いf1-microのサーバーを。
      ブートディスク:容量は10GBで、「centos-7-v20150423」を使用しました。
      ファイアウォール:両方とも解除(後で設定します。)
      全てを設定したら「作成」をクリック。

      proxy4

    5. 画面が切り替わったら、「ブラウザ ウィンドウで開く」をクリックしてサーバーにアクセスしましょう。

      proxy5

    6. 黒い画面が立ち上がるので、まずは下のコマンドで更新を実行。

      sudo yum -y update


    7. プロキシサーバーのsquidをインストール。文字が凄い勢いで流れるのって興奮するよね。

      sudo yum -y install squid


    8. プロキシサーバーの設定を更新します。
      viの使い方はこっち

      sudo vi /etc/squid/squid.conf


      更新する内容は下の通りです。
      変更、追加部分は赤く塗っています。

      acl CONNECT method CONNECT

      auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/.htpasswd
      auth_param basic children 2
      auth_param basic realm Squid proxy-caching web server
      auth_param basic credentialsttl 10 hours
      acl password proxy_auth REQUIRED


      #
      # Recommended minimum Access Permission configuration:


      # And finally deny all other access to this proxy
      http_access allow password
      http_access deny all
      # Squid normally listens to port 3128
      #http_port 3128
      http_port 31283 ←デフォルトの値だと世界中からアタックされかねないので、適当な値に更新します。


      #
      # Add any of your own refresh_pattern entries above these.
      #
      refresh_pattern ^ftp: 1440 20% 10080
      refresh_pattern ^gopher: 1440 0% 1440
      refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
      refresh_pattern . 0 20% 4320

      forwarded_for off
      visible_hostname unknown
      request_header_access Referer deny all
      request_header_access X-Forwarded-For deny all
      request_header_access Via deny all
      request_header_access Cache-Control deny all
      access_log /var/log/squid/access.log auto
      emulate_httpd_log on


    9. プロキシサーバーへのログイン情報作成用に、httpd_toolsをインストールします。

      sudo yum -y install httpd-tools


    10. インストールが終わったらユーザー名とパスワードを入力します。

      sudo htpasswd -c /etc/squid/.htpasswd hage-user ←適当なユーザー名を入力してください
      New password: ←パスワードを聞かれるので入力します。画面に表示されないんですが、実際に入力はされているのでで慌てず入力しましょう。
      Re-type new password: ←もう一度、同じパスワードを入力します。

      ※もし入力し間違えた場合は、もう一度同じコマンドを実行すればOKです。
       また、悪意ある第三者に勝手に使われたりするとマジでヤバいことになる5秒前なので
       ユーザ名、パスワードはできるだけ複雑なものを入力しましょう。


    11. サーバーが立ち上がった時にsquidが自動的に起動するようにし、その後にsquidを立ち上げてみます。

      sudo systemctl enable squid.service
      sudo systemctl start squid



    12. 一度黒い画面から離れて、squidで指定したポートを受信できるようにサーバーの設定をします。
      「ネットワーク」→「default」→「ファイアウォール ルールを追加」→項目を入力して「作成」をクリックします。
      項目は下の図みたいな感じで入力します。

      proxy6
      proxy7
      proxy8

    13. プロキシ接続のチェックをしてみます。IEでも立ち上げて確かめてみましょう。
      「インターネットオプション」から「接続」→「LANの設定」でサーバーのIPアドレスと指定したポート番号を入力します。
      (サーバーのIPアドレスはVMインスタンスの外部IPに表示されています。)

      proxy9

    14. ユーザーとパスワードを聞かれれば成功です。登録したIDとパスワードを入力しましょう。

    15. 後は日本からのアクセスが禁止されているような所でもなんでも・・・
      (^q^)ふぉぉぉぉぉ





    ほ・そ・く

    • gcpでsquidを使用してみたんですが、awsとかazure、各種vpsでも基本的には同じ流れになります。

    • サーバーを再起動するとIPアドレスが変わるんで、プロキシのIPアドレスを入力しなおす必要があります。
      面倒ならグローバルIPでも用意しましょう。

    • サーバーが動いてる間はどんどん課金されます。
      100万人のユーザーにプロキシサーバーを勝手に使われたりとかするとクラウド破産します。死にます。
      まぁ、まずないですが……不安ならサーバーを停止させておきましょう。

    • ちなみにgoogleのクラウドなら極端に使わない限りは6ヶ月ぐらい無料です。自分はまだお金かかったことないよ。

    • google chromeでプロキシを設定するなら、Proxy SwitchySharpっていうアドオンが便利だよ!(ステマ)



    ここ違うよーとかあったら連絡ください><
    スポンサーサイト

    コメントの投稿

    非公開コメント

             
    最新記事
    最新コメント
    月別アーカイブ
    カテゴリ
    すてま
    検索フォーム
    RSSリンクの表示
    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。