新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > Linux Iptables 內核2.6.18添加time模塊

        Linux Iptables 內核2.6.18添加time模塊

        作者: 時間:2018-09-06 來源:網絡 收藏

        系統:CentOS 5.1 內核:2.6.18-53.1.19.el5

        本文引用地址:http://www.104case.com/article/201809/388532.htm

        iptables 版本 1.3.5(系統自帶的)

        下載一個內核:linux-2.6.18 解壓到/usr/src/linux

        #cd linux

        #make mrproper

        #make menuconfig

        什么也不做,退出.

        vi Makefile

        把EXTRAVERSION = 更改為EXTRAVERSION = -53.1.19.el5

        保持跟uname -a 的版本一致

        下載一個iptables1.3.5解壓到/usr/src/iptables (下面會用到)

        (下載)patch-o-matic-ng-20080214.tar.bz2

        wget ftp://ftp.netfilter.org/pub/iptables/iptables-1.4.0.tar.bz2

        #cd patch-o-matic-ng-20080214

        #./runme --download

        ...........

        應用time補丁到內核:

        選y ,至此,netfilter的補丁打完了,如果你需要別的模塊可以根據需要加上.

        編譯kernel的modules

        #cd /usr/src/linux

        #make menuconfig

        在Device Drivers->;Networking support->;Networking options->;Network packet filtering (replaces ipchains)

        ->;IP: Netfilter Configuration中把下面的兩項M選中.

        ; TIME match support

        保存,退出.

        編譯安裝模塊

        下面就是最重要的步驟了,因為我們的原則是節省時間,不重新編譯內核,而只編譯其中的模塊,這點2.4的內核跟2.6的內核有所不同,2.4內核的模塊是以*.o形式的,而2.6內核是以*.ko形式的,

        [root@jiecho]# make modules

        HOSTCC scripts/basic/fixdep

        HOSTCC scripts/basic/split-include

        HOSTCC scripts/basic/docproc

        HOSTCC scripts/conmakehash

        HOSTCC scripts/kallsyms

        CC scripts/empty.o

        HOSTCC scripts/mk_elfconfig

        MKELF scripts/elfconfig.h

        HOSTCC scripts/file2alias.o

        HOSTCC scripts/modpost.o

        HOSTCC scripts/sumversion.o

        HOSTLD scripts/modpost

        HOSTCC scripts/pnmtologo

        HOSTCC scripts/bin2c

        到這里就可以ctrl+c中止了,因為我們不是要編譯所有的模塊,這樣太浪費時間,而僅僅是netfilter的模塊,但是如果你直接執行make modules SUBDIRS=net/ipv4/netfilter就會出錯,這就是2.4和2.6的區別,我們先生成了scripts目錄下的一系列需要的文件后就可以make modules SUBDIRS=net/ipv4/netfilter,并用modpost等等把*.o文件生成為*.ko文件.

        #make modules SUBDIRS=net/ipv4/netfilter

        編譯完成netfilter的模塊后拷貝編譯完成的模塊

        #chmod +x /usr/src/linux/net/ipv4/netfilter/ipt_time.ko

        # cp /usr/src/linux/net/ipv4/netfilter/ipt_time.ko /lib/modules/2.6.18-53.1.19.el5/kernel/net/ipv4/netfilter/

        #depmod -a 或 insmod /usr/src/linux/net/ipv4/netfilter/ipt_time.ko

        #lsmod   grep ip

        此時,能看到以下東東

        ipt_time 6400 1

        但現在還不能用,還卻少libipt_time.so 這個東東

        現編譯下載的iptables

        #cd /usr/src/iptables

        #make KERNEL_DIR=/usr/src/linux

        # make install KERNEL_DIR=/usr/src/linux (我編譯時出現不少警告,錯誤!)

        完了以后,

        #cp /usr/src/iptables/extensions/libipt_time.so /lib/iptables中

        到此結束, iptables -A INPUT -m time --timestart 8:00 --timestop 18:00 --days Mon,Tue,Wed,Thu,Fri



        關鍵詞:

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 井冈山市| 祁连县| 自贡市| 巴林左旗| 和静县| 芒康县| 洞口县| 大厂| 当涂县| 微山县| 越西县| 神木县| 达日县| 抚宁县| 乾安县| 静安区| 南丰县| 襄城县| 龙岩市| 开化县| 锡林浩特市| 佛学| 平遥县| 会宁县| 都江堰市| 洪江市| 勃利县| 伊宁市| 江津市| 富锦市| 独山县| 广昌县| 马公市| 凤台县| 科尔| 澳门| 尼勒克县| 崇左市| 玉屏| 柳林县| 北海市|