iptables系列二

iptables系列之基本應(yīng)用及顯式擴(kuò)展

netfilter:Framework,TCP,內(nèi)核中

iptables語(yǔ)法

  iptables [-t table] command CHAIN [num] 匹配條件 -j 處理動(dòng)作

匹配條件:
    通用匹配
     -s
     -d 
     -p {tcp|udp|icmp}
     擴(kuò)展匹配
        隱含匹配
        顯式匹配
命令:
   管理規(guī)則:
      -A:附加一條規(guī)則碘箍,添加在鏈的尾部
      -I CHAIN [num]:插入一條規(guī)則笑诅,插入為對(duì)應(yīng)CHAIN上的第num條轻掩,不加num魂迄,默認(rèn)第一條
      -D CHAIN [num]:刪除指定鏈中的第mun條規(guī)則
      -R CHAIN [num]:替換指定的規(guī)則辛孵;
      
    管理鏈:
       -F [CHAIN]: flush,清空指定規(guī)則鏈,如果省略CHAIN耕突,則可以實(shí)現(xiàn)刪除對(duì)應(yīng)表中的所有鏈
       -P CHAIN:設(shè)定指定鏈的默認(rèn)策略
       -N:自定義一條新的空鏈
       -X:刪除一個(gè)自定義的空鏈赵哲,如若非空总处,可以先-F 清空,再刪除狭归。
       -Z:置零指定鏈中所有規(guī)則的計(jì)數(shù)器
       -E:重命名自定義的鏈夭坪。
    查看類:
       -L:顯示指定表中的規(guī)則;
             -n:以數(shù)字格式顯示主機(jī)地址和端口號(hào)
            -v:顯示詳細(xì)信息
            -vv:更詳細(xì)
            -x:顯示計(jì)數(shù)器精確值
            --line-numbers:顯示規(guī)則號(hào)碼
iptables -L -n 
iptables -t filter -L -n 
iptables -t nat -L -n 
iptables -t filter -A INPUT -s 172.16.0.0/16 -j DROP 

動(dòng)作(target):

    ACCECT :放行
    DROP   :丟棄
    REJECT  :拒絕
    DNAT   :目標(biāo)地址轉(zhuǎn)換
    SNAT  :源地址轉(zhuǎn)換
    REDIRECT  :端口重定向
    MASQUERADE:地址偽裝
    LOG  :日志
    MARK :打標(biāo)記
    NOTRACK 
    SET

擴(kuò)展匹配

  隱含匹配:
       -p tcp 
            --sport PORT[-PORT]:源端口
            --dport PORT[-PORT]:目標(biāo)端口(可以連續(xù)的端口)
            --tcp-flags  msak comp :只檢查mask指定的標(biāo)志位过椎,是用逗號(hào)分隔的標(biāo)志列表室梅;comp:此列表中出現(xiàn)的標(biāo)記位必須為1,comp中沒出現(xiàn)的疚宇,而mask中出現(xiàn)的亡鼠,必須為0。
            --syn:三次握手的第一次

       -p icmp 
             --icmp-type 
                0:echo-reply
                8:echo-request 
       -p udp 
            --sport 
            --dport 
    -p tcp -m tcp --dport   
    顯式擴(kuò)展:  明確指定的擴(kuò)展,使用額外的匹配機(jī)制
     -m EXTESTION   --spe-opt 
         state:狀態(tài)擴(kuò)展
             結(jié)合nf_conntrack追蹤會(huì)話的狀態(tài)
                  NEW:新連接請(qǐng)求
                  ESTABLISH:已建立的連接 
                  INVALID:非法連接 
                  RELATED:相關(guān)聯(lián)的敷待。
                  
    -m state --state NEW -j ACCEPT 
    -m state --state NEW,ESTABLISHED  -j ACCEPT 放行兩個(gè)间涵。
    -m     multiport 離散多端口匹配擴(kuò)展
          --source-ports
          --destination-ports 
          --ports 

注意:iptables不是服務(wù),但是有服務(wù)腳本榜揖,服務(wù)腳本的主要作用在于管理保存的規(guī)則勾哩,
由于iptables是工作在內(nèi)核中的,需要載入內(nèi)存的举哟,防止所定義的規(guī)則重啟后消失思劳,所以要保存這些規(guī)則,以及下一次生效妨猩,刪除等潜叛。
裝載及移除iptables/netfilter相關(guān)的內(nèi)核模塊

     
    
--tcp-flags SYN,FIN,ACK,RST SYN,ACK   --syn 
 (檢查TCP的SYN,FIN,ACK,RST4個(gè)標(biāo)志位其中只能SYN,ACK為1)   
 iptables -t filter -A INPUT -s 172.16.0.0/16 -d 172.16.100.7 -p tcp  --dport 22 -j ACCEPT 
 iptables -t filter -A OUTPUT -s 172.16.100.7 -d 172.16.0.0/16 -p tcp --sport 22 -j  ACCEPT
 
 
 lsmod:用于查看相關(guān)模塊是否載入。
 lsmod - program to show the status of modules in the Linux Kernel
 
 lsmod |grep ip 
 
ip_conntrack:做ip追蹤的 
 
serrvice  iptables stop
lsmod |grep ip 
關(guān)閉iptables的服務(wù)腳本册赛,就是將iptables的內(nèi)核模塊移除钠导。
 
vim /etc/init.d/iptables 
/sbin/modprobe 
/sbin/rmmod 
modprobe(8), rmmod(8), lsmod(8)
insmod 
iptables -t filter -A INPUT -s 172.16.0.0/16 -d 172.16.1.3 -p tcp --dport 22 -j ACCEPT 
iptables -t filter -A  OUTPUT -s 172.16.1.3 -d 172.16.0.0/16 -p tcp --sport 22 -j ACCEPT 
iptables -P INPUT DROP 
iptables -P OUTPUT DROP 
iptables  -P FORWARD DROP 

iptables -t filter -I INPUT -d 172.16.1.3 -p tcp --dport 80 -j ACCEPT 
iptables -t filter -I INPUT -s 172.16.1.3 -p tcp --sport 80 -j ACCEPT 

iptables -t filter -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT 
iptables -t filter -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -o lo -j ACCEPT 

icmp-type
http://www.cnitblog.com/yang55xiaoguang/articles/59581.html 
TYPE    CODE    Description
0   0   Echo Reply——回顯應(yīng)答(Ping應(yīng)答)
8   0   Echo request——回顯請(qǐng)求(Ping請(qǐng)求)

可以實(shí)現(xiàn)自己可以ping通任何人,其他人不可以ping本機(jī):

iptables -t filter -A OUTPUT -s 172.16.1.3 -p icmp --icmp-type 8  -j ACCEPT 
iptables -t filter -A INPUT -d 172.16.1.3 -p icmp --icmp-type 0 -j ACCEPT  

允許dns的請(qǐng)求:

iptables -t filter -A INPUT -d 172.16.1.3 -p udp --dport 53 -j ACCEPT 
iptables -t filter -A OUTPUT -s  172.16.1.3 -p udp --sport 53 -j ACCEPT

dns服務(wù)器的迭代:

iptables -t filter -A OUTPUT -s 172.16.1.3 -p udp --dport 53 -j ACCEPT 
iptables -t filter -A INPUT -d 172.16.1.3 -p udp --sport 53 -j ACCEPT 

反彈式木馬:

反彈木馬森瘪,是駐留在用戶計(jì)算機(jī)里的一段服務(wù)程序牡属,而攻擊者控制的則是相應(yīng)的客戶端程序。服務(wù)程序通過(guò)特定的端口扼睬,打開用戶計(jì)算機(jī)的連接資源逮栅。一旦攻擊者所掌握的客戶端程序發(fā)出請(qǐng)求,反彈木馬便和他連接起來(lái)窗宇,將用戶的信息竊取出去措伐。

連接追蹤:
 ip_conntrack 
 可以追蹤tcp和udp
 
 A--->B  
 連接跟蹤(CONNTRACK),顧名思義军俊,就是跟蹤并且記錄連接狀態(tài)侥加。Linux為每一個(gè)經(jīng)過(guò)網(wǎng)絡(luò)堆棧的數(shù)據(jù)包,生成一個(gè)新的連接記錄項(xiàng) (Connection entry)粪躬。
 
    /proc/net/ip_conntrack
    /proc/net/nf_conntrack el6 
    保存當(dāng)前系統(tǒng)上每一個(gè)客戶端和主機(jī)的所建立的連接狀態(tài)担败。
iptstate 
iptstate - A top-like display of IP Tables state table entries
  -t  顯示連接個(gè)數(shù) 
 
 /proc/net/nf_conntrack保留ip的連接狀態(tài)昔穴,進(jìn)行追蹤。
 
 modprobe -r ip_conntrack 移除模塊 
 modprobe -r nfnetlink
 
 service iptables stop 
 modprobe ip_conntrack 
 多少個(gè)連接就會(huì)有多少個(gè)條目
 /proc/sys/net/ipv4/ip_conntrack_max 
 /proc/sys/net/filter/nf_conntrack_max 
 /proc/sys/net/filter/nf_conntrack_max   定義nf_conntrack存儲(chǔ)多少個(gè)條目提前,最多可以建立多少連接吗货。若連接超過(guò)定義的值就會(huì)丟棄,導(dǎo)致大量的超時(shí)狈网。
 
 注意:在業(yè)務(wù)繁忙的網(wǎng)站宙搬,此模塊一定不要開啟。
 iptables -t nat -L  會(huì)觸發(fā)nf_conntrack模塊拓哺。
可以修改:
  vim /etc/sysctl.conf 
net.netfilter.nf_conntrack_max = 655360
net.nf_conntrack_max = 655360   
 
iptables啟動(dòng)時(shí)會(huì)讀取/etc/sysconfig/iptables 
service iptables save  保存iptables的規(guī)則

iptables-save > /etc/sysconfig/iptables.20150818
iptables-restore < /etc/sysconfig/iptables.20150818 
手動(dòng)保存規(guī)則以及手動(dòng)載入規(guī)則勇垛。

允許ssh和http的服務(wù),并且還要追蹤(以及默認(rèn)策略):

iptables -F 
iptables -t filter -A INPUT -d 172.16.1.3 -p tcp --dport 22 -m state --state  NEW,ESTABLISHED -j ACCEPT 
iptables -t filter -A OUTPUT -s 172.16.1.3 -P tcp --sport 22 -m state --state  ESTABLISHED -j ACCEPT  

iptables -P INPUT DROP 
iptables -P OUTPUT DROP 
iptables -P FORWARD DROP 

iptables -t filter -A INPUT -d 172.16.1.3 -p tcp --dport 80 -m --state NEW,ESTABLISHED -j ACCEPT 
iptables -t filter -A OUTPUT -s 172.16.1.3 -p tcp --sport 80 -m --state ESTABLISHED -j ACCEPT 

sysctl -w net.netfilter.nf_conntrack_max=65536 



sysctl - configure kernel parameters at runtime
EXAMPLES
       /sbin/sysctl -a

       /sbin/sysctl -n kernel.hostname

       /sbin/sysctl -w kernel.domainname="example.com"

       /sbin/sysctl -p /etc/sysctl.conf

在/proc/sys/net/netfilter/目錄下參數(shù)進(jìn)行配置以及超時(shí)時(shí)間拓售。

若要永久有效將參數(shù)寫在/etc/sysctl.conf 
iptables -t filter -A INPUT -d 172.16.1.3 -p icmp --icmp-type 8 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -t filter -A OUTPUT -s 172.16.1.3 -p icmp --icmp-type 0 -m state --state ESTABLISHED -j ACCEPT 


ping 172.16.1.3
iptstate -t 

iptables -L -n --line-numbers 



iptables -t filter -I OUTPUT -s 172.16.1.3 -m state --state ESTABLISHED -j ACCEPT 
iptables -t filter -I INPUT -d 172.16.1.3 -m state --state NEW,ESTABLISHED -j ACCEPT 

iptables -D OUTPUT 2 

vim /etc/vsftpd/vsftpd.conf 
pasv_enable=NO 
servicevsftpd restart 


允許ftp主動(dòng)模式通過(guò):
iptables -t filter 


iptables -R OUTPUT 1 -s 172.16.1.3 -m state ESTABLISHED,RELATED -j ACCEPT 
 
iptables -R OUTPUT 1 -d  172.16.1.3 -m state NEW,ESTABLISHED,RELATED -j ACCEPT 


注意:要裝載nf_

vim /etc/sysconfig/iptables-config 
IPTABLES_MODULES="nf_nat_ftp nf_conntrack_ftp"

service iptables reload 

iptables -I INPUT 2 -d 172.16.1.3 -p tcp -m mutiport --destination-ports 21,22,80 -m state --state NEW -j ACCEPT 


注意: !  表示條件取反
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末窥摄,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子础淤,更是在濱河造成了極大的恐慌崭放,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,718評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鸽凶,死亡現(xiàn)場(chǎng)離奇詭異币砂,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)玻侥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門决摧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人凑兰,你說(shuō)我怎么就攤上這事掌桩。” “怎么了姑食?”我有些...
    開封第一講書人閱讀 158,207評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵波岛,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我音半,道長(zhǎng)则拷,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,755評(píng)論 1 284
  • 正文 為了忘掉前任曹鸠,我火速辦了婚禮煌茬,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘彻桃。我一直安慰自己坛善,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著浑吟,像睡著了一般笙纤。 火紅的嫁衣襯著肌膚如雪耗溜。 梳的紋絲不亂的頭發(fā)上组力,一...
    開封第一講書人閱讀 50,050評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音抖拴,去河邊找鬼燎字。 笑死,一個(gè)胖子當(dāng)著我的面吹牛阿宅,可吹牛的內(nèi)容都是我干的候衍。 我是一名探鬼主播,決...
    沈念sama閱讀 39,136評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼洒放,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼蛉鹿!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起往湿,我...
    開封第一講書人閱讀 37,882評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤妖异,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后领追,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體他膳,經(jīng)...
    沈念sama閱讀 44,330評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評(píng)論 2 327
  • 正文 我和宋清朗相戀三年绒窑,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蟀俊。...
    茶點(diǎn)故事閱讀 38,789評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡订雾,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出误甚,到底是詐尸還是另有隱情谱净,我是刑警寧澤,帶...
    沈念sama閱讀 34,477評(píng)論 4 333
  • 正文 年R本政府宣布冈钦,位于F島的核電站,受9級(jí)特大地震影響李请,放射性物質(zhì)發(fā)生泄漏瞧筛。R本人自食惡果不足惜厉熟,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評(píng)論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望较幌。 院中可真熱鬧揍瑟,春花似錦、人聲如沸乍炉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)岛琼。三九已至底循,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間槐瑞,已是汗流浹背熙涤。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留困檩,地道東北人祠挫。 一個(gè)月前我還...
    沈念sama閱讀 46,598評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像窗看,于是被迫代替她去往敵國(guó)和親茸歧。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容

  • iptables簡(jiǎn)介 netfilter/iptables(簡(jiǎn)稱為iptables)組成Linux平臺(tái)下的包過(guò)濾防...
    yshenhn閱讀 112,280評(píng)論 2 78
  • iptabels是與Linux內(nèi)核集成的包過(guò)濾防火墻系統(tǒng)显沈,幾乎所有的linux發(fā)行版本都會(huì)包含iptables的功...
    隨風(fēng)化作雨閱讀 4,757評(píng)論 1 16
  • 目前市面上比較常見的有3软瞎、4層的防火墻,叫網(wǎng)絡(luò)層的防火墻拉讯,還有7層的防火墻涤浇,其實(shí)是代理層的網(wǎng)關(guān)。 三層的防火墻會(huì)在...
    輝耀輝耀閱讀 2,637評(píng)論 0 2
  • (本文源于轉(zhuǎn)載或摘抄整理) 一:前言 防火墻只锭,其實(shí)說(shuō)白了講蜻展,就是用于實(shí)現(xiàn)Linux下訪問(wèn)控制的功能的纵顾,它分為硬件的...
    JackyTsuuuy閱讀 8,952評(píng)論 1 6
  • 祛濕的兩大方法是:一、增加體表的排汗汉额;二、提高人體對(duì)水的利用率怎茫。 關(guān)系到水在人體中的運(yùn)化率的三大內(nèi)臟是:腎遭居、脾、肺...
    曾晨風(fēng)閱讀 3,899評(píng)論 1 1