FreeBSD 8.2 RELEASE: pf 好像对 IPv6 失效了?
2011-02-26
约 620 字
预计阅读 2 分钟
刚买的 VPS 没几天,装系统时 FreeBSD 最高有 8.1 RELEASE 可选。今天用
freebsd-update 升级到 8.2 RELEASE 了。
问题就来了:
系统是 IPv4, IPv6 双栈,8.1 的时候我设了个简单的 pf 过滤规则如下:
ext_if="em0"
block in on $ext_if
pass out on $ext_if
pass in on $ext_if proto tcp to ($ext_if) port {ssh, http, https}
在 8.1 下一切如预期。但升级到 8.2 后 IPv6 就失效了。一旦开启 pf,原来通过 IPv6
ssh 上去的账户就没反应了,pf 关掉就没问题了。
将上面最后一句拆成两句分别加 inet 和 inet6,显式写上 IP 地址也没用。
网上搜了下没见有人反映。我怎么看着像 8.2 新引入的 bug 呢。
#uname -a
FreeBSD 8.2-RELEASE #0: Thu Feb 17 02:41:51 UTC 2011
[root@mason.cse.buffalo.edu](mailto:root@mason.cse.buffalo.edu):/usr/obj/usr/src/sys/GENERIC amd64
好久不折腾了,顺带再问几个其他问题哈:
现在 package 有没有二进制升级的方案呢?VPS 配置低了,ports 升级下下即使不死人
,机器也撑不住。刚才试了下 portmaster 升级了 19 个软件包,速度好像也还可以。以前折腾的 FreeBSD 的机器都是内部用途,比如用做桌面机、计算集群、网关、内部
Web 服务器,从来没放到公网任人访问蹂躏过。现在搞的这个想架个站,大概会跑个
PHP 的 CMS 和 MySQL 吧。请问有啥注意事项没?防火墙要不要开,要不要丢进 jail?
对 web 东西不熟悉,在看 jail 的文档中。block drop in on em0 all pass out on em0 all flags S/SA keep state pass in on em0 proto tcp from any to (em0) port = ssh flags S/SA keep state pass in on em0 proto tcp from any to (em0) port = http flags S/SA keep state pass in on em0 proto tcp from any to (em0) port = https flags S/SA keep state
症状目前是这样的:
如果是在 rc.conf 里设置 pf_enable=“YES”的话,那么启动后 IPv6 规则无效。
如果设置 pf_enabel=“NO”,启动后手动 kldload pf.ko,然后 pfctl -f /etc/pf.conf 就有效了。8.1 里我没注意,也许也有这个问题。