为便于使用者理解并使用防火墙规则,我将各种常用规则编辑成示例。这些示例中使用的任意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)使用不同的外部端口,这可以在一定程度上增加防火墙的安全性。
博主,配置好opnsense后,发现pt只有下载,没有上传,upnp已开启,该如何配置?
试一试其他工具,如迅雷等,检查是否能正常上传。也可以在群里截图,让大家帮助解决。