在Ubuntu服务器12.4上为vpn服务器设置代理

我有一个带有HTTPS,L2TP,OPENVPN和PPTP的VPN服务器。 我想在服务器上build立一个代理,所以所有来自vpn客户端的连接,他们都会使用它。

我为它创build了下面的bash脚本文件,但代理不工作。

gsettings set org.gnome.system.proxy mode 'manual' gsettings set org.gnome.system.proxy.http enabled true gsettings set org.gnome.system.proxy.http host 'cproxy.anadolu.edu.tr' gsettings set org.gnome.system.proxy.http port 8080 gsettings set org.gnome.system.proxy.http authentication-user 'admin' gsettings set org.gnome.system.proxy.http authentication-password 'admin' gsettings set org.gnome.system.proxy use-same-proxy true export http_proxy=http://admin:[email protected]:8080 export https_proxy=http://admin:[email protected]:8080 export HTTP_PROXY=http://admin:[email protected]:8080 export HTTPS_PROXY=http://admin:[email protected]:8080 

如何做一个全球代理服务器和所有的VPN客户端自动使用它?

问题是,在Unix上没有全局代理设置的东西。 在Windows上,在Internet Explorerconfiguration中有一个代理设置,它也被所有其他程序使用,但是也没有其他的必要条件。

而你最大的问题,你根本无法保证,不会有一些软件安装,哪些(甚至有意)避免这种代理设置。

对于这样的问题,存在所谓的“透明代理”。 这意味着,您要被代理的协议数据包redirect到您的代理服务器, 而无需客户端 知识 / 影响 。 客户不会看到,你在做什么 – 他们只会连接到外部IP,甚至不知道,他们实际上只连接到你的代理服务器。

你需要什么,实际上是两个步骤:

1:首先,使用一些好的iptables规则,您应该传出的http / https redirect到您的http / https代理服务器(它不在您的网关/ vpn机器上)。

2:你build立一个http代理服务器,它可以作为一个透明的代理服务器。 当客户端使用http与代理进行通信时,他们正在谈论一些不同的协议,因此透明代理需要在代理端提供明确的支持。 但它并没有太大的差别。

鱿鱼很好地支持透明代理,虽然其他所有观点都不是我生活中find的最好的软件。

Apache不是一个代理服务器,而是一个networking服务器,尽pipe它也可以代理,并且可以通过一些小的configuration技巧使其成为透明的代理服务器。

Summa summarum,谷歌是你的朋友。 我build议的关键字: transparent http proxy gateway linux