这是一个我无法诊断的问题:
我们的用户主目录由运行 Mac OS X 10.5.7 的 Apple XServe 通过 NFS 提供服务。通常,它们会导出到我们的默认办公室子网“lan”。最近我一直在构建一个新的子网,“农场”。“farm”上的计算机与“lan”上的计算机运行相同的操作系统(openSUSE 11.1 和Gentoo),并且软件版本相同。
问题是,当我的用户在“农场”上使用机器一段时间(5 分钟,有时 30 分钟,有时一整小时)时,NFS 挂载似乎挂起。尝试对ls
目录或尝试访问用户主目录的任何其他内容(例如登录等)执行操作只会卡住。从“挂起”机器挂载到其他 NFS 服务器似乎按预期工作。
客户端或服务器的日志中没有任何内容表明存在任何问题。相同类型的客户端在默认的“lan”子网中工作得很好。
我已经尝试了 NFS 服务器和客户端的各种不同配置(禁用/启用 kerberos,不同的挂载选项),但似乎没有任何区别。
我强烈怀疑这两个子网之间存在一些网络级问题,可能是防火墙/路由器(OpenBSD 使用 pf 作为数据包过滤器)造成的一些问题。两组机器之间的连接相当简单:
x serve --> switch --> router --> switch --> clients
对于接下来要尝试的调试方法或可能的解决方案,我几乎一无所知。关于如何从这一点解决这个问题的任何想法?
更新:
还是没能解决这个问题。当我scrub
在内部接口上禁用时,我以为我已经将其扼杀在萌芽状态,但问题再次显现出来。奇怪的是 pf 似乎还在修改一些数据包。
在农场vlan 端的示例对话:
09:17:39.165860 node001.farm.foo.com.769 > barstar.lan.foo.com.nfsd: S 2887472382:2887472382(0) win 5840 <mss 1460,sackOK,timestamp 236992843 0,nop,wscale 6> (DF)
09:17:39.166124 barstar.lan.foo.com.nfsd > node001.farm.foo.com.769: . ack 43 win 65535 <nop,nop,timestamp 316702204 236992843> (DF) …
Run Code Online (Sandbox Code Playgroud) 我处于需要通过 pfSense 向 WebConfigurator 开放 WAN 访问的情况,因为我没有连接到同一网络的另一个节点来从内部访问 WebConfigurator。理想情况下,我只想在 shell 中执行此操作,或者直接修改 pf 的配置以“允许所有”,只要足够长的时间让我从我的 IP 打开对 WebConfigurator 的 WAN 访问,或者修改 config.xml 以手动添加该规则。有没有人对如何实现这一目标有任何见解?
如您所知,iptables 具有-m (match)
例如:
-m string
-m state
-m -iplimit
and so on...
Run Code Online (Sandbox Code Playgroud)
我的问题:是否PF
也有类似的功能,如-m
的iptables
?
我想学习这些参数的默认值,我看了pf.conf的手册但找不到,你能帮忙吗?
set limit states
set limit src-nodes
set timeout tcp.first
set timeout tcp.established
set timeout tcp.closing
set timeout tcp.finwait
set timeout tcp.closed
set timeout udp.first
set timeout udp.multiple
set timeout udp.single
set timeout adaptive.start
set timeout adaptive.end
set timeout interval
Run Code Online (Sandbox Code Playgroud) 我正在尝试做一些我认为相对简单的事情:阻止所有到测试服务器的流量,而不是我公司的子网。
我已经尝试了这些方法(111.111.0.0 是我在这个例子中的占位符),但似乎只有块有效:
block in all
pass in from 111.111.0.0
pass in on en0 from 111.111.0.0
pass in all from 111.111.0.0
Run Code Online (Sandbox Code Playgroud)
这些传入的行似乎都不起作用(我知道其中一些可能会引发语法错误,因为我只是抓取了我在测试时注释掉的所有行)。
这比我想象的要简单吗?我错过了一些明显的东西吗?
以下pf.conf
(FreeBSD 10.3)似乎阻止了所有 IPv6 流量,我不知道为什么。
tcp_inbound = "{ ssh, domain, http, https }"
tcp_outbound = "{ domain, http, https, imaps, smtps }"
udp_services = "{ domain, ntp }"
block all
pass proto udp to any port $udp_services keep state
pass out proto tcp to any port $tcp_outbound keep state
pass in proto tcp to any port $tcp_inbound keep state
# from https://help.github.com/articles/what-ip-addresses-does-github-use-that-i-should-whitelist/
table <github> { 192.30.252.0/22, 2620:112:3000::/44 }
pass out proto tcp to <github> port { ssh } keep …
Run Code Online (Sandbox Code Playgroud) 我目前在 3 个专用防火墙服务器上使用 IPFW,我想将它们转换为 PF 以实现其某些功能,但我需要转移工作。具体来说,我将数据包发送到自定义应用程序以进行网络分析。
PF 中是否支持它(或类似的东西)?
我有一台运行 FreeBSD 9 的代理/防火墙机器,根据需要使用 PF 路由和过滤流量。
现在我正在设置一个通过 ssh 运行的 git 服务器,但我已经将端口 22 用于 ssh。如果他们用来访问服务器的主机名是子域 (git.mydomain.com),我想将流量从任何 IP 路由到端口 22 到另一台机器。一种虚拟主机,但对于 ssh ......
这可能与 pf 吗?有什么建议?
好吧,我知道这听起来可能很愚蠢或愚蠢,但我想知道(如果有人知道的话)将 DDoS 流量重新路由到 fbi.gov 是否违法...
我只是认为如果您想调查 DDoS 流量,这可能是个好主意,我想不出比这更好的方法。
通过重新路由,我的意思是设置 PF 以重新路由被发现是 DDoS 的流量,然后将其转发到 fbi.gov
请让我知道你的想法,我是认真的...
谢谢!