OPNsense防火墙规则设置示例

为便于使用者理解并使用防火墙规则,我将各种常用规则编辑成示例。这些示例中使用的任意IP地址可以替换为别名,以方便对不同的网络和设备进行管理。

下面分LAN和WAN两个接口来介绍不同的防火墙规则。

LAN规则

默认情况下,OPNsense 中的 LAN 网络有反锁定规则(防止你将自己锁定在 Web 界面之外)和允许访问所有本地和远程网络的“允许任何”规则。当你在另一个物理接口上创建新 VLAN 或网络时,默认情况下会阻止对所有其他网络的访问,因为没有为新网络定义防火墙规则(DHCP 运行所需的隐藏自动生成规则除外)。下面的示例假设你有多个本地网络,并且你希望允许不同网络中的设备之间进行通信。下面是一些示例:

允许 VLAN 10 上的单个设备访问 VLAN 20 上单个设备的任意端口

该规则允许 VLAN 10 上 IP 地址为 192.168.10.10 的设备访问VLAN 20上 IP 地址为 192.168.20.10 设备上运行的任何对外服务:

选项 值
动作 pass
接口 VLAN10
协议 any
源 192.168.10.10
源端口 any
目标 192.168.20.10
目标端口 any
描述 允许设备到设备访问

允许 VLAN 10 上的任意设备访问 VLAN 20 上单个设备的任何端口

该规则允许 VLAN 10 上的所有设备访问VLAN20上地址为 192.168.20.10 的设备上运行的任何对外服务:

选项 值
动作 pass
接口 VLAN10
协议 any
源 VLAN10
源端口 any
目标 192.168.20.10
目标端口 any
描述 允许 VLAN 10 访问设备

允许任何设备访问任何网络或设备(本地网络和 Internet)

这是安装 OPNsense 时由 OPNsense 在 LAN 接口上创建的默认“全部允许”规则。

选项 值
动作 pass
接口 LAN NET
协议 any
源 any
源端口 any
目标 any
目标端口 any
描述 允许访问任何网络/设备

 

阻止 VLAN 10 上的单个设备访问 Internet

该示例阻止 VLAN 10 上 IP 地址为 192.168.10.10 的特定设备访问 Internet 和其他本地网络(例如 VLAN 20):

选项 值
动作 阻止
接口 VLAN10
协议 any
源 192.168.10.10
源端口 any
目标 any
目标端口 any
描述 阻止访问 Internet

如果你的 VLAN 已经相互隔离,则对其他本地网络的访问已经被阻止,因此此规则实质上是阻止访问 Internet。

注意:此规则不会阻止 VLAN 10 内任意之间的访问,因为从一个设备到同一VLAN内另一设备的任意流量都被视为本地流量,不会通过路由器。

阻止 VLAN 10 上的所有设备访问 Internet

要阻止整个 VLAN 10 网络上的所有设备,不为 VLAN 10 接口添加任何防火墙规则就可以实现。默认情况下,所有出站流量都被阻止,因此该规则是多余的。但是,出于学习目的,以下规则将阻止所有出站流量:

选项 值
动作 阻止
接口 VLAN10
协议 any
源 VLAN10 NET
源端口 any
目标 any
目标端口 any
描述 阻止访问 Internet

阻止 VLAN 10 上的所有设备访问 Internet 上的单个主机/服务器

该示例阻止 VLAN 10 上的所有设备访问 Internet 上的一个特定 IP 地址(例如 8.8.8.8):

选项 值
动作 阻止
接口 VLAN10
协议 any
源 VLAN10 NET
源端口 any
目标 8.8.8.8
目标端口 any
描述 阻止访问主机/服务器 8.8.8.8

允许所有内部网络上的 ICMP 消息

一般情况下,管理员都会禁用内部和外部网络上的所有 ICMP 消息,以保证网络安全。但有时为了排除故障需要,可能需要在内部网络上允许 ping 来解决网络上的连接问题。

如果有多个 VLAN,建议创建防火墙规则组或使用浮动规则。对于防火墙规则组或浮动规则,只选择你希望使用 ICMP 的 LAN/VLAN 接口,然后创建下面的规则。下面的示例使用组名 ICMPGroup 作为接口(因为组已经知道应用规则的接口)。如果使用浮动规则,可以选择合适的 LAN/VLAN 接口列表,而不是使用组名称作为接口。这些是最常见和最有用的 ICMP 消息:

选项 值
动作 pass
接口 ICMPGroup
协议 ICMP
ICMP类型 Echo Request
源 any
目标 any
描述 允许 ICMP 回显请求消息
选项 值
动作 pass
接口 ICMPGroup
协议 ICMP
ICMP类型 Echo Reply
源 any
目标 any
描述 允许 ICMP 回显回复消息
选项 值
动作 pass
接口 ICMPGroup
协议 ICMP
ICMP类型 Destination Unreachable
源 any
目标 any
描述 允许 ICMP 目标不可达消息
选项 值
动作 pass
接口 ICMPGroup
协议 ICMP
ICMP类型 超时
源 any
目标 any
描述 允许 ICMP 超时消息

如果想使用 ICMP 但阻止将其用于某些网络,例如管理 的VLAN 或其他敏感网络,可以在“允许”规则上方添加“阻止”规则。如下面所示,只需添加以下规则:

选项 值
动作 阻止
接口 ICMPGroup
协议 ICMP
ICMP类型 Echo Request
源 any
目标 MGMT NET
描述 阻止到管理 VLAN 的 ICMP 回显请求消息

通过端口转发将 LAN上的DNS请求重定向到Unbound DNS

如果希望将端口53上的所有出站DNS请求重定向到本地的Unbound DNS解析器,可以在LAN 网络上创建一个NAT端口转发规则。

选项 值
动作 pass
接口 LAN
协议 TCP/UDP
源 any
源端口 any
目标/反转 选中
目标 LAN net
目标端口 53 (DNS)
重定向目标 IP 127.0.0.1
重定向目标端口 53 (DNS)
描述 将外部 DNS 请求重定向到本地 DNS 解析器
过滤规则关联 添加关联的过滤规则(或通过)

如果有多个希望重定向DNS请求的本地网络,可以转到“防火墙 > 组”页面并将所有需要的接口添加到组中来创建一个防火墙组。这将允许创建单个规则来重定向整个网络的 DNS请求。

选项 值
动作 pass
接口 MyGroup
协议 TCP/UDP
源 any
源端口 any
目标/反转 选中
目标 MyGroup net
目标端口 53 (DNS)
重定向目标 IP 127.0.0.1
重定向目标端口 53 (DNS)
描述 将外部 DNS 请求重定向到本地 DNS 解析器
过滤规则关联 添加关联的过滤规则(或通过)

通过NAT端口转发将LAN 上的 NTP请求重定向到本地NTP服务

将端口123上的所有出站 NTP(网络时间协议)请求重定向到本地NTP服务器:

选项 值
动作 pass
接口 LAN
协议 TCP/UDP
源 any
源端口 any
目标/反转 已选中
目标 lan net
目标端口 123 (NTP)
重定向目标 IP 127.0.0.1
重定向目标端口 123 (NTP)
描述 将外部 NTP 请求重定向到本地 NTP 服务
过滤规则关联 添加关联的过滤规则(或通过)

WAN规则

允许在WAN上远程访问OPNsense上的VPN服务器

由于 OpenVPN 服务托管在 OPNsense 路由器上,可以将以下规则添加到WAN接口。这适用于在路由器上运行的任何服务,因为正常情况下是不需要将任何端口转发到网络内的设备:

选项 值
动作 pass
接口 wan
协议 UDP
源 any
源端口 any
目标 WAN address
目标 1194
描述 允许远程访问 OpenVPN

使用NAT端口转发远程访问VLAN 10 上的Web服务器

转到“防火墙 > NAT > 端口转发”页面。创建规则的过程与其他 LAN/WAN 规则类似,这里还需要指定网络上内部设备的 IP/别名和端口号。

注意:创建NAT端口转发规则时,页面底部的“过滤规则关联”默认情况下设置为“无”,这意味着无法从网络外部访问内部服务器。如果不使用多WAN 配置,请选择“pass”;如果使用多 WAN 配置或希望在WAN 接口上自动创建相应的 WAN 规则,请选择“添加关联过滤规则”。使用“Pass”选项的好处是WAN 规则不会与 NAT 端口转发规则混淆。如果希望在 WAN 接口上查看规则,则需要选择“添加关联过滤规则”以使规则可见。

选项 值
动作 pass
接口 WAN
协议 TCP
源 any
源端口 any
目标 WAN address
目标端口 443 (HTTPS)
重定向目标 IP 192.168.10.10
重定向目标端口 443 (HTTPS)
描述 允许远程访问Web 服务器
过滤规则关联 添加关联的过滤规则(或通过)

外部端口和托管服务的内部设备上的端口可以不同。可以为一些服务(例如 SSH)使用不同的外部端口,这可以在一定程度上增加防火墙的安全性。

评论

  1. login
    3 年前
    2023-9-26 16:10:08

    博主,配置好opnsense后,发现pt只有下载,没有上传,upnp已开启,该如何配置?

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇