Questions tagged «transparent-proxy»

1
在CentOS 7上使用IPv6获取Squid和TPROXY
我在让TPROXY在CentOS 7服务器上使用Squid和IPv6时遇到麻烦。我以前使用的是带有NAT的通用拦截设置,但仅限于IPv4。我现在正在扩展设置,使其包含带有TPROXY的IPv6。 我一直在使用有关该主题的官方Squid Wiki文章来配置所有内容: http://wiki.squid-cache.org/Features/Tproxy4 到目前为止,TPROXY配置似乎可以正常用于IPv4。但是,使用IPv6时,连接超时,无法正常工作。我将分解设置以便更好地理解。 请注意,所有防火墙和路由规则对于IPv4都是完全相同的,唯一的区别是在下面的示例中inet6以及ip6tables用于配置基于IPv6的规则。 操作系统和内核:CentOS 7(3.10.0-229.14.1.el7.x86_64) 根据yum,所有软件包都是最新的 鱿鱼版:3.3.8(也尝试过3.5.9) 防火墙:iptables / ip6tables 1.4.21 libcap-2.22-8.el7.x86_64 目前,IPv6连接是通过Hurricane Electric通过6in4隧道进行的,该连接在DD-WRT路由器上进行配置,然后将分配的前缀通过委派给客户端radvd。Squid框配置了多个静态IPv6地址。 Squid框位于它所服务的主LAN内。在端口80上被拦截的客户端(主要是无线客户端)通过具有以下防火墙和路由规则的DD-WRT路由器,通过我的DD-WRT路由器被推送到Squid框,这些规则和规则来自于Policy Routing Wiki文章和DD-WRT Wiki http://wiki.squid-cache.org/ConfigExamples/Intercept/IptablesPolicyRoute http://www.dd-wrt.com/wiki/index.php/Squid_Transparent_Proxy ip6tables -t mangle -A PREROUTING -i "$CLIENTIFACE" -s "$PROXY_IPV6" -p tcp --dport 80 -j ACCEPT ip6tables -t mangle -A PREROUTING -i "$CLIENTIFACE" -p tcp --dport 80 …

4
设置透明的SSL代理
我有一个装有2个网卡的linux盒,用于检查通过端口80的流量。一张卡用于连接互联网,另一张卡连接至网络交换机。关键是要能够检查连接到该交换机的设备上用于调试目的的所有HTTP和HTTPS通信。 我为iptables编写了以下规则: nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.2.1:1337 -A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 1337 -A POSTROUTING -s 192.168.2.0/24 -o eth0 -j MASQUERADE 在192.168.2.1:1337上,我使用Charles(http://www.charlesproxy.com/)进行了透明的http代理记录。 端口80一切都很好,但是当我为指向端口1337的端口443(SSL)添加类似规则时,通过Charles收到有关无效消息的错误消息。 我之前曾在Charles的同一台计算机上使用过SSL代理(http://www.charlesproxy.com/documentation/proxying/ssl-proxying/),但是由于某种原因未能透明地进行SSL代理。我用Google搜索的一些资源说这是不可能的-如果有人可以解释原因,我愿意接受它作为答案。 需要注意的是,我拥有上述设置的完全访问权限,包括连接到子网的所有客户端-因此,我可以接受Charles的自签名证书。该解决方案不必特定于Charles,因为从理论上讲,任何透明代理都可以。 谢谢! 编辑:稍微玩了一下之后,我就能让它在特定主机上正常工作。当我将iptables修改为以下内容时(并以查尔斯打开1338作为反向代理): nat -A PREROUTING -i eth1 …

3
一种简单的方法来“编辑”来自TCP主机的流量(Linux)
在处理连接的进程获取流之前,我需要对来自已知tcp host:port的传入流量进行一些小的修改。 例如,让192.168.1.88成为运行Web服务器的远程主机。 我需要这样,当我本地主机上的某个进程从192.168.1.88:80(例如浏览器)接收到数据时,首先将数据更改text-A为text-B,如下所示: 127.0.0.1:...连接到192.168.1.88:80 127.0.0.1:...发送到192.168.1.88:80: GET / 192.168.1.88:80发送到127.0.0.1:...: HTTP/1.0 200 OK Content-Type: text/plain Some text-A, some other text 该数据在某种程度上被系统拦截,并传递给程序,其输出为: HTTP/1.0 200 OK Content-Type: text/plain Some text-B, some other text 系统会将更改后的数据提供给处理127.0.0.1:...的过程,就像它来自192.168.1.88:80一样。 假设我有一种基于流的方法来进行此更改(sed例如使用),预处理传入的tcp流的最简单方法是什么? 我想这会涉及到iptables,但我不是很擅长。 请注意,该应用程序应具有处理原始主机的感觉,因此设置代理不太可能是一种解决方案。

6
如何为鱿鱼透明代理设置客户端?
服务器详细信息 Squid Transparent Proxy Version: 3.3.8 OS: Ubuntu Server 14.04 Server IP: 192.168.1.3 鱿鱼配置文件 (不包括使用grep的评论) root@ubuntu:~# grep -v '^$\|^\s*\#' /etc/squid3/squid.conf acl SSL_ports port 443 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https acl Safe_ports port 70 # gopher acl Safe_ports …

1
如何使用firehol和tinyproxy创建一个透明的https代理?
我在Ubuntu 10.04.4中使用firehol和tinyproxy进行了透明的代理设置,该设置对于http可以正常工作,但是我无法在https上使用它。 由于以下命令可以正常完成,因此直接连接到tinyproxy可以正常工作: env http_proxy=localhost:8888 curl http://www.google.com env https_proxy=localhost:8888 curl https://www.google.com HTTP透明代理也可以正常工作: curl http://www.google.com 但是当直接使用https访问google时,该命令只是挂起: curl https://www.google.com 这是firehol和tinyproxy的完整配置文件。请注意,除了透明代理外,我对将firehol用于其他任何东西都没有兴趣。 firehol.conf: transparent_proxy "80 443" 8888 proxy interface any world client all accept server all accept tinyproxy.conf(除上游代理外的所有默认值): User nobody Group nogroup Port 8888 Timeout 600 DefaultErrorFile "/usr/share/tinyproxy/default.html" StatFile "/usr/share/tinyproxy/stats.html" Logfile "/var/log/tinyproxy/tinyproxy.log" LogLevel Info …

2
Mac OS X Lion-将端口22上的所有连接转发到外部ip [关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为服务器故障的主题。 6年前关闭。 我需要将到任何地址端口22的所有连接转发到另一个网关(即没有默认设置)。首先,我想用ipfw做到这一点: sudo ipfw add 5 fwd $EXTERNAL_IP,22 tcp from any to any 22 keep-state 但是对于Mac OS X Lion来说似乎不起作用。无论如何,在查看ipfw文档时,我发现它已被弃用,应该使用pfctl。 所以我修改了/etc/pf.conf文件: rdr proto tcp from $internal_ip to any port 22 -> $external_ip port 22 但是没有运气。 有谁知道如何将本地应用程序生成的所有连接转换或转发到除端口22之外的任何地址到其他网关/ ip地址? 更新资料 遵循Jake的建议,我尝试仅指定目标IP,因此我将rdr规则转换为mac os x语法: rdr proto tcp from any to any …

4
透明的SSL代理神话和事实
我一直在搜索许多小时,有关为SSL(不是Squid)设置透明代理的方法。普遍的答案是我不能,但是我知道有一些方法。我的目的只有以下几点: 黑名单/白名单域名(不是IP号)。内容将不会被过滤或修改。 强制用户浏览这些列表。如果我在网络浏览器中修改了此类设置,则可以撤消该设置。 以下页面告诉我我可以不加修改地通过流量,但没有说明如何: iptables使用privoxy的https透明代理? 下一页显示了443的iptables规则,我本人无法使用:http : //alien.slackbook.org/dokuwiki/doku.php?id=slackware : proxy 以下页面介绍了如何使其仅与Squid一起使用:http : //www.rahulpahade.com/content/squid-transparent-proxy-over-ssl-https 编辑:一个人在这里说: 我如何使用IPTABLES在Squid周围创建HTTPS(443)传递? “最好的做法是阻止对端口443的直接访问,并告诉用户如果他们要使用HTTPS,则必须将其浏览器配置为使用代理。” 但是我只知道如何完全阻止443,而不是让它在代理下工作。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.