Articles of 透明代理

如何创build与firehol和tinyproxy透明HTTPS代理?

我在Ubuntu 10.04.4中有一个透明的代理设置,使用firehol和tinyproxy可以正常工作,但是我无法让它工作在https上。 连接到tinyproxy直接工作正常,因为以下命令完成OK: 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的完整configuration文件。 请注意,我没有兴趣使用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 PidFile "/var/run/tinyproxy/tinyproxy.pid" MaxClients 100 […]

透明的SSL代理的神话和事实

我已经search了很多个小时,为SSL(而不是Squid)设置透明代理的方法。 一般的答案是我不能,但我知道有一些方法 。 我的目的只是以下几点: 黑名单/白名单域名(不是IP号码)。 内容不会被过滤或修改。 强制用户通过这些列表。 如果我在网页浏览器中修改这些设置,他们可以撤消它。 下面的页面告诉我可以通过未经修改的stream量,但它没有说明: iptables https透明代理与privoxy? 下面的页面显示了一个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创buildHTTPS(443)通过鱿鱼周围? “最好的办法是阻止对端口443的直接访问,并告诉用户如果他们想使用HTTPS,他们必须configuration他们的浏览器来使用代理。” 但是我只知道如何完全阻止443,而不是在代理下工作。

Mac OS X Lion – 将端口22上的所有连接转发到外部ip

我需要转发所有连接到任何地址端口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的build议,我试图只指定目标IP,所以我把rdr规则转换成了mac os x语法: rdr proto tcp from any to any port 22 -> $external_ip port 22 即使在这种情况下,我没有得到我期望的结果,即我可以通过SSH连接到我的服务器,但通过默认网关。

设置一个透明的SSL代理

我有一个用2个网卡设置的linux盒子来检查通过端口80的stream量。一个网卡用于上网,另一个网卡连接到networking交换机。 重点在于能够检查连接到该交换机的设备上的所有HTTP和HTTPSstream量,以用于debugging目的。 我已经写了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,我有一个透明的http代理使用Charles( http://www.charlesproxy.com/ )进行录制。 一切正常的端口80,但是当我添加端口443(SSL)指向端口1337类似的规则,通过查尔斯我得到关于无效消息的错误。 我之前在Charles使用过SSL代理( http://www.charlesproxy.com/documentation/proxying/ssl-proxying/ ),但由于某种原因,透明地进行操作并不成功。 我search的一些资源说它不可能 – 如果有人能解释为什么,我愿意接受这个答案。 作为说明,我可以完全访问所描述的设置,包括连接到子网的所有客户端 – 所以我可以接受Charles的自签名证书。 从理论上讲,解决scheme不一定是查尔斯特有的,任何透明的代理都可以。 谢谢! […]

使用IPv6在CentOS 7上运行Squid和TPROXY

我在使用Squid和IPv6在CentOS 7服务器上运行TPROXY时遇到了麻烦。 我之前使用通用拦截设置与NAT,但它仅限于IPv4。 我现在正在扩大设置,以包括与TPROXY的IPv6。 我一直在使用关于这个主题的官方Squid wiki文章来configuration一切: http://wiki.squid-cache.org/Features/Tproxy4 到目前为止,TPROXYconfiguration似乎在为IPv4工作,没有问题。 对于IPv6,连接超时,无法正常工作。 我会分解设置以便更好地理解。 注意所有的防火墙和路由规则对于IPv4来说都是完全相同的,唯一的区别是在下面的例子中configurationIPv6规则的inet6和ip6tables 。 操作系统和内核:CentOS 7(3.10.0-229.14.1.el7.x86_64) 所有的包都是最新的根据百胜 鱿鱼版本:3.3.8(也试过3.5.9) 防火墙:iptables / ip6tables 1.4.21 的libcap-2.22-8.el7.x86_64 IPv6连接目前通过Hurricane Electric的6in4隧道,在DD-WRT路由器上configuration,然后通过radvd委托给客户端。 Squid框有几个静态的IPv6地址configuration。 Squid盒位于主服务器内。 被拦截的端口80(主要是无线客户端)上的stream量的客户端正通过DD-WRT路由器被推送到Squid盒子,并具有以下防火墙和路由规则,根据策略路由维基文章和DD-WRT维基 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 -j […]