首先先查看下系统是否有启用IPFW的相关模块,使用命令 ipfw list查看,如果出现下面这样的提示:
ipfw list
ipfw: getsockopt(IP_FW_GET): Protocol not available
表示是内核不支持,需要重新编译内核
编译内核:
1.进入/usr/src/sys/amd64/conf/ #amd64是你系统的架构,如果你系统是x86的话,就进入x86目录
2.拷贝GENERIC生成另外内核配置文件,如我的就是cp GENERIC OVPN,不建议直接修改GENERIC来生成新内核,因为系统升级时会重新覆盖掉此文件
3.在新配置文件中添加如下几行
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=100
options IPFIREWALL_FORWARD
options IPFIREWALL_NAT
options IPFIREWALL_DEFAULT_TO_ACCEPT
options DUMMYNET
options IPDIVERT
options LIBALIAS
4.然后重新编译,安装内核
cd /usr/src
make buildkernel KERNCONF=OVPN
make installkernel KERNCONF=OVPN
5.成功安装后重启电脑还要配置自动启用FIREWALL
vim /etc/rc.conf
增加
firewall_enable="YES"
firewall_type="open"
firewall_script="/etc/ipfw.rules" #这个表示是防火墙脚本位置,可以自定义
firewall_nat_enable="YES"
firewall_nat_interface="em0"
具体内容可参考手册:
附:在freebsd8以后,IPFW增加内核级NAT功能,具体所示IPFIREWALL_NAT adds support for in kernel nat in ipfw, and it requires LIBALIAS
阅读(3301) | 评论(0) | 转发(0) |