我使用的是Squid proxy 3.1,局域网内的所有系统都通过代理连接到互联网。使用来自网关服务器的 iptables 阻止直接连接。
有些设备没有自动代理或手动代理的选项,只能直接连接到互联网。所以我在 Squid 中启用了透明代理,并使用 iptables 将端口 80 和 443 的数据包重定向到 Squid 代理。
现在的问题是它对 HTTP 端口工作正常,但 HTTPS 不工作。它抛出“ssl_error_rx_record_too_long”错误。
如果无法通过透明代理,请给我建议另一种解决方案。
温暖的问候
苏普拉蒂克
我有一个暴露在互联网上的 Ubuntu 10.04 代理服务器,我有 SSH 服务器来从内部 LAN 和远程管理它。感觉很不安全,即使我使用的是强密码...我曾想过在 Internet 端禁用 ssh,但后来我会失去功能。有什么解决方法吗?我寻找一个非常非常短的“必须做”的清单来提高安全性。
我对 NTLM 了解不多......疯狂的想象力......糟糕的protolol...... grmbl grmbl :D :D :D
这个线程说它不能完成:http : //www.squid-cache.org/mail-archive/squid-users/200708/0578.html
有没有大师可以提供解决方案或解决方法?
这是所需网站的端口 80 上的 telnet 输出:
Trying 111.222.333.444...
Connected to www.extranet-example.com (111.222.333.444).
Escape character is '^]'.
GET /index.htm HTTP/1.1
host: www.extranet-example.com
HTTP/1.1 401 Unauthorized
Server: Microsoft-IIS/7.5
SPRequestGuid: 2764478a-b14a-4541-9110-27ebf4281e84
WWW-Authenticate: NTLM
X-Powered-By: ASP.NET
MicrosoftSharePointTeamServices: 14.0.0.4762
Date: Mon, 25 Nov 2013 14:25:26 GMT
Content-Length:
0
Run Code Online (Sandbox Code Playgroud)
奖励:我们使用 2 个链式代理 (squid-2.6 rhel5) 服务器
编辑:使用 NTLM 进行鱿鱼身份验证不是我们想要实现的。
编辑 2 :我们尝试访问的网站在我们公司之外,在我们的网络之外。实际上它是一个具有公共IP的公共网站。如果我从代理配置中排除这个网站,它将无法工作,因为我们的工作站没有到互联网的路由,也没有直接连接。
我安装了鱿鱼代理服务器来隐藏我们的网络IP,一段时间后它变得很慢,然后我阅读NAT规则以通过代理服务器实现我想要的。根据此链接, NAT 和代理服务器之间的区别在于它们处理用户数量的方式。我们一共8个人,我们的专线网速是2Mbps。
建议我应该改进鱿鱼代理服务器还是只在 mikrotik 路由器中实施 NAT 规则?
附加信息
单独的旧机器用于鱿鱼代理服务器,其中具有 1280 MB RAM、80GB 硬盘和 Pentium 4(2.40Hz) 的 ubuntu 服务器。
Mikrotik 路由器将流量从我的网络转移到代理服务器。
我已经配置了一个有很多父服务器的鱿鱼代理服务器。我已经使用循环分配负载,但我不喜欢它。大多数情况下,5 台服务器中只有一两台服务器在工作。因此有时我会遇到错误。所以我想做的是以某种方式自动选择最好的父母然后连接。可以以某种方式完成吗?
我相信它可以使用ICP来完成。我看到了这个链接,他们正在以某种形式使用它。(我对ICP一无所知)
这是我所做的:
cache_peer parentip1 parent 3128 0 login=username:password round-robin no-query
cache_peer parentip2 parent 3128 0 login=username:password round-robin no-query
cache_peer parentip3 parent 3128 0 login=username:password round-robin no-query
cache_peer parentip4 parent 3128 0 login=username:password round-robin no-query
cache_peer parentip5 parent 3128 0 login=username:password round-robin no-query
Run Code Online (Sandbox Code Playgroud) 我们在 RHEL 服务器上运行 Squid。我们希望阻止用户访问 Facebook,而不是几个特定站点,例如我们组织的页面。不幸的是,如果不让所有 Facebook 都通过,我就无法解锁这些特定页面。
# Local users:
acl local_c src 192.168.0.0/16
# HTTP & HTTPS:
acl Safe_ports port 80 443
# File containing blocked sites, including Facebook:
acl blocked dst_dom_regex "/etc/squid/blocked_content"
# Whitelist:
acl whitelist url_regex "/etc/squid/whitelist"
# I do know that order matters:
http_access allow local_c whitelist
http_access allow local_c !blocked
http_access deny all
Run Code Online (Sandbox Code Playgroud)
.porn_site.com
.porn_site_2.com
[...]
facebook.com
Run Code Online (Sandbox Code Playgroud)
facebook.com/pages/Our-Organization/2828242522
facebook.com/OurOrganization
facebook.com/media/set/
facebook.com/photo.php
www.facebook.com/OurOrganization
Run Code Online (Sandbox Code Playgroud)
我最大的弱点是正则表达式,所以我不能 100% 确定这是否全部正确。如果我删除 http_access 规则的“!blocked”部分,所有 Facebook 都可以正常工作。如果我从blocked_content 文件中删除“facebook.com”,则所有Facebook 都可以正常工作。
现在,访问 …
默认情况下,squid 会记录所有访问信息,包括“成功”和“失败”。我只对记录“失败”感兴趣。换句话说,我想做一些事情,比如只记录 Squid DENIED 结果代码,或者不记录成功的 HTTP 事务。无论我如何定义“成功”和“失败”,我都需要能够更具体地定义 Squid 将写入日志文件的访问信息类型。有人知道怎么做这个吗?
我刚刚开始挖掘鱿鱼,安装它并运行。我想它可以工作(来自本地主机),telnet localhost:3128也可以和curl https://google.com -x localhost:3182.
我希望可以从本地网络访问鱿鱼。我的本地网络是 192.168.88.0/24 (255.255.255.0)。我在 http_access 部分的最后一行之前向 squid.conf 添加了下一行:
http_access allow 192.168.88.0/24
Run Code Online (Sandbox Code Playgroud)
鱿鱼停止工作。我在 http_access 块中只留下了三行,所以完整部分是:
http_access allow localhost
http_access allow 192.168.88.0/24
http_access deny all
Run Code Online (Sandbox Code Playgroud)
curl https://google.com -x 192.168.88.2:3128(从本地网络调用)不起作用。但更令人沮丧的是前一个命令curl http://google.com -x localhost:3128(从本地主机调用)也停止工作,这意味着第二行以某种方式影响了第一行。
在鱿鱼中写入 http_access 块的正确方法是什么?
我的规则有什么问题?我在我的服务器上安装了鱿鱼,我只想通过鱿鱼可以访问一些特定的域,但 iptables 完全阻止了我
我发现了这一点:iptables 规则只允许 HTTP 流量到一个域,我尝试使用我的规则应用和调整它,但我没有成功。
这是我的规则:
iptables -F
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
iptables -I INPUT 1 -i lo -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 5801 -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport …Run Code Online (Sandbox Code Playgroud) 我有一个安装了鱿鱼的公共子网。
假设我的子网是从 1.2.3.2 到 1.2.4.254。
当我设置以下内容时:
http_port 50000
http_port 1.2.3.2:50000
Run Code Online (Sandbox Code Playgroud)
这是工作。
但是当我设置时:
http_port 1.2.4.37:50000
Run Code Online (Sandbox Code Playgroud)
它不工作。
它仅适用于我的子网中的第一个公共 IP。
当它不工作时我得到的错误如下:
commBind: Cannot bind socket FD 10 to 1.2.4.37:50000: (99) Cannot assign requested address
Run Code Online (Sandbox Code Playgroud)
我的配置有什么问题吗?
@Zoredache
我有一个专用服务器,整个子网被定义为IP范围。当我仅使用端口或第一个 IP 并执行操作时
netstat -ntlp | grep 46555
Run Code Online (Sandbox Code Playgroud)
我得到以下信息:
tcp 0 0 0.0.0.0:50000 0.0.0.0:* LISTEN 25532/(squid )
Run Code Online (Sandbox Code Playgroud)
当我使用我的特定 IP 时,netstat 查询将不会显示任何内容,因为服务器未启动。我不希望鱿鱼监听所有或第一个IP,它只是它应该监听的特定IP。
我想在 VPS 上销售代理,但我想知道是否有办法屏蔽 ip,这样他们就无法知道我使用的是哪个提供商。不确定这是否有意义。
目前,我的代理在 iplocation.net 上显示了我的 vps 提供商的名称。