知道为什么该规则无法解析吗?
ipfw add 10 deny ip from \{ not 127.0.0.1 and not 10.12.34.0/24 \} to any 53 out xmit wan0
ipfw 不喜欢并说:ipfw: missing ")"
我尝试了其他变体,例如,将 not 放在括号表达式前面,将两个 IP 放在一个表中,然后说,not table(xyzzy)
但什么都不起作用。
有没有办法用 ipfw 来表达这一点?
答案1
正如评论中提到的那样,在{...}
或块中,各个选项只能分组或者条件。和条件是隐含地假设所有当前选项的,并且不是条件可以作为任何单个选项的前缀。在旧语法中,规则应这样写:
ipfw add 10 deny ip from not 127.0.0.1,10.12.34.0/24 to any 53 out xmit wan0
或者,使用新的语法,它不需要from ... to
,而是仅包含任意选项列表:
ipfw add 10 deny proto ip not src-ip 127.0.0.1 not src-ip 10.21.34.0/24 dst-port 53 out xmit wan0