如何在Ubuntu上设置带密码保护的Elite HTTP Squid代理?

时间:2018-01-13 12:42:58

标签: ubuntu proxy http-proxy squid

我想设置Elite HTTP代理。 Elite proxy不应将有关源的任何信息公开给目标地址。为此,我已经雇用了一个Ubuntu虚拟专用服务器。代理应该受密码保护,这样我才能使用它。我想使用Squid作为我的代理。

实现这一目标的步骤是什么?

1 个答案:

答案 0 :(得分:3)

更新您的APT存储库并安装我们需要的软件

sudo apt-get update
sudo apt-get install squid3
sudo apt-get install apache2-utils

Squid3是代理软件。 htpasswd需要apache2-utils,我们将其用作平面文件密码存储来保护代理。

设置密码库

sudo touch /etc/squid/passwords
sudo chmod 777 /etc/squid/passwords
sudo htpasswd -c /etc/squid/passwords USERNAME
[prompt for new password]

在上面的行中,将USERNAME替换为代理所需的用户名。执行该行时,系统将提示您输入该用户的密码。

测试密码存储

/usr/lib/squid3/basic_ncsa_auth /etc/squid/passwords

执行此行后,控制台看起来像挂起,有一个没有任何文字的提示。输入“USERNAME PASSWORD”(用您的特定用户名和密码替换它们)并点击return。您应该收到“OK”的回复。如果没有,请查看错误消息,您的用户名/密码可能不正确。 basic_ncsa_auth也可能位于不同的路径上(例如lib64)。

配置Squid代理

移动默认的squid配置文件

sudo mv /etc/squid/squid.conf /etc/squid/squid.conf.original

现在创建一个新的squid配置文件

vi /etc/squid/squid.conf

这应该是这样的

http_port 3128
dns_v4_first on
cache deny all
forwarded_for delete
tcp_outgoing_address 9.9.9.9   //-- change this ip
via off
auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid/passwords
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated
http_access deny all

以下是每行的内容说明:

  • http_port:指定代理侦听端口。这是必需的
  • dns_v4_first on:有效关闭IPv6 DNS。如果没有这个,您的代理可能会慢慢运行非常
  • cache deny all:停止代理缓存页面
  • forwarded_for delete:删除将您的源公开到目的地的forwarded_for http标头
  • tcp_outgoing_address:将其设置为服务器的地址。您可以使用命令“ip a”
  • 找到该地址
  • via off:删除更多会泄露您的来源的标题
  • auth_param:定义您创建的basic_ncsa_auth和密码文件的位置。请注意,您可能需要检查basic_ncsa_auth的位置。
  • acl authenticated:为通过密码存储区验证的用户创建访问控制列表
  • http_access allow authenticated:允许用户访问代理(如果已通过密码验证
  • http_access拒绝全部:如果您未通过密码验证,则表示您未进入

重新启动squid代理

service squid restart

注意该服务也可以称为squid3。代理可能需要一段时间才能重新启动。如果您愿意,可以使用命令

重新加载squid配置
squid -k reconfigure

检查其工作

service squid status

该服务应该正在运行。

netstat -ltnp

您应该看到服务侦听端口3128,或者您在配置中使用的任何端口。

在桌面上,打开firefox,转到选项 - >网络代理 - >设置。选择使用手动代理配置。在HTTP代理字段中输入您的服务器的IP地址,并在端口字段中包含该端口。单击确定。

enter image description here

转到Google,在提示时输入您的用户名和密码,搜索“我的IP地址是什么”,您应该看到代理服务器的IP。