Articles of pf

FreeBSD pf出口过滤

我正在尝试构build一个简单的pf.conf,其中包括NAT,允许从选定的一系列端口上的所有系统中将stream量从networking中排除出去。 在我的基本configuration中,我有一个内部服务器,托pipeHTTP / HTTPS,可以通过NATed IP从外部访问。 从内部来看,我只想让客户通过DNS / HTTP / HTTPS离开networking。 int_if="eth0" ext_if="eth1" localnet=$int_if:network nat on $ext_if from $localnet to any -> ($ext_if) comp1="172.16.0.1" rdr on $ext_if proto tcp from any -> $comp1 port http rdr on $ext_if proto tcp from any -> $comp1 port https client_out_tcp = "{ http, https}" client_out_udp = "{ 53 }" […]

用nginx代理的loopback接口正确设置PF

我试图运行我的web服务器和应用程序服务器,这是运行node.js freebsd监狱几个 我有一个网卡( igb0 )与自定义的回送接口( lo666 ),我已经创build了3个别名,这里是我的/etc/rc.conf dumpdev="AUTO" zfs_enable="YES" sshd_enable="YES" local_unbound_enable=yes ifconfig_igb0="inet 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255" # Custom loopback interface cloned_interfaces="lo666" ifconfig_lo666_alias0="inet 10.6.6.6 netmask 255.255.255.255" ifconfig_lo666_alias1="inet 10.6.6.7 netmask 255.255.255.255" ifconfig_lo666_alias2="inet 10.6.6.8 netmask 255.255.255.255" # Default router defaultrouter="192.168.1.254" 在我的/etc/pf.conf我有这个 ### Interfaces ### ExtIf ="igb0" IntIf ="lo666" ### Hosts ### IP_PUB ="192.168.1.1" IP_JAIL = "{10.6.6.6, 10.6.6.7, […]

使用pf进行包过滤,使用ipfw的虚拟networking同时进行带宽限制

我想问一下,对所有的数据包过滤(包括使用altq进行stream量整形)和ipfw的dummynet是否可以同时使用pf来限制某些IP或子网是否合适。 我使用的是FreeBSD 10,我找不到明确的答案。 谷歌search返回的结果如下: 有用 它不起作用 可能工作,但它不稳定,不build议 只要按正确的顺序加载内核模块,它就可以工作 它曾经工作,但最近的FreeBSD版本没有 你可以让它工作,只要你使用pfsense的补丁 然后有一个提到这个补丁可能已经合并到FreeBSD,但我找不到它。 有一点可以肯定的是,pfsense同时使用了两个防火墙,所以问题是FreeBSD 10有没有可能(如果还需要的话,可以在哪里获得补丁)。 以下是我现在所拥有的以及如何加载内容的示例 在/etc/rc.conf ifconfig_vtnet0="inet 80.224.45.100 netmask 255.255.255.0 -rxcsum -txcsum" ifconfig_vtnet1="inet 10.20.20.1 netmask 255.255.255.0 -rxcsum -txcsum" defaultrouter="80.224.45.1" gateway_enable="YES" firewall_enable="YES" firewall_script="/etc/ipfw.rules" pf_enable="YES" pf_rules="/etc/pf.conf" /etc/pf.conf中 WAN1="vtnet0" LAN1="vtnet1" set skip on lo0 set block-policy return scrub on $WAN1 all fragment reassemble scrub on $LAN1 all fragment reassemble […]

快速切换块的快捷方式

看看https://www.openbsd.org/faq/pf/shortcuts.html它不是很清楚,如果这些是相同的 – block quick from <bruteforce> 和- block in quick from <bruteforce> to any block out quick from any to <bruteforce> 同样,我想知道这是否也是等价的 – block quick <bruteforce> (我的目标是阻止表中列出的任何IP地址)。

进入监狱的SSH需要很长时间

我只有一个IP地址,所以我通过NAT进入监狱。 到主机的SSH是闪电般的,但SSH到监狱是非常长的…像20秒之间的SSH命令和提示公钥密码:-s 在pf.conf中: rdr pass log (all) on $ext_if proto tcp to port $jail_ssh -> $jail_ip port ssh pass log (all) quick on $ext_if proto tcp to port $host_ssh Tcp转储除了20秒的时间差距是相同的… sshdconfiguration是相等的..!

把所有阻塞的ips放到一个表中

我想阻止一个特定的端口的所有传入的stream量,并把这些被阻止的数据包的源代码ips表…我不知道一个pf.conf的解决scheme,我想我会用另一种技巧但我真的不知道哪个! 也许通过使用监听来自特定pflog接口的tcp转储的脚本,该接口接收关于那些阻塞的分组的日志,并将ips报告给pfctl add-to-table命令。 任何想法的更轻量级的方式来实现它?

PF上的防火墙允许SSH和OpenVPNstream量

我试图在FreeBSD 11.1-RELEASE上为数据包filter创build一个简单的模板。 我有vtnet0 (公共), vtnet1 (私人,10.10地址)和tun0 (openvpn,完全工作/从客户端testing到我的networking上的节点)。 我的rc.conf如下所示: hostname="bastion" sshd_enable="YES" static_routes="linklocal" ifconfig_vtnet0="DHCP" ifconfig_vtnet0_ipv6="inet6 accept_rtadv" ipv6_activate_all_interfaces="YES" rtsold_enable="YES" rtsold_flags="-aF" ifconfig_vtnet1="inet 10.10.6.20 netmask 255.255.255.0" gateway_enable="YES" openvpn_enable="YES" pf_enable="YES" 我的云提供商通过DHCP为我提供ipv4 / ipv6公共地址。 我已经看过FreeBSD文档和其他有用的剧本,并提出了这个基本的pf.conf: block all set skip on lo0 set skip on tun0 pass out all keep state tcp_services = "{ ssh }" udp_services = "{ openvpn }" pass in […]

PF标记,然后添加到表

有人可以请提供一个例子,如何添加一个标记的数据包到表? 我已经find了从命令行执行它的命令,但你可以设置一个特定的规则来做到这一点在pf.conf? 谢谢。 这一切都是关于PF …

如何运行需要root权限的python脚本,在openbsd中用mod_python在apache中执行

我想用mod_python在Apache 2.x中运行python脚本。 我与发布者编辑了httpd.conf LoadModule python_module /usr/local/apache2/modules/mod_python.so <Directory /usr/local/apache2/htdocs/mod_python> SetHandler mod_python PythonHandler mod_python.publisher PythonDebug On </Directory> 我正在尝试使用需要root权限的python脚本在防火墙中添加规则。 它要求root权限? 请有人帮忙

到本地主机的DNS查找给networking错误

我在FreeBSD的一个监狱里运行一个recursion的DNS服务器,使用pf作为防火墙。 在本地计算机上运行drill @xxx.xxx.xxx.xxx example.com (其中xxx.xxx.xxx.xxx是服务器IP)使我成功查找。 但是,如果我在服务器上同样尝试,无论是在监狱和主机… # drill @localhost example.com Error: error sending query: Could not send or receive, because of network error # drill @xxx.xxx.xxx.xxx example.com Error: error sending query: Could not send or receive, because of network error # drill @127.0.0.1 example.com Error: error sending query: Could not send or receive, because of […]