我安装了 squid 代理服务器来隐藏我们的网络 IP,但一段时间后,网络变慢了,于是我阅读 NAT 规则,通过代理服务器实现我想要的功能。根据此关联NAT 和代理服务器的区别在于它们处理用户数量的方式。我们一共有 8 个人,我们的专线网速是 2Mbps。
建议我是否应该改进 squid 代理服务器或者仅在 mikrotik 路由器中实施 NAT 规则?
附加信息
将旧机器分离为 squid 代理服务器,该机器具有配备 1280 MB RAM、80GB 硬盘和 Pentium 4(2.40Hz)的 ubuntu 服务器。
Mikrotik 路由器将流量从我的网络转移到代理服务器。
答案1
NAT 和代理服务器之间的区别在于它们处理用户名的方式
实际上,不同之处在于它们几乎是完全不同的解决方案。
NAT 是第 3/4 层解决方案,是作为 IPv4 地址耗尽的一种黑客解决方案而发明的。它从来就不是安全或“代理”解决方案。它所做的只是更改数据包的一个地址(目标地址,或者在您的用例中是源地址),然后内核跟踪哪些流(和相应的数据包)已应用 NAT,以便它可以“撤消”返回数据包上的地址替换。NAT 不需要在客户端上进行任何配置,只需在路由表中设置适当的网关即可。在第 3 层和第 4 层运行意味着 NAT 可以应用于任何 IP 连接,而不管更高的协议是什么,尽管可能会破坏一些不太常见的协议。
代理是第 7 层解决方案,可以对请求进行更深入的检查,并提供诸如缓存、过滤(策略和/或病毒扫描等)以及“屏蔽”原始请求的源地址(尽管许多 HTTP 代理服务器会将X-Forwarded-For
原始客户端地址添加到 HTTP 请求的标头)。代理服务器通常要求客户端配置为使用代理,尽管有一些技巧可以实现“透明”代理配置,但如果客户端确实知道应该使用代理,它往往会更好地工作。最后,在第 7 层操作,您需要为要代理的每种协议配备一个代理 - 例如,您需要单独的 HTTP/HTTPS 和 SMTP/POP3 代理(这些代理可以位于同一硬件上,但是是具有单独配置的不同软件包)
与代理服务器相比,NAT 占用的资源较少,配置也更简单,但代理服务器通常功能更强大、更灵活。
我们一共8个人,专线网速是2Mbps。
对于 8 个人来说,使用 NAT 通常就足够了。但是,如果连接速度只有 2Mbps,那么使用可以缓存内容以减少带宽使用的代理服务器可能会带来好处。
答案2
如果是 8 个人,我会选择 NAT。使用代理,您可以有更多选项来放置过滤器/策略等,您可以安全地允许除 80 和 443 之外的端口,您可以缓存,但也会增加一些延迟。我认为这些好处不足以抵消管理另一台服务器的负担。