列出配置表
Java代码
sudo ipfw list
禁用ping,即ICMP协议
ipfw add 3333 deny icmp from any to any via en0
取消,则用
sudo ipfw del 3333
* 续
ipfw重启之后就失效了,为了使每次开机都有效,需要加入到启动服务器中,下面是MacOSX下的一个配置例子:
1. 将ipfw规则写入自定的配置文件,例如/etc/rc.firewall
#!/bin/sh IPFW='/sbin/ipfw -q' $IPFW -f flush $IPFW add 100 fwd 127.0.0.1,8080 tcp from any to any 80 in
以上配置规则是我自己用来将80端口访问转向到8080端口使用,如果需要个人web服务器管理,并开启远程ssh登录管理端口。可参考:
http://www.macdevcenter.com/pub/a/mac/2005/03/15/firewall.html
2. 建立目录/Library/StartupItems/Firewall,并在Firewall中创建两个文件:Firewall和StartupParameters.plist。设置属性:
sudo chmod ug+x Firewall StartupParameters.plist
Firewall脚本内容如下:
. /etc/rc.common StartService () { if [ "${FIREWALL:=-NO-}" = "-YES-" ] then ConsoleMessage "Starting Firewall" sh /etc/rc.firewall > /dev/null fi } StopService () { ConsoleMessage "Stopping Firewall" /sbin/ipfw -f -q flush } RestartService () { StopService StartService } RunService "${1:-start}"
StartupParameters.plist配置内容如下:
{ Description = "Firewall"; Provides = ("Firewall"); Requires = ("Network"); OrderPreference = "None"; Messages = { start = "Starting NAT/Firewall"; stop = "Stopping NAT/Firewall"; }; }
3. 设置/etc/hostconfig,在最底下增加一行:
FIREWALL=-YES-
使/Library/StartupItems/Firewall/Firewall的启动脚本能执行启动ipfw服务。
4. 测试
/Library/StartupItems/Firewall/Firewall start
以上内容来自: http://willzh.iteye.com/blog/252362
并做了小的修改,经测试可用