linux命令:編譯安裝iptables

linux命令:編譯安裝iptables


一、編譯安裝iptables前準備:

    卸載iptables前需備份三個文檔:iptables啓動腳本,iptables-config配置文檔,以及已經建立好的iptables規則文檔

[root@johntest ~]# cp /etc/init.d/iptables ~/iptables  #複製iptables啓動腳本

[root@johntest ~]# cp /etc/sysconfig/iptables-config  ~/  #複製iptables配置文檔

[root@johntest ~]# cp /etc/sysconfig/iptables ~/iptables.rules#複製已建立的iptables規則文檔



[root@localhost ~]# mkdir iptables
[root@localhost ~]# cd iptables
[root@localhost iptables]# cp /etc/init.d/iptables ./    #啓動腳本
[root@localhost iptables]# cp /etc/sysconfig/iptables-config ./    #配置文檔
[root@localhost iptables]# cp /etc/sysconfig/iptables ./iptables.rules   #已建立規則文檔
[root@localhost iptables]# ls
iptables  iptables-config  iptables.rules


[root@localhost iptables]# service iptables stop     #停止iptables服務

清除防火牆規則:                [確定]

把 chains 設置爲 ACCEPT 策略:filter       [確定]

正在卸載 Iiptables 模塊:               [確定]

[root@johntest ~]# chkconfig iptables off    #關閉開機自啓動iptables


[root@johntest ~]# rpm -e iptables-ipv6 iptables iptstate --nodeps 

#卸載iptables相關包至少需卸載上述三個包,--nodeps強制卸載忽略依賴關係。

warning: /etc/sysconfig/iptables-config saved as /etc/sysconfig/iptables-config.rpmsave


[root@johntest ~]#  ls  #查看下載的iptables源碼包和netfilter包

 iptables-1.4.6.tar.bz2     netfilter-layer7-v2.23.tar.gz

[root@johntest ~]# tar jxvf iptables-1.4.6.tar.bz2 -C /usr/src  #解壓包到指定路徑/usr/src

[root@johntest ~]# tar zxvf netfilter-layer7-v2.23.tar.gz -C /usr/src # -C指定加壓縮路徑


下載內核包:

lftp 10.109.134.200:/minilinux> mget linux-2.6.18.tar.bz2

[root@johntest src]# tar xf linux-2.6.18.tar.bz2  -C /usr/src 


[root@johntest src]# ln -s linux-2.6.18 linux   #生成軟鏈接爲linux

[root@johntest src]# ls

iptables-1.4.6  kernels  linux  linux-2.6.18  netfilter-layer7-v2.23  redhat

[root@localhost linux]# patch -p1 < ../netfilter-layer7-v2.22/kernel-2.6.25-2.6.28-layer7-2.22.patch
patching file net/netfilter/Kconfig         #打補丁
Hunk #1 succeeded at 407 with fuzz 1 (offset -388 lines).
patching file net/netfilter/Makefile
Hunk #1 succeeded at 50 with fuzz 2 (offset -34 lines).
patching file net/netfilter/xt_layer7.c
patching file net/netfilter/regexp/regexp.c
patching file net/netfilter/regexp/regexp.h
patching file net/netfilter/regexp/regmagic.h
patching file net/netfilter/regexp/regsub.c
patching file net/netfilter/nf_conntrack_core.c
[root@localhost linux]# cp /boot/config-2.6.18-164.el5PAE .config
root@localhost linux]# make menuconfig #編譯內核 

root@localhost linux]# make modules_install #編譯模塊 

root@localhost linux]# make install  #編譯模塊


[root@johntest src]# ls /usr/src

iptables-1.4.6     netfilter-layer7-v2.23  redhat

[root@johntest src]# cp netfilter-layer7-v2.23/iptables-1.4.3forward-for-kernel-2.6.20forward/libxt_layer7.* iptables-1.4.6/extensions/

#把netfilt目錄中libxt_1ayer7.*所有文件複製到iptables中的extensions目錄中


[root@johntest src]# cd iptables-1.4.6/

[root@johntest iptables-1.4.6]# pwd

/usr/src/iptables-1.4.6

[root@johntest iptables-1.4.6]# ./configure --prefix=/usr --with-ksource=/usr/src/linux 

#編譯--prefix指定安裝路徑 --with-ksource指定關聯的源路徑

[root@johntest iptables-1.4.6]# make && make install

[root@johntest iptables-1.4.6]# which iptables #查看剛安裝的iptables路徑

/usr/sbin/iptables

[root@johntest iptables-1.4.6]# cd 

[root@johntest ~]# vim iptables  #需修改2個路徑跟剛纔安裝的iptables一致

wKiom1jM6LazFwdSAAGP6ISRY38779.jpg

[root@johntest ~]# cp iptables /etc/init.d/

[root@johntest ~]# chkconfig --add iptables  #加入到開機啓動列表中

[root@johntest ~]# chkconfig iptables on   #設置開機啓動

[root@johntest ~]# cp iptables-config /etc/sysconfig/

[root@johntest ~]# service iptables start


下載l7-protocols-2009-05-28.tar.gz:

[root@johntest ~]# ls

l7-protocols-2009-05-28.tar.gz utility iptables-1.4.6.tar.bz2  readme  

 etc    iptables    netfilter-layer7-v2.23.tar.gz

[root@johntest ~]# tar xvf l7-protocols-2009-05-28.tar.gz

[root@johntest ~]# cd l7-protocols-2009-05-28

[root@johntest l7-protocols-2009-05-28]# make install  #直接編譯安裝

mkdir -p /etc/l7-protocols

cp -R * /etc/l7-protocols

[root@johntest l7-protocols-2009-05-28]# service iptables restart

[root@johntest l7-protocols-2009-05-28]# cd 

[root@johntest ~]# iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j SNAT --to-source 172.16.100.7  #原地址轉換成172.16.100.7

[root@johntest ~]# iptables -A FORWARD -s 192.168.10.0/24 -m layer7 --l7proto qq -j REJECT

#禁止原地址爲192.168.10.0/24的主機,登錄qq服務



iptables-1.4.6.tar.bz2 下載地址:

http://www.filewatcher.com/d/Gentoo/distfiles/Other/iptables-1.4.6.tar.bz2.463758.html

l7-protocols-2009-05-28.tar.gz 下載地址:

http://download.chinaunix.net/download.php?id=25732&ResourceID=5525


Linux中iptables設置詳細

http://www.linuxidc.com/Linux/2012-03/56066.htm 

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章