我无法配置 OpenBSD 网关的 Pf

我无法配置 OpenBSD 网关的 Pf

我有一台 OpenBSD 服务器,我想将其用作网关。OBSD 服务器具有以下接口 -

  1. em5(130..** 具有互联网连接的外部 IP)
  2. em0(内部 IP - 172.16.0.0/17)

我的默认网关是 130。.1 并且可以通过 ping 访问。

目标是对 172.16.0.0/17 和 130 之间的流量进行 NAT。.** 网络,以便具有 172.16.* IP 地址的客户端能够访问互联网。

route 命令显示网关设置正确。

ns1# route show
Routing tables

Internet:
Destination        Gateway            Flags   Refs      Use   Mtu  Prio    Iface
default            130.**.**.1      UGS        4     5293     -     8 em5 

我可以从这个 OpenBSD 服务器访问互联网。

现在,OBSD 上已启用转发。

ns1# sysctl -a|grep forwarding
net.inet.ip.forwarding=1

pf 具有以下配置。

ext = "em5"
priv = "em0"
table <martians> { 0.0.0.0/8 10.0.0.0/8 127.0.0.0/8 169.254.0.0/16     \
               172.16.0.0/12 192.0.0.0/24 192.0.2.0/24 224.0.0.0/3 \
               192.168.0.0/16 198.18.0.0/15 198.51.100.0/24        \
               203.0.113.0/24 }

set block-policy drop
set loginterface egress
set skip on lo0
match in all scrub (no-df random-id max-mss 1440)
match out on egress inet from !(egress:network) to any nat-to (egress:0)
antispoof quick for { egress $ext $priv}
#block in quick on egress from <martians> to any
block return out quick on egress from any to <martians>
block all
pass out quick inet
pass in on { $ext $priv} inet
pass in proto tcp to port 22 keep state

这个设置以前可以正常工作,但在我已恢复的一些更改之后,它停止工作了。我很难弄清楚是什么阻止了这种 NAT 流量。

OpenBSD 能够与互联网通信。

私有网络中的节点可以正常地相互通信。

但是,节点无法访问互联网。

我该如何解决这个问题?

我已尝试以下操作但目前失败:

  • 重启 OBSD 服务器
  • 禁用 pf,尝试然后重新启用它。
  • 电缆改组后等待了几个小时,认为是一些缓存阻止了新的条目。
  • 在不同的 n/w 中添加了另一个公共接口,并将默认网关更改为该接口。

以上均无法访问内部网络。

有人知道这里可能发生什么事吗?

更多信息:pfctl -sr 显示为空白。

ns1# pfctl -sr
ns1#

更新:@chuckx 对 pfctl -sr 的请求促使我让 pf 重新读取它的配置文件,现在它似乎可以完成它的工作,并且流量转发可以正常工作!

相关内容