我想知道如何在 pfSense 中实现更细粒度的过滤。
设想:
- pfSense 具有 2 个 WAN 和 1 个 LAN
- 160 个客户端,采用 DHCP
我想知道如何根据每个客户端允许网站。
例子:
- 组 A 允许网站 X 并拒绝网站 Y
- B 组允许网站 X 并允许网站 Y
- C 组允许网站 X、允许网站 Y、允许网站 Z
这样的配置是如何完成的?
谢谢您的帮助
厄恩
答案1
你可以这样做乌贼。或许作为透明代理?由你决定...
squid
从以下位置在 pfSense 防火墙上安装软件包系统->包管理器。
去服务->Squid 代理服务器->常规然后点击底部显示高级选项
您可以在此处的框中添加自定义 ACL。请参阅http://wiki.squid-cache.org/SquidFaq/SquidAcl了解详细信息。您可以获得所需的精细控制,只需阅读文档即可。
答案2
pfBlockerNG 可以做到这一点。
此外,Unbound 中的新标签功能可以实现这一点,无需任何额外组件。更多详情请参阅 Unbound 的家。
它仅在 Unbound 1.5.10 及更高版本中受支持,因此您可能需要更新您的 pfSense。
配置有点冗长,甚至有些复杂,但复杂性随之而来复杂。也许将来会出现一个适用于它的 pfSense GUI。这是一个新功能。
pfSense web 管理 gui > 服务 > DNS 解析器 > 自定义选项
# give pfSense a server: tag so it puts directives in correct place
server:
# define a new tag
define-tag: "websiteX"
define-tag: "websiteY"
define-tag: "websiteZ"
# create access control entry
access-control: 10.1.1.0/24 allow # group A
access-control: 10.1.2.0/24 allow # group B
access-control: 10.1.3.0/24 allow # group C
# tag the access
# allocate ip ranges to the tag
access-control-tag: 10.1.1.0/24 "websiteX"
access-control-tag: 10.1.2.0/24 "websiteX"
access-control-tag: 10.1.3.0/24 "websiteX"
access-control-tag: 10.1.1.0/24 "websiteY"
access-control-tag: 10.1.2.0/24 "websiteY"
access-control-tag: 10.1.3.0/24 "websiteY"
access-control-tag: 10.1.1.0/24 "websiteZ"
access-control-tag: 10.1.2.0/24 "websiteZ"
access-control-tag: 10.1.3.0/24 "websiteZ"
# create the local-zone, and allow normal service
# which allows non-blocked users access
# and allow all types like A and AAAA and CNAME
local-zone: www.websitex.com typetransparent
local-zone: www.websitey.com typetransparent
local-zone: www.websitez.com typetransparent
# tag the domain
local-zone-tag: www.websitex.com websiteX
local-zone-tag: www.websitey.com websiteY
local-zone-tag: www.websitez.com websiteZ
# ensure local data served first
access-control-tag-action: 10.1.1.0/24 "websiteY" redirect
access-control-tag-action: 10.1.2.0/24 "websiteZ" redirect
# Send users to your polite internal block page
access-control-tag-data: 10.1.1.0/24 "websiteY" "A 10.1.1.1"
access-control-tag-data: 10.1.2.0/24 "websiteZ" "A 10.1.1.1"