传送门
操作录像
FreeBSD-12.2 IPFW防火墙基本应用视频教程
1. 前言
FreeBSD提供三个内核级防火墙,其中IPFIREWALL(IPFW)是由FreeBSD团队开发和维护的,就用它吧。使用手册网页版参考 -> 这里,命令行版的自己输入man ipfw看吧。本章节所有操作如无特殊说明,均使用root用户执行命令。
2. 设置防火墙开机启动
设置防火墙服务自启动
echo firewall_enable="yes" >> /etc/rc.conf
3. 启动防火墙
service ipfw start
4. 查看现有规则
命令:
ipfw list
5. 编辑防火墙规则
ipfw默认情况下使用/etc/rc.firewall作为防火墙规则配置文件,并拒绝所有连接。我们创建一个/etc/ipfw.rules文件,替换原来的(修改原来的麻烦)。
cat >> /etc/ipfw.rules << EOF
#!/bin/sh
IPF="ipfw -q add"
ipfw -q flush
\$IPF 10010 allow all from any to any via lo0
\$IPF 10020 allow all from 192.168.56.0/24 to me 22,3306 in
\$IPF 10030 allow all from any to me 8080 in
\$IPF 20000 allow all from me to any out
\$IPF 20010 deny log all from any to any
EOF
让防火墙使用我们新的配置文件
echo firewall_script="/etc/ipfw.rules" >> /etc/rc.conf
service ipfw restart
说明:本文中开放了局域网段(192.168.56.0/24)的22,3306端口访问,以及所有网段的8080端口的访问。还有,20000号规则允许本机(me)访问外网的所有地址及端口。不够再加就是了。除上述以外的情况,例如外部地址访问本机的其它端口的请求,全都使用20010号规则进行deny操作,也就是说,本文使用的防火墙规则是白名单类型。
6. 删除防火墙规则
直接干/etc/ipfw.rules文件的内容即可,不要的干掉干掉。