1.启用IPFW
编辑开机启动文件:/etc/rc.conf
//设定防火墙可用
firewall_enable="YES"
//启用脚本
firewall_script="YES"
//脚本放置位置
firewall_script="/usr/local/etc/ipfw.rules"
2.编写防火墙规则脚本文件
项目需求,仅开启http和ssh服务端口
################Common#################
cmd="/sbin/ipfw -q add"
my_ip="192.168.1.90"
#################Rules#######################
#flush all rules
/sbin/ipfw -q -f flush
#Allow all via loopback to loopback
$cmd 500 allow all from any to any via lo0
$cmd 600 check-state
###############SSH,WWW,and etc.################
允许所有的ssh和http请求和回应
$cmd 01000 allow tcp from any to any 80,22
$cmd 01500 allow tcp from any 80,22 to any
##################ICMP##################
ping我的网络外的主机,ICMP type 8是一个查询请求,ICMP type 0是对查询请求的应答。
由于我只允许反复地发出请求并接受应答,从而我可以ping别人而别人不能ping我。
ipfw add allow icmp from me to any icmptypes 8 out
ipfw add allow icmp from any to me icmptypes 0 in