Ubuntu 12.04使用Squid创建HTTP代理

Squid是代理/缓存应用程序,拥有丰富的配置和用途的。 本文将介绍如何使用Squid建立HTTP代理。 请注意,您的原始IP地址会附加到请求头X-Forwarded-For,除非您按照指南最后一章节匿名流量的介绍,否则你的流量不会是匿名, 此外,流量没有加密,你的流量仍然存在被嗅探的可能性。

安装Squid



1.Squid可以从Ubuntu存储库中安装。 安装前请确保系统是最新的,然后再安装Squid,请运行以下命令:

  1. sudo apt-get update
  2. sudo apt-get upgrade
  3. sudo apt-get install squid

2.备份配置

  1. sudo cp /etc/squid3/squid.conf /etc/squid3/squid.conf.default

配置Squid为一个HTTP代理



Squid代理可以用作HTTP代理以绕过本地网络限制或隐藏您的真实IP。

基本配置

本节介绍配置Squid为HTTP代理的最简单方法,仅使用客户端IP地址进行身份验证。
1.编辑Squid配置文件并添加以下行:
/etc/squid3/squid.conf

  1. acl client src 12.34.56.78 # Home IP
  2.   http_access allow client

请把client替换为易于识别的名称。并将12.34.56.78替换为你的本机IP地址。 注释#Home IP不是必需的,但注释可用于帮助识别客户端。
2.一旦您保存并退出该文件,重新启动Squid:

  1. sudo service squid3 restart

3.此时,您可以配置本地浏览器或操作系统的网络设置,将你的服务器用作HTTP代理。 怎么配置取决于您选择的操作系统和浏览器。 对设置进行更改后,可以用浏览器打开一个网站来查看目前代理是否生效,例如ifconfig,what is my IP等网站。
4.可以通过向/etc/squid3/squid.conf中添加新的acl行来定义其他客户端。 通过将每个acl定义的名称添加到http_access allow行,可以授予对代理的访问权限。

高级身份验证

以下配置设置使用用户名和密码对Squid代理服务进行身份验证访问。
1.您可以使用htpasswd工具生成密码文件。 如果你的服务器安装了Apache,可能htpasswd已经存在。 否则运行:

  1. sudo apt-get install apache2-utils

2.创建一个文件来存储Squid用户和密码,然后更改所有权:

  1. sudo touch /etc/squid3/squid_passwd
  2. sudo chown proxy /etc/squid3/squid_passwd

3.创建用户名密码对:

  1. sudo htpasswd /etc/squid3/squid_passwd user1

将user1替换为你想要设置的用户名。 系统将提示您为此用户创建密码:

  1. New password:
  2. Re-type new password:
  3. Adding password for user user1

您可以重复此步骤来创建新用户。
4.编辑Squid配置文件并添加以下行:
/etc/squid3/squid.conf:

  1. auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid3/squid_passwd
  2.   acl ncsa_users proxy_auth REQUIRED
  3.   http_access allow ncsa_users

5.一旦您保存并退出该文件,重新启动Squid:

  1. sudo service squid3 restart

6.此时,您可以配置本地浏览器或操作系统的网络设置,将你的服务器用作HTTP代理。 连接代理时,您需要提供用户名和密码来做身份验证。 如何设置取决于您选择的操作系统和浏览器。 对设置进行更改后,可以用浏览器打开一个网站来查看目前代理是否生效,例如ifconfig,what is my IP等网站。
7.要删除一个用户的代理访问权限,必须删除squid passwd文件中的对应的行。 每行表示一个用户,格式为user:password hash:
/etc/squid3/squid_passwd

  1. user1:\$p948w3nvq3489v6npq396g user2:\$q3cn478554387cq34n57vn

如果使用Nano编辑,使用命令Control + k将删除光标所在的行。 一旦您保存并退出该文件,重新启动Squid:

  1. sudo service squid3 restart

配置为匿名代理



为了隐藏你的IP地址,您需要将以下行添加到Squid配置文件。

  1. forwarded_for off
  2.   request_header_access Allow allow all
  3.   request_header_access Authorization allow all
  4.   request_header_access WWW-Authenticate allow all
  5.   request_header_access Proxy-Authorization allow all
  6.   request_header_access Proxy-Authenticate allow all
  7.   request_header_access Cache-Control allow all
  8.   request_header_access Content-Encoding allow all
  9.   request_header_access Content-Length allow all
  10.   request_header_access Content-Type allow all
  11.   request_header_access Date allow all
  12.   request_header_access Expires allow all
  13.   request_header_access Host allow all
  14.   request_header_access If-Modified-Since allow all
  15.   request_header_access Last-Modified allow all
  16.   request_header_access Location allow all
  17.   request_header_access Pragma allow all
  18.   request_header_access Accept allow all
  19.   request_header_access Accept-Charset allow all
  20.   request_header_access Accept-Encoding allow all
  21.   request_header_access Accept-Language allow all
  22.   request_header_access Content-Language allow all
  23.   request_header_access Mime-Version allow all
  24.   request_header_access Retry-After allow all
  25.   request_header_access Title allow all
  26.   request_header_access Connection allow all
  27.   request_header_access Proxy-Connection allow all
  28.   request_header_access User-Agent allow all
  29.   request_header_access Cookie allow all
  30.   request_header_access All deny all

一旦您保存并退出该文件,重新启动Squid:

  1. sudo service squid3 restart
标签:squidUbuntu 发布于:2019-11-21 10:47:38