自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

使用Iptables進(jìn)行并發(fā)連接限制

運(yùn)維 系統(tǒng)運(yùn)維
使用Iptables進(jìn)行并發(fā)連接限制:Iptables是Linux內(nèi)核的一部分,他是Linux內(nèi)核集成的IP信息包過(guò)濾系統(tǒng)。本文講述的是如何使用Iptables進(jìn)行并發(fā)連接限制

  用Iptables進(jìn)行并發(fā)連接限制

  Iptables是一個(gè)內(nèi)核狀態(tài)的防火墻,也就是說(shuō)它是Linux內(nèi)核的一部分,所以它的功能異常強(qiáng)大,效率非常高。

  進(jìn)入/usr/src/linux-2.6.18.8進(jìn)行內(nèi)核編譯。

  1.   cd /usr/src/linux-2.6.18.8  
  2.  

  make mrproper #確保源代碼目錄下沒(méi)有不正確的.o文件

  make menuconfig #內(nèi)核配置,這步最重要,成不成在此一舉呀。這是編譯內(nèi)核最麻煩的地方,不是特別熟悉的話最好先看看這些選項(xiàng)的意思,最好是把SELinux給關(guān)掉。如果是用vmware虛擬機(jī)的話,記住一定要選中SCSI里的LSI Logic和BusLogic相關(guān)的驅(qū)動(dòng)。

  1.   make  
  2.  
  3.   make modules_install  
  4.  
  5.   depmod –a #生成模塊依賴關(guān)系  
  6.  

  到這里我們就編譯完成了新的內(nèi)核,下面就是配置使用用新的內(nèi)核啟動(dòng)。

  1.   cp /usr/src/linux-2.6.18.8/arch/i386/boot/bzImage /boot/ vmlinuz-2.6.18.8 #壓縮的內(nèi)核文件  
  2.  
  3.   cp /usr/src/linux-2.6.18.8/System.map /boot/System.map-2.6.18.8  
  4.  
  5.   cd /boot  
  6.  

  mkinitrd initrd-2.6.18.8.img #把一些系統(tǒng)啟動(dòng)時(shí)需要的模塊打包

  添加新的啟動(dòng)項(xiàng),用新的內(nèi)核啟動(dòng)系統(tǒng),這里可以參照原有的啟動(dòng)配置項(xiàng)進(jìn)行設(shè)置,示例:

  用vi /etc/grub.conf打開(kāi)文件,加入如下內(nèi)容:

  1.   title Linux-2.6.18.8  
  2.  
  3.   root (hd0,0)  
  4.  
  5.   kernel /vmlinuz-2.6.18.8 ro root=LABEL=/ enforcing=0 
  6.  
  7.   initrd /initrd-2.6.18.8.img  
  8.  

  重新啟動(dòng)計(jì)算機(jī),在啟動(dòng)菜單選擇我們使用剛才新添加的啟動(dòng)項(xiàng),啟動(dòng)新的內(nèi)核。

  相對(duì)于2.4的內(nèi)核來(lái)說(shuō)我感覺(jué)2.6的內(nèi)核編譯起來(lái)更容易些,一般不會(huì)出現(xiàn)什么太大的問(wèn)題,編譯完成后能夠正常的啟動(dòng)。

  Iptables有許多模塊,一些不成熟的模塊是以patch-o-matic的形式存在的,個(gè)人理解就是內(nèi)核補(bǔ)丁。等這些模塊代碼成熟后就后直接加入內(nèi)核。這里我們介紹一個(gè)限制每個(gè)IP并發(fā)連接的模塊,就connlimit,這個(gè)模塊還是以patch-o-matic的形式存在的,所以如果我們想要使用這個(gè)模塊需要以內(nèi)核補(bǔ)丁的形式加入到內(nèi)核源碼中,然后再通過(guò)編譯內(nèi)核,把它們編譯成內(nèi)核模塊的形式使用。

  下面我們以linux-2.6.18-8+Iptables-1.3.7為主來(lái)說(shuō)說(shuō)編譯內(nèi)核使用connlimit。為什么要用linux-2.6.18-8內(nèi)核呢?因?yàn)槟壳白盍餍械腞edHat最新企業(yè)版本也就是5.0版本使用的就是2.6.18-8內(nèi)核,這對(duì)后面升級(jí)操作系統(tǒng)后使用這個(gè)功能可能更方便一點(diǎn)。

  軟件下載后,可以通過(guò)SSH文件傳輸客戶端把它們上傳到Linux的/usr/src目錄下,然后進(jìn)行解壓,命令如下:

  1.   tax –jxvf linux-2.6.18.8.tar.bz2  
  2.  
  3.   tar –jxvf iptables-1.3.7.tar.bz2  
  4.  
  5.   tar –jxvf patch-o-matic-ng-20070414.tar.bz2  
  6.  

  進(jìn)入patch-o-matic-ng,為內(nèi)核打補(bǔ)?。?/P>

  1.   cd /usr/src/patch-o-matic-ng-  
  2.  
  3.   ./runme --download  
  4.  
  5.   KERNEL_DIR=/usr/src/linux-2.6.18.8 IPTABLES_DIR=/usr/src/iptables-1.3.7 ./runme connlimit  
  6.  

      重新進(jìn)入Linux后我們就可以編譯安裝Iptables了。

  1.   cd /usr/src/iptables-1.3.7  
  2.  
  3.   export KERNEL_DIR=/usr/src/linux-2.6.18.8  
  4.  
  5.   export IPTABLES_DIR=/usr/src/iptables-1.3.7  
  6.  
  7.   make BINDIR=/sbin LIBDIR=/lib MANDIR=/usr/share/man install  
  8.  

  現(xiàn)在就可以進(jìn)行設(shè)置試一下了,輸入以下命令:

  1.   iptables –A INPUT –p tcp –dport 22 –m connlimit –connlimit-above 2 –j REJECT  
  2.  

  這條命令是允許每個(gè)IP最多有2個(gè)連接到本機(jī)的22端口。

  好了,趕快用SSH試一下吧,看看超過(guò)兩個(gè)連接還能不能連接上。

  另外,網(wǎng)上有人提供了RHEL4.4的connlimit RPM包,直接安裝上就可以使用,不過(guò)這些包都基于特定內(nèi)核的,所以下載的時(shí)候一定要先用:uname –r看一下自己的內(nèi)核版本,下載適合自己內(nèi)核版本的RPM包。

【編輯推薦】

Iptables的基本語(yǔ)法規(guī)則

iptables的編譯

iptables在Red Hat上的安裝

責(zé)任編輯:zhaolei 來(lái)源: IT專(zhuān)家網(wǎng)
相關(guān)推薦

2021-03-05 00:06:12

Docker容器內(nèi)存

2011-03-17 15:16:38

2011-03-14 16:05:52

IPtables流量

2011-03-17 15:02:48

2019-08-27 08:32:01

nginx訪問(wèn)頻率下載速率

2010-04-16 16:29:57

Unix操作系統(tǒng)

2011-03-31 13:40:48

2011-03-31 13:40:36

MRTGsquid流量

2011-03-31 14:28:15

2011-03-17 12:25:55

iptables ft

2011-03-15 14:50:03

使用IPTables

2011-03-31 13:40:48

MRTGsquid流量

2023-11-21 16:29:06

2011-03-15 15:33:26

IPtablesBT電驢

2009-02-09 10:02:00

遠(yuǎn)程終端服務(wù)

2017-03-02 10:10:34

2018-01-03 10:43:41

2011-03-15 10:00:01

NetfilterIPTables

2011-03-16 09:05:29

iptablesNAT

2021-08-01 15:26:59

協(xié)程Asyncio并發(fā)數(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)