linux iptables模組limit和connlimit的區別?憶奇植悟館2019-06-26 09:58:57

linuxiptables模組limit和connlimit的區別?系統:CentOS 5。1 核心:2。6。18-53。1。19。el5 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

linux iptables模組limit和connlimit的區別?星哥講娛樂2019-06-26 10:03:14

linux下清空iptables規則具體方法如下:

iptables -t nat -F

iptables -t nat -X

iptables -t nat -P PREROUTING ACCEPT

iptables -t nat -P POSTROUTING ACCEPT

iptables -t nat -P OUTPUT ACCEPT

iptables -t mangle -F

iptables -t mangle -X

iptables -t mangle -P PREROUTING ACCEPT

iptables -t mangle -P INPUT ACCEPT

iptables -t mangle -P FORWARD ACCEPT

iptables -t mangle -P OUTPUT ACCEPT

iptables -t mangle -P POSTROUTING ACCEPT

iptables -F

iptables -X

iptables -P FORWARD ACCEPT

iptables -P INPUT ACCEPT

iptables -P OUTPUT ACCEPT

iptables -t raw -F

iptables -t raw -X

iptables -t raw -P PREROUTING ACCEPT

iptables -t raw -P OUTPUT ACCEPT。

linux iptables模組limit和connlimit的區別?沒資格說苦2019-06-26 10:00:31

iptables -I INPUT -p tcp ——dport目標埠 -m connlimit ——connlimit-above 10 -jREJECT這個規則在沒有載入任何iptables模組時,是不能用的,會報類似錯誤:[root@localhost ~]# iptables -IINPUT -p tcp ——dport 8000 -m connlimit ——connlimit-above 4 -jREJECTiptables: Unknown error 4294967295這個錯誤表示,系統核心沒有connlimit模組支援!因此,就需要將connlimit加入核心支援,也就是需要給核心打補丁,重新編譯iptables和系統核心!下面是詳細操作過程1:先在

http://ftp。netfilter。org/pub/patch-o-matic-ng/snapshot/

處下載patch-o- matic-ng補丁, 注意最新並且含有connlimit的補丁包好像是patch-o-matic-ng-20060725。tar。bz2,之後的補丁包中都沒有connlimit補丁;2:然後下載iptables原始碼

http://ftp。netfilter。org/pub/ipt。。。

。5-20060823。tar。bz2,3:最後下載kernel原始碼ftp://

ftp。kernel。org/pub/linux/kernel/v2。6/,

編譯

2。4。x

核心一般沒有問題,2。6。11以下的似乎也沒有什麼問題,不過2。6。12開始打補丁時,會提示。。。的錯誤。在打完補丁後使用connlimit模組時會報一個奇怪的錯誤“connlimit match: invalid size0!=16 iptables: Invalid argument”,而且在編譯核心模組時有一些警告“signed//unsigned comparision warnings”,不知道是什麼原因,只好換一個低版本核心linux-2。6。15。tar。bz2。由於redhat as4的核心預設沒有connlimit模組,所以要編譯核心,在網上好像有不編譯核心給iptables新增模組的辦法,但我沒成功,只好老老實實編譯核心。4:操作開始:#cppatch-o-matic-ng-20060725。tar。bz2 iptables-1。3。5-20060823。tar。bz2linux-2。6。15。tar。bz2 /usr/src/ #bunzip2 -d*。bz2 #tar xvf*

。tar

#ln -siptables-1。3。5-20060823 iptables #ln -slinux-2。6。15 linux #cd/usr/src/linux #makemrproper #makeclean #cd/usr/src/patch-o-matic-ng-20060725 #。/runmeconnlimit直接打補丁會報錯,需要修改/usr/src/patch-o-matic-ng-20060725/patchlets/connlimit/linux-2。6。11/net/ipv4/netfilter/

Makefile。ladd

檔案,將obj-$(CONFIG_IP_NF_MATCH_STATE) +=

ipt_state。o

改為obj-$(CONFIG_IP_NF_MATCH_TOS) += ipt_tos。o#。/runme connlimit #cd/usr/src/linux #makemenuconfig 注意:核心引數一定要將Networking——>Networking options——->Network packet filtering(replacesipchains)——->IP: Netfilter Configuration——->Connections/IP limit match support選為模組或編譯進核心;如果你找不到這一項,那麼剛才打補丁沒有成功;如果你對多如牛毛的核心選項很煩,你可以用makeoldconfig,www。ixdba。net#make bzImage #makemodules #makemodules_install #makeinstall 編譯完成後,可以開始編譯iptables #cd/usr/src/iptables #makeKERNEL_DIR=/usr/src/linux#make install KERNEL_DIR=/usr/src/linux #make install-devel5:重啟後,試一試命令iptables -m connlimit -helpiptables -I INPUT -p tcp -m connlimit ——connlimit-above 4 -jREJECTiptables -L如成功則補丁打成功了。