我已经成功将 squid 代理服务器设置为 HTTP 代理,并且运行良好。但是,它不适用于 HTTPS。我正在考虑使用外部机器来设置为 HTTP、HTTPS、FTP 等的代理。我仔细研究了互联网上可能有用的方法。我认为 SOCKS 代理既可以保护我的数据(免受我旅行时使用的互联网连接的影响),又可以隐藏我的位置变化。
SOCKS 代理路由是否最适合 HTTPS、FTP 和 IM?是否有任何推荐的 SOCKS 代理软件可供我在 Windows/Linux 服务器上下载和设置?VPN 服务器是否是更好的选择?
答案1
听起来你需要一个 VPN,我认为OpenVPN是一个很好的候选人。
我在下面重复了之前的答案:
OpenVPN是一款功能齐全的开源 SSL VPN 解决方案,存在于用户空间。多平台(windows、linux、osx ..)包括所有主要的 Linux 发行版。
示例设置:
首先我们生成静态密钥(不太安全但简单):
$ openvpn --genkey --secret static.key
(通过 scp 将此密钥复制到您的客户端/服务器)
配置服务器(/etc/openvpn/server.conf)
dev tun
ifconfig 10.8.0.1 10.8.0.2
secret static.key
keepalive 10 60
ping-timer-rem
persist-tun
persist-key
配置客户端(/etc/openvpn/client.conf)
remote myserver.address.com
dev tun
ifconfig 10.8.0.2 10.8.0.1
secret static.key
keepalive 10 60
ping-timer-rem
persist-tun
persist-key
确保服务器上 UDP 端口 1194 已打开。
在客户端/服务器上运行:
# server
openvpn --config /etc/openvpn/server.conf
# client
openvpn --config /etc/openvpn/client.conf
要验证 VPN 是否正在运行,您应该能够从服务器 ping 10.8.0.2 并从客户端 ping 10.8.0.1。
您需要在服务器端添加一些 NAT 规则才能访问世界其他地方,但这留给读者练习:)
答案2
如果您只想获取文件而不是上传文件,Squid 可以用于 HTTPS 和 FTP。对于 IM 或 FTP 上传,SOCKS 代理是不错的选择。
但是代理不会以任何方式“保护您的数据”,因为您和代理之间的连接是不安全的。
如果您从不受信任的点(wifi 访问)连接到互联网,并且出于安全原因不想直接访问某些资源,则必须使用 VPN 连接到可靠的服务器,然后将其用作代理。这样,您和代理之间的连接将得到保护。
答案3
SOCKS 代理可能是最佳选择,但它真的有必要吗?我使用 Apache(在 Linux 上)作为代理。它一直在运行,所以我只是将代理配置添加到它已经在做的事情中。目前它只代理 HTTP 和 HTTPS,因为我不需要 FTP,但相信它也会代理 FTP。我在研究选项时遇到的文章表明其他协议也应该很实用,因为一篇文章甚至展示了如何使用 Apache 代理 SSH。
我读到过通过 HTTPS 代理 Exchange 的 OWA 可能会很麻烦,但我必须说 Apache 无需任何特殊操作即可做到这一点。
我不认为 VPN 可以替代代理。
答案4
在这种情况下,我认为你不具备如何设置自己的 OpenVPn 解决方案的适当知识。因此,有人可能会推荐 Hamachi 或其他非常简单的工具,以简化设置过程。
但是 rkthkr 的答案包含更灵活的解决方案,涉及压缩、加密标准等。如果有防火墙,请尝试将协议更改为 TCP,将端口更改为 443 (https)。通过 443 的加密流量是正常的。
玩得开心,希望