利用 FreeBSD 组建安全的网关

在FreeBSD上可以使用ipfw/natd来做NAT及firewall , 也可以使用ipfilter来做NAT 。;
以下介绍使用IP;Filter来做NAT;
1、使用二块网卡 。一块是Realtek;8139C , 在内核认到为:rl0(对外) ,
一块是D-Link;530TX , 在内核认到为:vr0(对外) 。;
2、设置IP地址 。在/etc/rc.conf中加上:;
ifconfig_rl0="inet;163.163.163.163;netmask;255.225.225.225"
(安装FreeBSD时认到的网卡1 , 不用添加;163.163.163.163为ISP给你的静态IP地址 。
拨号的我没试过 。也不知到怎样做 , 如果哪位知道请告诉我一声 。);
ifconfig_vr0="inet;192.168.0.1;netmask;255.255.255.0" (设置第二块网卡的IP地址);
3、修改/etc/rc.conf , 改为:;
firewall_enable="NO";
gateway_enable="YES";
4、因为ipfw和ipfilter是不能共存的 。所以如果要使用ipfilter,必须将内核中有关
ipfw的部份注释掉 。;
#mkdir;/root/kernels;
#cd;/usr/src/i386/conf;
#cp;GENERIC;/root/kernels/mykernel;
#ln;-s;/root/kernels/mykernel;
先在内核的配置文件查找IPFIREWALL , 执行:;
#grep;-i;IPFIREWALL;/root/kernels/mykernel;
如果找到 , 就注释掉 , 做法如下:;
#options;IPFIREWALL;
#options;IPDIVERT;
如果找不到IPFIREWALL , 可以直接添加:;
options;IPFILTER;
options;IPFILTER_LOG;
保存mykernel;
#config;mykernel;
#cd;/usr/src;
#make;buildkernel;KERNCONF=mykernel;
#make;installkernel;KERNCONF=mykernel;
#reboot;
重启进入FreeBSD , 如果在开机信息里看到IP;Filter;3.4.16;installed;表明内核
已经支持IP;Filter 。;
5、建立ipnat配置文件 。;
#vi;/etc/ipnat.conf;
加入:;
map;rl0;192.168.0.0/24;->;163.163.163.163/255.225.225.225;portmap;tcp/udp;10000:65000;
map;rl0;192.168.0.0/24;->;163.163.163.163/255.225.225.225;
保存ipnat.conf;
6、设定开机自动执行ipnat 。在/usr/local/etc/rc.d/目录下建立runipnat.sh;
#vi;runipnat.sh;
加入内容如下:;
#!/bin/sh;
/sbin/ipnat;-f;/etc/ipnat.conf;
将runipnat.conf设为可执行 。;
#chmod;755;runipnat.sh;
完成后 , 重新启动机器 。;
OK!NAT已经做完了 。接着就是你自已测试一下 。;
ipnat;-l; 会列出目前ipnat的设定及状况;
ipnat;-C 清除ipnat的设定;
ipfstat 监测数据的流量;

    推荐阅读