这里的测试环境为Red Hat 9.0,内核为2.4.20-8。由于2.4.*是一个稳定的内核,因此不能把当前开发的一些新功能提交到主内核中去,而只能首先在patch-o-matic中测试,然后打补丁到内核中。在CVS中可以找到最新的patch-o-matic包—Patch-o-matic-20040609.tar.bz2。
生成补丁目录patch-o-matic-20040609。Red Hat 9.0中默认的内核目录为/usr/src/linux-2.4。进入补丁目录/usr/src/patch-o-matic-20040609,由于支持P2P协议控制选项需要CONNMARK模块,该模块在extra子目录下,因此需要运行如下命令来升级内核补丁。
# iptables -m ipp2p --help …… IPP2P v0.5c options: --ipp2p Grab all known p2p packets (抓所有已知的P2P包) --ipp2p-data Grab all known p2p data packets (抓所有已知P2P数据包) --edk Grab all known eDonkey/eMule/Overnet packets (抓所有已知的eDonkey/eMule/Overnet类型的包) --edk-data Grab all eDonkey/eMule/Overnet data packets (抓所有已知的eDonkey/eMule/Overnet数据包) --dc Grab all known Direct Connect packets (抓所有已知的直接连接包) --dc-data Grab all Direct Connect data packets (抓所有已知的直接连接数据包) --kazaa Grab all KaZaA packets (抓所有KaZaA包) --kazaa-data Grab all KaZaA data packets (抓所有KaZaA数据包) --gnu Grab all Gnutella packets (抓所有Gnutella包) --gnu-data Grab all Gnutella data packets (抓所有Gnutella数据包) --bit Grab all BitTorrent packets (beta - handle with care) (抓所有BitTorrent包) --apple Grab all