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

F_S*_*O_K 2 ubuntu proxy squid http-proxy

我想设置一个Elite HTTP代理。一个精英代理不应该让有关源到目的地址的任何信息。我为此目的租用了Ubuntu虚拟专用服务器。代理应该受密码保护,以便只有我可以使用它。我想使用Squid作为代理。

有哪些步骤可以实现?

F_S*_*O_K 6

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

sudo apt-get update
sudo apt-get install squid3
sudo apt-get install apache2-utils
Run Code Online (Sandbox Code Playgroud)

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]
Run Code Online (Sandbox Code Playgroud)

在上面的行中,将USERNAME替换为您要在代理服务器上使用的用户名。执行该行后,将提示您输入用户密码。

测试密码存储

/usr/lib/squid3/basic_ncsa_auth /etc/squid/passwords
Run Code Online (Sandbox Code Playgroud)

执行完这一行后,控制台将看起来像挂起了一样,出现了一个提示符,其中没有任何文本。输入“ USERNAME PASSWORD”(用您的特定用户名和密码替换),然后按回车键。您应该收到响应“确定”。如果不是,请查看错误消息,您的用户名/密码可能不正确。它的basic_ncsa_auth也可能位于其他路径(例如lib64)上。

配置鱿鱼代理

移动默认的鱿鱼配置文件

sudo mv /etc/squid/squid.conf /etc/squid/squid.conf.original
Run Code Online (Sandbox Code Playgroud)

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

vi /etc/squid/squid.conf
Run Code Online (Sandbox Code Playgroud)

哪个看起来应该像这样

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
Run Code Online (Sandbox Code Playgroud)

这是每行的说明:

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

重新启动鱿鱼代理

service squid restart
Run Code Online (Sandbox Code Playgroud)

请注意,该服务也可以称为squid3。代理可能需要一段时间才能重新启动。如果愿意,可以使用以下命令重新加载鱿鱼配置

squid -k reconfigure
Run Code Online (Sandbox Code Playgroud)

检查其工作

service squid status
Run Code Online (Sandbox Code Playgroud)

该服务应正在运行。

netstat -ltnp
Run Code Online (Sandbox Code Playgroud)

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

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

在此处输入图片说明

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