我遇到了一些我认为平时不应该遇到的问题。但在被这件事打得昏了头之后,我大叫一声“叔叔”。
我之前在这里发布过类似的内容:(点击)
现在,我正在寻找我的问题的答案
我们有一个如下的网络:
__________ DMZ (10.0.0.0/24)
|
WAN ----- PFsense ---------- LAN (192.168.1.0/22)
|
|_________ Wireless (172.169.50/24)
WAN 有一个 IP,由于我们是红十字会,我们没有钱,因为实际上我们是一个慈善机构,我们负担不起更多的 IP(在约旦,它们要花不少钱)
因此,访问防火墙内部的所有服务是必须的。
有趣的是,我是一名开发人员,却不得不承担起管理员的职责。
我已经尝试了上面链接中的先前的 acl,即使使用了更多的 acl,我所能获得的只是到 DMZ 上的 Web 服务器的路由;即使我尝试访问位于 LAN 子网上的 DVR,并且 DNS 可以正确解析它。
当然,由于其他服务需要 ssl 的参与(具体来说,exchange_owa),所以情况会变得更加复杂。
所以,我的朋友们,我来到你们面前,跪下来,面容憔悴,灵魂枯萎,伸出双手,寻求一个答案,我希望这个答案不会摧毁网络或我的灵魂。
基本上,我正在尝试让反向代理在我的网络上工作,最好只做很少的更改,这样我们就可以从防火墙的 Web 端使用我们的服务。如果可以使用 squid(PFsense 上的那个)来完成,那就太好了。
非常感谢大家的所有回答。
答案1
- 将需要公开访问的所有内容放在“DMZ”段上。这是标准安全性。
- 在 PFsense 中,使用“防火墙:NAT:端口转发”将公共 WAN-IP:端口分配给 DMZ 上的资源
共有 65534 个端口可供选择,尽管有些端口比其他端口更标准,例如 HTTP 的端口 80。
答案2
关于 Squid,我无法回答,但使用 Apache 和 mod_proxy 可以轻松完成。我不熟悉 pfsense,所以我不知道您是否可以将 Apache 与其集成,但如果可以的话:
只需为您托管的每个内部站点设置一个使用虚拟主机的站点。然后在 pfsense 防火墙内将端口 80 上的 WAN IP 请求重定向到您为虚拟主机设置的监听 IP。例如,这是我们使用的经过净化的配置(使用引号而不是标签括号)。
NameVirtualHost 192.168.3.17:80
NameVirtualHost 192.168.3.17:443
Listen 80
Listen 443
#####Exchange Configuration#####
"VirtualHost 192.168.3.17:80"
ServerName mail.domain.com:80
ProxyPass https://mail.domain.com/
ProxyPassReverse https://mail.domain.com/
SSLRequireSSL
"/VirtualHost"
##### Wiki Configuration #####
"VirtualHost 192.168.3.17:80"
ServerName wiki.domain.com:80
ProxyPass / http://wiki.domain.com/
ProxyPassReverse / http://wiki.domain.com/
"/VirtualHost"
然后只需为主机记录添加适当的条目,以便名称解析适用于您的反向代理条目。