<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[我形我素]]></title> 
<link>http://blog.cnxgo.com/blog/index.php</link> 
<description><![CDATA[我形我素,放荡不羁]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[我形我素]]></copyright>
<item>
<link>http://blog.cnxgo.com/blog/read.php?25</link>
<title><![CDATA[IPFW配制全过程（freebsd）]]></title> 
<author>cnxgo &lt;admin@cnxgo.com&gt;</author>
<category><![CDATA[FreeBSD]]></category>
<pubDate>Wed, 26 Aug 2009 10:03:05 +0000</pubDate> 
<guid>http://blog.cnxgo.com/blog/read.php?25</guid> 
<description>
<![CDATA[ 
	一个刚装好的系统如何让他做防火墙,IPFW在BSD上可谓极品.以下是朋友的教程.拿来学习一下.<br/><br/>IPFW 的主要部分是在内核中运行的， 因此会需要在FreeBSD内核配置文件中添加部分选项。（注意，如果你没有安装FreeBSD核心源代码，是无法进入以下目录的，所以运行之前一定要先安装内核源代码）我们先进入内核配置文件：(系统安装好后要把SYS包装上)<br/># cd /sys/i386/conf<br/># cp GENERIC ./kernel_fw&nbsp;&nbsp;（这里是新建一个内核文件）<br/>打开内核配置文件：<br/># ee ./kernel_fw<br/>添加四个选项，不需要后面的注释信息：<br/>options IPFIREWALL # 将包过滤部分的代码编译进内核。<br/>options IPFIREWALL_VERBOSE<br/># 启用通过syslogd记录的日志。如果没有指定这个选项，即使您在过滤规则中指定记录包， 也不会真的记录它们<br/>options IPFIREWALL_VERBOSE_LIMIT=10<br/># 限制通过 syslogd(8) 记录的每项包规则的记录条数。在恶劣的环境中如果您想记录防火墙的活动， 而又不想由于 syslog 洪水一般的记录而导致拒绝服务攻击， 那么这个选项将会很有用。<br/>options IPFIREWALL_DEFAULT_TO_ACCEPT<br/># 这将把默认的规则动作从 “deny’’ 改为 “allow’’。这可以防止在没有配置防火墙之前使用启用过 IPFIREWALL&nbsp;&nbsp;支持的内核重启时把自己锁在外面。 另外， 如果您经常使用 ipfw(8) 来解决一些问题时它也非常有用。 尽管如此，在使用时应该小心，因为这将使防火墙敞开， 并改变它的行为。<br/>options&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IPFIREWALL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #必要项<br/>options&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BRIDGE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#启动网关用<br/>options&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DUMMYNET&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #流量控制<br/>options&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IPFIREWALL_VERBOSE&nbsp;&nbsp;&nbsp;&nbsp;<br/>options&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IPFIREWALL_VERBOSE_LIMIT=10&nbsp;&nbsp;<br/>options&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IPFIREWALL_DEFAULT_TO_ACCEPT&nbsp;&nbsp;<br/><br/><br/><br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/>编译内核：<br/># /usr/sbin/config kernel_fw<br/># cd ../compile/kernel_fw (注意你的版本，如果是低于5.0的版本用../../compile/kernel_fw)<br/># make depend&nbsp;&nbsp;（需要注意的是。在运行内核的时候。系统在安装完后会反复的安装。你只要在完成后按CTRL+C停止就可以了）<br/># make<br/># make install<br/><br/>然后在/etc/sysctl.conf中加入以下行用于(做透明网关用,如果是NAT转换就不用开了)<br/><br/>启用Bridge和IPFW：net.link.ether.bridge_cfg=fxp1,fxp2(这里的FXP是你的网卡名)<br/><br/>net.link.ether.bridge=1&nbsp;&nbsp;<br/><br/>net.link.ether.bridge_ipfw=1<br/><br/>注：在FreeBSD5.2以上版本，上面的设置应改为：<br/><br/>net.link.ether.bridge.enable=1<br/>net.link.ether.bridge.config=fx1,fx2<br/>net.link.ether.bridge.ipfw=1<br/>到了这里还是和转贴的文章一样。下面开始修改配置文件<br/><br/>vi&nbsp;&nbsp;/etc/rc.conf<br/>添加以下内容<br/><br/>firewall_enable=”YES”&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;激活Firewall防火墙 (必须要)<br/><br/>firewall_script=”/etc/rc.firewall”&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 防火墙的默认脚本<br/>上一句和firewall_type=”OPEN” 效果一样<br/><br/>firewall_type=”/etc/ipfw.conf”&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;自定义脚本<br/><br/>firewall_quiet=”NO”<br/>　　启用脚本时，是否显示规则信息；假如你的防火墙脚本已经不会再有修改，那么就可以把这里设置成“YES”了。<br/><br/>firewall_logging_enable=”YES”&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;启用Firewall的Log记录<br/><br/>如果要开记NAT转换的话请添加以下行<br/>natd_interface="em0"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //NATD服务启用在哪块网卡。&nbsp;&nbsp;<br/>natd_enable="YES"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//激活NATD服务&nbsp;&nbsp;<br/>natd_flags="-config /etc/natd.conf"&nbsp;&nbsp;&nbsp;&nbsp;//NATD服务参数设置文件。&nbsp;&nbsp;<br/>gateway_enable="YES"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//启动网关&nbsp;&nbsp;<br/><br/><br/><br/><br/>add 00400 divert natd ip from any to any via xl0&nbsp;&nbsp; //natd服务启动设置<br/>要是开NET转换请用以下设置添加/etc/natd.conf这个文件，其内容如下：&nbsp;&nbsp;<br/><br/>log yes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//启动natd的log记录。&nbsp;&nbsp;<br/>redirect_port tcp 192.168.0.2:25 x.x.x.x:25&nbsp;&nbsp;&nbsp;&nbsp; //把对服务器IP为x.x.x.x的smtp <br/>访问转到192.168.0.2的25上去。&nbsp;&nbsp;<br/><br/><br/>　　<br/>添加完后保存。然后重起机器 <br/>
]]>
</description>
</item><item>
<link>http://blog.cnxgo.com/blog/read.php?6</link>
<title><![CDATA[ipfw命令来控制流量]]></title> 
<author>cnxgo &lt;admin@cnxgo.com&gt;</author>
<category><![CDATA[FreeBSD]]></category>
<pubDate>Sat, 29 Mar 2008 12:24:51 +0000</pubDate> 
<guid>http://blog.cnxgo.com/blog/read.php?6</guid> 
<description>
<![CDATA[ 
	使用ipfw命令来控制流量和防火墙策略。其中流量控制是作为一条防火墙策略实现的，因此ipfw是唯一的管理界面。通过实例来说明ipfw的使用。<br/><br/>在实例中，网段192.168.254.0/24经过第一组网桥，网段192.168.250.0/24经过第二组网桥，并建立以下策略：<br/><br/>允许所有的ICMP连接，限制总流量为10Kbit/s<br/><br/>允许所有的UDP链接，限制总流量为100Kbit/s<br/><br/>允许TCP到网段192.168.254.0/24的所有连接，限制流量为5Mbit/s<br/><br/>允许TCP到主机192.168.250.222的HTTP连接，限制流量为2Mbit/s<br/><br/>允许TCP到主机192.168.250.0/24的所有其他连接，限制流量为1Mbit/s<br/><br/>禁止其他所有连接<br/><br/>——————————————————————————–<br/>实例<br/><br/># ipfw -flush<br/># ipfw add 100 pipe 1 icmp from any to any<br/># ipfw pipe 1 config bw 10Kbit/s<br/># ipfw add 200 pipe 2 udp from any to any<br/># ipfw pipe 2 config bw 100Kbit/s<br/># ipfw add 300 pipe 3 tcp from 192.168.254.0/24 to any<br/># ipfw pipe 3 config bw 5Mbit/s<br/># ipfw add 400 pipe 4 tcp from any to 192.168.254.0/24<br/># ipfw pipe 4 config bw 5Mbit/s<br/># ipfw add 500 pipe 5 tcp from any to 192.168.250.222 80<br/># ipfw pipe 5 config bw 2Mbit/s<br/># ipfw add 600 pipe 6 tcp from 192.168.250.222 80 to any<br/># ipfw pipe 6 config bw 2Mbit/s<br/># ipfw add 700 pipe 7 tcp from 192.168.250.0/24 to any<br/># ipfw pipe 7 config bw 1Mbit/s<br/># ipfw add 800 pipe 8 tcp from any to 192.168.250.0/24<br/># ipfw pipe 8 config bw 1Mbit/s<br/># ipfw add 60000 deny ip from any to any<br/># ipfw -a l <br/><br/>
]]>
</description>
</item><item>
<link>http://blog.cnxgo.com/blog/read.php?5</link>
<title><![CDATA[IPFW配制全过程  ]]></title> 
<author>cnxgo &lt;admin@cnxgo.com&gt;</author>
<category><![CDATA[FreeBSD]]></category>
<pubDate>Sat, 29 Mar 2008 12:24:02 +0000</pubDate> 
<guid>http://blog.cnxgo.com/blog/read.php?5</guid> 
<description>
<![CDATA[ 
	一个刚装好的系统如何让他做防火墙,IPFW在BSD上可谓极品.以下是朋友的教程.拿来学习一下.<br/><br/>IPFW 的主要部分是在内核中运行的， 因此会需要在FreeBSD内核配置文件中添加部分选项。（注意，如果你没有安装FreeBSD核心源代码，是无法进入以下目录的，所以运行之前一定要先安装内核源代码）我们先进入内核配置文件：(系统安装好后要把SYS包装上)<br/># cd /sys/i386/conf<br/># cp GENERIC ./kernel_fw&nbsp;&nbsp;（这里是新建一个内核文件）<br/>打开内核配置文件：<br/># ee ./kernel_fw<br/> 添加四个选项，不需要后面的注释信息：<br/>options IPFIREWALL # 将包过滤部分的代码编译进内核。<br/>options IPFIREWALL_VERBOSE<br/># 启用通过syslogd记录的日志。如果没有指定这个选项，即使您在过滤规则中指定记录包， 也不会真的记录它们<br/>options IPFIREWALL_VERBOSE_LIMIT=10<br/># 限制通过 syslogd(8) 记录的每项包规则的记录条数。在恶劣的环境中如果您想记录防火墙的活动， 而又不想由于 syslog 洪水一般的记录而导致拒绝服务攻击， 那么这个选项将会很有用。<br/>options IPFIREWALL_DEFAULT_TO_ACCEPT<br/># 这将把默认的规则动作从 “deny’’ 改为 “allow’’。这可以防止在没有配置防火墙之前使用启用过 IPFIREWALL&nbsp;&nbsp;支持的内核重启时把自己锁在外面。 另外， 如果您经常使用 ipfw(8) 来解决一些问题时它也非常有用。 尽管如此，在使用时应该小心，因为这将使防火墙敞开， 并改变它的行为。<br/>options&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IPFIREWALL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #必要项<br/>options&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BRIDGE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#启动网关用<br/>options&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DUMMYNET&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #流量控制<br/>options&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IPFIREWALL_VERBOSE&nbsp;&nbsp;&nbsp;&nbsp;<br/>options&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IPFIREWALL_VERBOSE_LIMIT=10&nbsp;&nbsp;<br/>options&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IPFIREWALL_DEFAULT_TO_ACCEPT&nbsp;&nbsp;<br/><br/><br/><br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/> 编译内核：<br/># /usr/sbin/config kernel_fw<br/># cd ../compile/kernel_fw (注意你的版本，如果是低于5.0的版本用../../compile/kernel_fw)<br/># make depend&nbsp;&nbsp;（需要注意的是。在运行内核的时候。系统在安装完后会反复的安装。你只要在完成后按CTRL+C停止就可以了）<br/># make<br/># make install<br/><br/>然后在/etc/sysctl.conf中加入以下行用于(做透明网关用,如果是NAT转换就不用开了)<br/><br/>启用Bridge和IPFW：net.link.ether.bridge_cfg=fxp1,fxp2(这里的FXP是你的网卡名)<br/><br/>net.link.ether.bridge=1&nbsp;&nbsp;<br/><br/>net.link.ether.bridge_ipfw=1<br/><br/>注：在FreeBSD5.2以上版本，上面的设置应改为：<br/><br/>net.link.ether.bridge.enable=1<br/>net.link.ether.bridge.config=fx1,fx2<br/>net.link.ether.bridge.ipfw=1<br/>到了这里还是和转贴的文章一样。下面开始修改配置文件<br/><br/>vi&nbsp;&nbsp;/etc/rc.conf<br/>添加以下内容<br/><br/>firewall_enable=”YES”&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;激活Firewall防火墙 (必须要)<br/><br/>firewall_script=”/etc/rc.firewall”&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 防火墙的默认脚本<br/>上一句和firewall_type=”OPEN” 效果一样<br/><br/>firewall_type=”/etc/ipfw.conf”&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;自定义脚本<br/><br/>firewall_quiet=”NO”<br/>　　启用脚本时，是否显示规则信息；假如你的防火墙脚本已经不会再有修改，那么就可以把这里设置成“YES”了。<br/><br/>firewall_logging_enable=”YES”&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;启用Firewall的Log记录<br/><br/>如果要开记NAT转换的话请添加以下行<br/>natd_interface="em0"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //NATD服务启用在哪块网卡。&nbsp;&nbsp;<br/>natd_enable="YES"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//激活NATD服务&nbsp;&nbsp;<br/>natd_flags="-config /etc/natd.conf"&nbsp;&nbsp;&nbsp;&nbsp;//NATD服务参数设置文件。&nbsp;&nbsp;<br/>gateway_enable="YES"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//启动网关&nbsp;&nbsp;<br/><br/><br/><br/><br/>add 00400 divert natd ip from any to any via xl0&nbsp;&nbsp; //natd服务启动设置<br/>要是开NET转换请用以下设置添加/etc/natd.conf这个文件，其内容如下：&nbsp;&nbsp;<br/><br/>log yes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//启动natd的log记录。&nbsp;&nbsp;<br/>redirect_port tcp 192.168.0.2:25 x.x.x.x:25&nbsp;&nbsp;&nbsp;&nbsp; //把对服务器IP为x.x.x.x的smtp <br/>访问转到192.168.0.2的25上去。&nbsp;&nbsp;<br/><br/><br/>　　<br/>添加完后保存。然后重起机器 <br/><br/>
]]>
</description>
</item>
</channel>
</rss>