• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 如何給iptables添加模塊

    發表于:2007-07-04來源:作者:點擊數: 標簽:
    iptables 添加模塊HOWTO http://chinaunix.net/jh/4/505370.html 如何給iptables添加模塊(v2.2) 這個文檔很簡單,只有“準備工作”和“安裝步驟”兩部分,在這里我要特別感謝China Unix 的“gouya”和“lyxmoo”, 他們給了我很大幫助,也謝謝在此期間關心幫
    iptables 添加模塊HOWTO
    http://chinaunix.net/jh/4/505370.html

    如何給iptables添加模塊(v2.2)
    這個文檔很簡單,只有“準備工作”和“安裝步驟”兩部分,在這里我要特別感謝ChinaUnix的“gouya”和“lyxmoo”,
    他們給了我很大幫助,也謝謝在此期間關心幫助過我的朋友們。
    準備工作
    需要一個內核源碼,下載最新內核源碼包或者使用系統自帶的RPM包均可
    需要一個最新的patch-o-matic-ng,可以到官方網站下載最新的快照
    http://ftp.netfilter.org/pub/patch-o-matic-ng/snapshot/
    需要一個最新的iptables,可以到官方網站獲取
    http://www.netfilter.org/downloads.html
    安裝步驟(以CentOS-3.4為例)
    1、展開壓縮包
    cd /usr/src
    yum install kernel-source
    wget
    http://www.netfilter.org/files/iptables-1.3.1.tar.bz2
    wget http://ftp.iasi.roedu.net/netfilter/patch-o-matic-ng/snapshot/patch-o-matic-ng-20050307.tar.bz2
    tar xjvf iptables-1.3.1.tar.bz2
    tar xjvf patch-o-matic-ng-20050307.tar.bz2
    2、給netfilter打補丁
    cd /usr/src/linux-2.4
    make mrproper
    make menuconfig,什么都不做,直接保存退出(見注解1)
    uname -r,可得到“2.4.21-27.0.2.EL”的信息
    vi Makefile,將“EXTRAVERSION = -27.0.2.ELcustom”改為“EXTRAVERSION = -27.0.2.EL”
    cd /usr/src/patch-o-matic-ng-20050307
    KERNEL_DIR=/usr/src/linux-2.4 IPTABLES_DIR=/usr/src/iptables-1.3.1 ./runme base(見注解2)
    一路“y、回車”,如果發現和內核源碼有沖突或者其他原因打不上,可以“n、回車”,直到結束
    cd /usr/src/linux-2.4
    make menuconfig,確認[*] Prompt for development and/or incomplete code/drivers要選中
    然后進入Networking options
    再進入IP:Netfilter Configuration,會看到增加很多模塊,把你想要的選中“”(見注解3)
    保存、退出,至此,給netfilter打補丁工作完成
    3、編譯、并啟用netfilter模塊
    cd /usr/src/linux-2.4
    head -n4 Makefile(見注解4)
    make dep
    make modules SUBDIRS=net/ipv4/netfilter
    cp -f net/ipv4/netfilter/*.o /lib/modules/2.4.21-27.0.2.EL/kernel/net/ipv4/netfilter/
    depmod –a
    4、編譯安裝iptables
    cd /usr/src/iptables-1.3.1
    export KERNEL_DIR=/usr/src/linux-2.4
    export IPTABLES_DIR=/usr/src/iptables-1.3.1
    make BINDIR=/sbin LIBDIR=/lib MANDIR=/usr/share/man install
    ln -s /lib/iptables /usr/local/lib/iptables(可不做,由于之前的iptables-1.3.0有BUG,所以有可能要用到)
    5、測試是否成功
    iptables -A FORWARD -m iprange --src-range 192.168.1.5-192.168.1.124 -j ACCEPT
    iptables -A OUTPUT -m time --timestart 8:00 --timestop 18:00 -j ACCEPT
    iptables -A FORWARD -m string --string "sex" -j DROP
    iptables -A FORWARD -m ipp2p --edk --bit -j DROP
    [root@platinum root]# iptables -nL
    Chain FORWARD (policy ACCEPT)
    target prot opt source destination
    ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 source IP range 192.168.1.5-192.168.1.124
    DROP all -- 0.0.0.0/0 0.0.0.0/0 STRING match "sex"
    DROP all -- 0.0.0.0/0 0.0.0.0/0 ipp2p v0.7.2 --edk --bit
    Chain INPUT (policy ACCEPT)
    target prot opt source destination
    Chain OUTPUT (policy ACCEPT)
    target prot opt source destination
    ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 TIME from 8:0 to 18:0 on all days
    [root@platinum root]#
    FAQ
    Q:為什么depmod -a,提示類似下列的話?
    depmod: *** Unresolved symbols in /lib/modules/2.4.21-27.0.2.EL/kernel/net/ipv4/ah4.o
    A:這里失敗的原因是因為模塊版本與當前內核版本不匹配,往往是沒有修改Makefile造成的,另一個原因就是,修改
    Makefile的工作必須在make dep之前
    Q:我一切都做完了,也沒出錯,為什么我調用模塊時提示iptables: No chain/target/match by that name?
    A:因為您沒有在make menuconfig里面,將[*] Prompt for development and/or incomplete code/drivers選中
    或者沒有在Networking options -> IP:Netfilter Configuration里面選中要編譯的模塊
    Q:為什么我在Networking options -> IP:Netfilter Configuration里面沒有看到補丁出來的模塊選項?
    A:必須在給netfilter打補丁之前,先make menuconfig后保存退出,生成一個.config
    Q:depmod -a的時候,出現很多錯誤,怎么辦?
    A:刪除掉那些模塊,然后再depmod -a
    Q:在編譯iptables時,有些ipv6的模塊總編譯不過去,但我實際不需要ipv6的支持,應該怎么做?
    A:以random舉例,在extensions/.random-test6文件中,可以看到一個監測信息,屏蔽掉即可
    Q:一切已經OK,但是啟動的時候,-j MASQUERADE無效,提示“iptables: No chain/target/match by that name”
    A:需要執行前手動加載模塊modprobe ipt_MASQUERADE
    Q:為什么modprobe ip_nat_ftp的時候出錯?
    A:修改/lib/modules/2.4.21-27.0.2.EL/modules.dep,找到ip_nat_ftp,刪除含有ip_nat_core 的行,順便刪除
    /lib/modules/2.4.21-27.0.2.EL/kernel/net/ipv4/netfilter/ip_nat_core.o,然后再depmod –a,發現有錯誤,
    繼續刪除發生錯誤的文件,直到depmod -a,沒有錯誤為止
    Q:為什么我make modules SUBDIRS=net/ipv4/netfilter的時候,提示我一堆錯誤?
    A:第一次make menuconfig生成.config文件之前,先執行一次make mrproper
    注解:
    1、為了生成.config文件,否則以后會有問題
    2、根據README,可以選擇base或者extra等參數,這里我們只打基本包
    3、IPV6的東西我沒有選,因為我不需要
    4、確認信息和uname -r的版本一致,否則編譯的模塊不能被現有內核使用
    2005年3月13日
    白金
    ChinaUnix - platinum

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>