我可以通过直接点击我的网络服务器来访问一个网页,如下所示:
$ echo "GET /sample" | nc web-server 80
This is contents of /sample...
$
Run Code Online (Sandbox Code Playgroud)
现在,我希望 netcat 通过 Squid HTTP 代理(侦听端口 3128),就像我可以通过其代理首选项配置我的 Firefox 浏览器并让它通过 HTTP 代理运行一样。
我尝试了以下方法,但没有奏效:
$ echo "GET /sample" | nc -x squid-proxy:3128 web-server 80
<Seemed to be blocked FOREVER on input, so I killed it.>
<Ctrl-C>
$
Run Code Online (Sandbox Code Playgroud)
注意:我使用的是 RHEL 5.3 版本的 netcat,它具有以下选项:
$ nc --help
nc: invalid option -- -
usage: nc [-46DdhklnrStUuvzC] [-i interval] [-p source_port]
[-s source_ip_address] [-T ToS] [-w timeout] [-X proxy_version]
[-x proxy_address[:port]] …Run Code Online (Sandbox Code Playgroud) 我可以轻松地使用 Netcat(或 Socat)来捕获我的浏览器和特定主机:端口之间的流量。
但是对于 Linux,是否存在类似 Squid 的 HTTP 代理的任何命令行对应物,我可以使用它来捕获我的 HTTP 客户端(浏览器或命令行程序)和任意主机:端口之间的流量?
我的系统运行 Fedora 16,我住在一个校园里,我们使用 LAN 连接到 Internet。为此,我们使用带有身份验证(用户名和密码)的 http 代理。proxyaddress:port转到“网络设置”窗口后,我尝试将其放入网络代理设置。但是,它从不要求身份验证,并且使用 Internet 的程序无法连接,除了 Firefox,因为它要求身份验证。此外,我可以通过手动编辑yum.conf. 我什至尝试http://username:password@proxy:port在 Yum 配置中使用like 但它没有帮助。
这个问题有什么解决办法吗?
谢谢你。
我想在我的本地网络上为 Fedora 软件包创建一个 RPM 存储库。由于存储限制,我希望存储库最初为空,并在访问后下载包。
我经常使用本地虚拟机。每当我创建一个新的VM并安装Fedora时,都会从互联网上下载很多软件包,并且大多数下载的软件包都是相同的。为了加快这个过程,我希望将 RPM 缓存在位于同一网络上的服务器上。
类似的问题已经用createrepo&的组合回答了reposync。我不喜欢这reposync部分,因为当我只需要一些包时,我不想预先克隆整个存储库。
我希望本地网络上的服务器充当我的 Fedora 安装的 RPM 存储库。它应该从/etc/yum.repo.d/*. 如果请求的 RPM 存在于本地缓存中,则服务器应该传送它,否则下载它然后传送它。
一种不那么雄心勃勃的方法是配置单个 RPM 存储库,而不是https://mirrors.fedoraproject.org/...仅使用 http 代理。
我已经在网络上运行Nginx上,所以我打得四处的组合proxy_pass和proxy_cache。它有点工作,但恕我直言,它弊大于利:
/etc/yum.repo.d/*。metadatafrom https://mirrors.fedoraproject.org/。我删除了 nginx 的东西并安装了squid,正如评论中所建议的那样。squid对我很有用。通过store_id_program配置,我什至可以使用备用镜像并且仍然命中缓存,无论 RPM 最初来自何处。
我们有一个 Squid 网络缓存设置,用于缓存包下载,因此这里的所有机器不必独立重新下载所有内容。安装程序会提示您提供镜像和代理。只要每台机器使用完全相同的镜像(此处为http.us.debian.org)和代理,它就可以工作。
这有点烦人,因为它涉及“手动输入信息”并每次都输入(正如安装程序所做的那样ftp.us.debian.org,Squid 没有意识到这是相同的)。
安装程序默认为 just mirror,有没有办法让它工作?所以我可以偷懒,直接输入一堆?
当特定用户在 bash 登录 shell 中调用时,我可以配置w3m为Squid默认使用吗?
我查看了w3m配置文件,但没有看到任何可以设置squid为默认代理的设置。
我一直在我的一台服务器上使用 Squid 作为透明代理很长一段时间(几年)。
基本上从客户端,我在我的客户端和 ssh + Squid 服务器之间创建了一个 SSH 隧道,这样做:
ssh -T -N -x -C -L3128:127.0.0.1:3128 cedric@xxx
Run Code Online (Sandbox Code Playgroud)
然后我会启动我的网络浏览器(chromium),在端口 3128 上的 127.0.0.1 上为它提供一个代理服务器。
这在很长一段时间内都运行良好,但后来我开始在许多网站(论坛、使用 Google 作为登录权限的 stackexchange 等)上出现日志问题。有些一直工作正常(如 GMail 和所有 GMail 服务)。我不知道是什么导致了登录问题:我认为这是由于我升级服务器的操作系统和软件时的一些 Squid 配置问题。
所以我考虑建立一个 VPN,但后来通过阅读一篇名为“SSH 作为穷人的 VPN”的文章,我意识到我可以使用 SSH 并简单地从客户端执行此操作:
ssh -D 5222 cedric@xxx -N
Run Code Online (Sandbox Code Playgroud)
然后将我的浏览器配置为使用 127.0.0.1 作为端口 5222 上的 SOCKS 主机。
现在一切正常:所有登录问题似乎都解决了,我什至不再需要服务器上的 Squid。
但是我不明白它是如何工作的。从各种“我的 ip 是什么”网站,我看到了我的服务器地址(这是我想要的)。此外,这些站点似乎没有检测到正在运行的 SSH“隧道”。
基本上我的问题是:从技术上讲,使用 Squid 作为透明代理与使用“SSH -D ... -N”和使用 VPN 之间的区别是什么?
从我访问的网站的角度来看,有什么不同吗?
另外我想知道在使用“SSH -D ... -N”时,我正在访问的网站是否有任何方式能够检测到我的真实IP?这在技术上是否可行,还是浏览器根本无法获得该信息?
我住在这个国家的偏远地区,互联网方面。我使用基于卫星的互联网,但它在高峰交通时间有很多问题。
我研究了一下,发现了 Ubuntu Bonding。如果我构建一台 Linux PC 并将我的卫星 Internet 连接到 NIC,以及一个用于 3G/4G 的 Netgear Aircard,Ubuntu Bonding 是否允许我在各种质量状态下使用这两个连接?我也应该添加squid缓存吗?或者这是不同问题的解决方案?
我想使用 RaspberryPi,但它没有千兆以太网,可能会降低整体体验。可能会使用旧电脑。
一般接受的是使用HTTP_PROXY/HTTPS_PROXY环境变量来指定代理服务器的使用。身份验证可以包含在该 URL 中,例如HTTP_PROXY=http://user:pass@myproxy.mydomain.tld:3128/。
但是,我使用 Kerberos SSO 通过代理进行身份验证。我该如何配置呢?因此,假设 Squid 代理服务器配置如下所述: https: //wiki.squid-cache.org/ConfigExamples/Authenticate/Kerberos。它描述了 Windows 客户端如何通过协商使用代理身份验证,但没有信息如何配置 Linux/Unix 客户端。
对于 cURL,使用--proxy-negotiate -u :可以解决问题,例如:
HTTPS_PROXY=http://myproxy.mydomain.tld:3128/ curl --proxy-negotiate -u : https://www.google.com
Run Code Online (Sandbox Code Playgroud)
如何告诉非 cURL 应用程序使用此机制?例如 Debian/Ubuntu APT 带有Acquire::http::Proxy "http://myproxy.mydomain.tld:3128/";?
我发现cntlm充当中间另一个本地运行的代理,促进来自本地主机的未经身份验证的连接。但是,这仅适用于 NTLM,而我需要 Kerberos。Squid 是否能够使用 Kerberos 作为客户端进行连接?众所周知,在代理服务器的传出连接上找到身份验证功能似乎非常困难。所有这些似乎都集中在侦听套接字上的身份验证功能上。
我想安装 FreeBSD 以在其上运行鱿鱼缓存服务器。我想知道如何使此安装尽可能小?
我在虚拟机上安装了仅引导 ISO 文件,但它占用了大约 600 兆字节。顺便说一下,它是一台旧机器,所以我希望它在这个最小尺寸下工作。
是否有任何脚本可以只下载所需的文件,哪个文件系统最适合鱿鱼缓存保存分区?
squid ×10
proxy ×5
fedora ×2
http ×2
http-proxy ×2
apache-httpd ×1
bonding ×1
cache ×1
command-line ×1
debian ×1
freebsd ×1
gnome ×1
kerberos ×1
mobile ×1
netcat ×1
raspberry-pi ×1
rpm ×1
satellite ×1
ssh ×1
w3m ×1