我们的内部网络中有一个代理服务器,我想将所有 Internet http 请求重定向到本地网络中的 Web 服务器。它就像一个网络广告牌,上面写着“没有可用的直接连接。设置您的代理等。” 例如:
- 用户启动计算机
- 打开浏览器
- 尝试打开 www.google.com
- 应该在本地网络上看到 Web 服务器输出
- 尝试互联网上的另一个网站
- 应该在本地网络上看到 Web 服务器输出
- 设置代理
- 尝试连接到网站
- 应该加载网站
我添加了一个简单的手动 NAT 规则来解决检查点防火墙中的地址转换,但它根本不起作用。这是我的地址翻译规则
Source Destination Service T.Source T.Destination T.Service
MY_PC A_GOOGLE_IP ALL ORIGINAL INT_WEB_SRV ORIGINAL
然后当我 ping 时A_GOOGLE_IP
,回复来自INT_WEB_SRV
,正如我所料。但是,当我尝试A_GOOGLE_IP
从浏览器 ( http://A_GOOGLE_IP ) 进行连接时,SYN_SENT 没有回复并陷入超时。当我查看防火墙日志时INT_WEB_SRV
,我可以看到来自 MY_PC 的传入连接请求被接受并且没有拒绝。顺便说一句,从浏览器中查看INT_WEB_SRV
(http://INT_WEB_SRV )没有问题。
我的理解是,我在检查点 NGX R60 的 NAT 规则不包括返回数据包。我肯定需要一些帮助。
当遇到 NAT 问题时,我总是先打开几个 SSH 会话并在内部和外部接口上执行 tcpdumps。
就像是:
或者
并观察 Nat'd IP 地址是什么。这至少应该给你一个开始的地方!
检查点的返回流量应该是 natted。流量是否显示在网络服务器的服务器日志中?此外,值得使用 fw 监视器,以确保检查点正确导航,并双向传递流量,例如
这应该为每个数据包显示 4 行,包括 NAT 前地址和 NAT 后地址。
如果内部服务器与客户端在同一个子网中,则需要进行 SNAT 和 DNAT,因为现在,它是这样工作的。
如果你 SNAT,那么它的工作原理是这样的:
但是,如果您只想强制所有人使用代理,只需 DNAT 到代理服务器的所有传出 HTTP 连接(您将获得所谓的透明代理),客户端无需更改其计算机上的设置.