我试图扩展一个包含一个子网掩码地址的macros到PF列表如下所示: subnet1 = "192.168.1.0/24" subnet2 = "10.0.0.0/8" subnets = "{" $subnet1 $subnet2 "}" 但是这会导致最后一行的语法错误: /etc/pf.conf:3:语法错误 它适用于非子网掩码地址: ip1 = "192.168.1.0" ip2 = "10.0.0.0" ips = "{" $ip1 $ip2 "}" 我使用的是FreeBSD 10.0的PF(≈来自OpenBSD 4.5的PF)。 我怎样才能使这个工作?
我试图转发一个外部IP地址到另一个外部IP地址与PF。 等效的iptables命令是iptables -t nat -A OUTPUT -d [ipaddress1] -j DNAT –to-destination [ipaddress2] 。 我在我的pf.conf中尝试了各种forms的nat和rdr,例如:( $int_if是内部接口, $ext_if外部接口, $out_ad是ipaddress1(地址redirect), $res_ad是ipaddress2(地址redirect到) nat on $int_if from 127.0.0.1 to $out_ad -> $res_ad rdr pass on $ext_if proto tcp from $out_ad to $res_ad -> 127.0.0.1 rdr pass on $int_if proto tcp from 127.0.0.1 to $out_ad -> $res_ad rdr pass log proto […]
我正在尝试通过pfctl和dnctl在Mac OS X 10.10上进行stream量整形(节stream)。 我已经实现了一个简单的testing服务器和客户端netcat( nc )和一个合成的随机有效载荷文件,以validation我的dummynetpipe道节stream是否正常工作。 到目前为止,尝试使用Murus防火墙GUI应用程序来configurationdummynetpipe道似乎不能正确地阻止通信(64MB传输在〜200ms内完成)。 这是一个OSX bash shell脚本(需要brew install coreutils for gdate ),这是一个完整的例子。 如果你在一个terminal运行它: ./throttle-test.sh server 另一个为 ./throttle-test.sh client 他们会尝试在您的en0接口上传输一个64MB的有效载荷(不使用lo0因为它的巨大MTU与WANstream量不相似)。 我也testing过将文件传输到远程Linux笔记本电脑,看是否源IP和目的IP都是本地IP绕过节stream,但即使是我的局域网/无线networking上的远程机器,速度比限制速度快得多。 我的问题是什么是一个正确的脚本来configurationpfctl和dnctl来限制这个文件传输到一个给定的带宽限制(比如说8mbps)。 限制的范围可以是特定的TCP端口。 注意OS X 10.10不再包含ipfw所以我正在寻找使用pfctl和dnctl东西。 这是我的throttle-test.sh文件: #!/bin/bash set -o errexit # always exit on error set -o errtrace # trap errors in functions as well set -o pipefail # don't ignore […]
我有一个FreeBSD主机,作为内部networking上其他系统的入口点。 因此,我已经configuration好将某些端口(比如端口5000)上的传入stream量redirect到在该机器上运行networking服务的一个jail上的主机本地地址。 这看起来像这样: —port 5000—>[Main host] | |—port 5000—>[Machine A] |~~~~~~~~~~~~~~~~[Machine B] redirect由PF规则执行: rdr pass on egress proto tcp from any to $IP port 5000 -> $MACHINE_A_IP 这是我几乎总是想要的状态,这是默认情况下configuration的。 但是,我想暂时将端口5000redirect到机器B,如下所示: —port 5000—>[Main host] | |~~~~~~~~~~~~~~~~[Machine A] |—port 5000—>[Machine B] 我已经尝试设置PF锚来促进这一点,但是因为我是PF新手,所以很难parsing文档以涵盖这个用例。 如何在主要主机上发布dynamicPF规则以将5000从机器A暂时redirect到机器B?
我有一个FreeBSD服务器,我试图让FTP工作。 如果我禁用PF,一切都很好。 如果我在pf运行时连接,我可以成功login – 但只要运行ls,我就可以得到这个结果: ftp> ls 229 Entering Extended Passive Mode (|||61162|) 然后什么都没有..最终我得到这个:421服务不可用,远程服务器超时。 连接closures 如果有人能帮我,我会复制下面的pf.conf文件。 ### macro name for external interface. ext_if = "re0" allowed_icmp_types = "echoreq" ### all incoming traffic on external interface is normalized and fragmented ### packets are reassembled. scrub in on $ext_if all fragment reassemble ### FTP Proxy stuff nat-anchor […]
我试图做一些我认为会相对简单的事情:阻止所有的stream量到testing服务器,而不是我公司的子网。 我已经尝试了这些线(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 这些通过似乎没有工作(我知道其中一些可能会引发语法错误,因为我只是抓住了我在testing时注释掉的所有行)。 这是不是比我想象的简单? 我错过了什么明显的?
我想阻止PF防火墙上的特定MAC地址。 我知道PF防火墙工作在第三层即它在IP地址而不是MAC地址上运行。但是有什么方法可以阻止防火墙上的MAC地址
我有一台运行FreeBSD 9的代理/防火墙机器,使用PF来根据需要路由和过滤stream量。 现在我设置了一个运行在ssh上的git服务器,但是我已经在使用ssh的22端口了。 我想从任何IP到22端口的stream量路由到另一台机器,如果他们用来访问服务器的主机名是一个子域名(git.mydomain.com)。 一种虚拟主机,但对于SSH … 这可能与pf? 有什么build议么?
BSD中是否有相当于LinuxIMQ的? 从linuximq.net: imq设备有两个常见的用例: 入口塑造: 使用linux只有出口整形是可能的(除了只能进行速率限制的入口队列)。 IMQ使您能够使用出口qdiscs进行真正的入口整形。 塑造多个接口: Qdiscs连接到设备。 这样做的结果是一个qdisc只能处理stream量到它所连接的接口。 有时在多个接口上有全局限制是可取的。 使用IMQ,您可以使用iptables来指定qdisc所看到的数据包,因此可以放置全局限制。 在BSD的土地(freebsd的openbsd?)有没有这样的事情,或者达到同样的事情? 我正在研究如何设置每个客户端的最大吞吐量,同时有多个WAN链接。
我试图设置PFredirect规则来强制来自特定用户帐户的所有networkingstream量通过共享计算机上的网页filter。 使用iptables,我可以使用–uid-owner选项来限制规则适用于某些用户,如下所示 iptables -t nat -A OUTPUT -p tcp -m owner ! –uid-owner bob –dport 80 -j REDIRECT –to-port 8080 然而,我不知道如何达到与PF的rdr规则相同的目标。 我尝试了下面的东西,但是在使用pfctl加载规则时出现语法错误。 rdr inet proto tcp from any to any port www user bob -> 127.0.0.1 port 8080