Skip to content

Amazon Linuxのsquidで帯域制御したフォワードプロキシをたててみる

mechamogera edited this page Oct 13, 2012 · 5 revisions
  • 帯域制御したフォワードプロキシ使えたら遅い回線のテストが出来るんじゃない?と思ってやってみた。
  • 最初はhttpdとmod_proxyでやろうとしたけどうまいこと情報が見つけられなかった。
  • => うまくいったかな。

構築環境

  • OS:Amazon Linux 64bit
  • squid:3.1.10-1
  • WebProxyの設定:
  • ポート:8080
  • 認証:digest
  • 認証がないとつなぎ放題だし、basic認証だとユーザ名、パスワードがだだ漏れなので
  • 帯域制御:64 kbps == 8 kbytes/s
  • ISDNくらいの速度

実行手順

  1. パッケージインストール
  • httpdを入れるのはhtpasswdコマンドを利用するため
$ sudo yum -y update
$ sudo yum -y install squid httpd
  1. digest認証用のユーザ作成
$ sudo htpasswd -bcp /etc/squid/passwd user password
$ cat /etc/squid/passwd
user:password
  1. squid設定
$ sudo cp /etc/squid/squid.conf{,.org}
$ sudo vi /etc/squid/squid.conf
$ sudo diff -U 1 /etc/squid/squid.conf{.org,}
--- /etc/squid/squid.conf.org	2012-10-13 10:32:54.758866115 +0000
+++ /etc/squid/squid.conf	2012-10-13 11:28:44.803874537 +0000
@@ -47,5 +47,17 @@
 
-#
-# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
-#
+auth_param digest program /usr/lib64/squid/digest_pw_auth /etc/squid/passwd
+auth_param digest children 20 startup=0 idle=1
+auth_param digest realm My Proxy
+auth_param digest nonce_garbage_interval 5 minutes
+auth_param digest nonce_max_duration 30 minutes
+auth_param digest nonce_max_count 50
+
+acl proxyauth proxy_auth REQUIRED
+http_access allow proxyauth
+
+acl internet src all
+delay_pools 1
+delay_class 1 1
+delay_access 1 allow internet
+delay_parameters 1 8000/8000
 
@@ -61,3 +73,3 @@
 # Squid normally listens to port 3128
-http_port 3128
+http_port 8080
  1. squid起動
 $ sudo /etc/init.d/squid start
  1. 確認
  • ブラウザの設定でプロキシサーバーとしてEC2インスタンスのPublic DNS名と8080ポートを設定する
  • => OK:プロキシ認証が求められ設定したuser、passwordを入力するとwebの閲覧可能
  • 確認くん(VIA the UGTOP)で接続元を確認する
  • => OK:EC2のIPアドレス、Public DNS名が表示されている
  • BNR スピードテスト 回線速度/通信速度 測定にアクセスして回線の速度を計測してみる
  • => OK:おおよそ64kbpsの速度となる

参照サイト

Clone this wiki locally