如何配置 pfSense 以根据每个客户端(或 IP 范围)允许/拒绝网站

如何配置 pfSense 以根据每个客户端(或 IP 范围)允许/拒绝网站

我想知道如何在 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"

相关内容