ipf+ipnat+ipfw建立带流量控制的透明网关(1) FreeBSD新手,第一次写心得,不清楚之处还敬请原谅。有问题的地方还望不吝指教!谢谢! 近日因为宿舍的adsl猫的路由功能被电信屏蔽,因此使用FreeBSD5.1+ipf+ipnat+ipfw+双网卡+pppoe搞定带流量控制的透明网关。 原来使用ipfw+natd,因为pppoe得到的tun0的ip是动态的,无法做到端口映射。虽然可以成功代理和可控,但是没有达到预定目的,故弃用。 下面是我的配置过程: (1)当然是重新编译内核。(注:如果你是新装的系统,建议修改完cpu类型以后来一次make world,可以提高系统的效率。) 添加下列项目: options IPSTEALTH \\是防火墙透明 options IPFILTER \\打开ipf options IPFILTER_LOG \\打开ipf的日志 options IPFILTER_DEFAULT_BLOCK \\ipf默认规则,deny all 然后编译内核。 注意:如果要ipf和ipfw同时使用,切记要将ipf编译到内核里面,然后再kld ipfw。如果将两者都编译进内核会导致系统启动的时候卡在一个检测网络接口的地方。 (2)安装新内核以后,就是详细配置相关规则了。 (a):ppp拨号的设置比较简单,下面就给出一个示范性的ppp.conf文件,内容如下: default: set log Phase Chat LCP IPCP CCP tun command set redial 15 28800 set reconnect 15 28800 pppoe: #加入在kernel中配置的会连接ADSL设备的网卡的名称,我的是rl0 set device PPPoE:rl0 set mru 1492 set mtu 1492 set speed sync enable lqr set lqrperiod 5 set cd 5 set dial set login set timeout 0