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

Linux Iptables 語(yǔ)法大全

運(yùn)維 系統(tǒng)運(yùn)維
我們?cè)跒樽约旱腖inux系統(tǒng)配置Iptables時(shí),要學(xué)習(xí)幾個(gè)比較關(guān)鍵的東西: Iptables 語(yǔ)法,中文、英文都有語(yǔ)法,來(lái)讓我們?cè)谖恼轮姓蚁翷inux Iptables 的語(yǔ)法吧!

Linux Iptables 語(yǔ)法還是比較重要的,讓我們來(lái)看看有些值得我們關(guān)注。

  1. 對(duì)鏈的操作

  建立一個(gè)新鏈 (-N)。

  刪除一個(gè)空鏈 (-X)。

  改變一個(gè)內(nèi)建鏈的原則 (-P)。

  列出一個(gè)鏈中的規(guī)則 (-L)。

  清除一個(gè)鏈中的所有規(guī)則 (-F)。

  歸零(zero) 一個(gè)鏈中所有規(guī)則的封包字節(jié)(byte) 記數(shù)器 (-Z)。

  2. 對(duì)規(guī)則的操作

  加入(append) 一個(gè)新規(guī)則到一個(gè)鏈 (-A)的最后。

  在鏈內(nèi)某個(gè)位置插入(insert) 一個(gè)新規(guī)則(-I),通常是插在最前面。

  在鏈內(nèi)某個(gè)位置替換(replace) 一條規(guī)則 (-R)。

  在鏈內(nèi)某個(gè)位置刪除(delete) 一條規(guī)則 (-D)。

  刪除(delete) 鏈內(nèi)第一條規(guī)則 (-D)。

  3. 指定源地址和目的地址

  通過--source/--src/-s來(lái)指定源地址(這里的/表示或者的意思,下同),通過--destination/--dst/-s來(lái)指定目的地址??梢允褂靡韵滤闹蟹椒▉?lái)指定ip地址:

  a. 使用完整的域名,如“www.linuxaid.com.cn”;

  b. 使用ip地址,如“192.168.1.1”;

  c. 用x.x.x.x/x.x.x.x指定一個(gè)網(wǎng)絡(luò)地址,如“192.168.1.0/255.255.255.0”;

  d.

  用x.x.x.x/x指定一個(gè)網(wǎng)絡(luò)地址,如“192.168.1.0/24”這里的24表明了子網(wǎng)掩碼的有效位數(shù),這是

  UNIX環(huán)境中通常使用的表示方法。

  缺省的子網(wǎng)掩碼數(shù)是32,也就是說指定192.168.1.1等效于192.168.1.1/32。

  4. 指定協(xié)議

  可以通過--protocol/-p選項(xiàng)來(lái)指定協(xié)議,比如-p tcp。

  5. 指定網(wǎng)絡(luò)接口將

  可以使用--in-interface/-i或--out-interface/-o來(lái)指定網(wǎng)絡(luò)接口。需要注意的是,對(duì)于INPUT鏈來(lái)說,只可能有-i,也即只會(huì)有進(jìn)入的包;通理,對(duì)于OUTPUT鏈來(lái)說,只可能有-o,也即只會(huì)有出去的包。只有FORWARD鏈既可以有-i的網(wǎng)絡(luò)接口,也可以有-o的網(wǎng)絡(luò)接口。我們也可以指定一個(gè)當(dāng)前并不存在的網(wǎng)絡(luò)接口,比如ppp0,這時(shí)只有撥號(hào)成功后該規(guī)則才有效。

  6. 指定ip碎片

  在TCP/IP通訊過程中,每一個(gè)網(wǎng)絡(luò)接口都有一個(gè)最大傳輸單元(MTU),這個(gè)參數(shù)定義了可以通過的數(shù)據(jù)包的最大尺寸。如果一個(gè)數(shù)據(jù)包大于這個(gè)參數(shù)值時(shí),系統(tǒng)會(huì)將其劃分成更小的數(shù)個(gè)數(shù)據(jù)包(稱之為ip碎片)來(lái)傳輸,而接收方則對(duì)這些ip碎片再進(jìn)行重組以還原整個(gè)包。

  但是再進(jìn)行包過濾的時(shí)候,ip碎片會(huì)導(dǎo)致這樣一個(gè)問題:當(dāng)系統(tǒng)將大數(shù)據(jù)包劃分成ip碎片傳送時(shí),第一個(gè)碎片含有完整的包頭信息,但是后續(xù)的碎片只有包頭的部分信息,比如源地址,目的地址。因此假如我們有這樣一條規(guī)則:

  iptables -A FORWARD -p tcp -s 192.168.1.0/24 -d 192.168.2.100 --dport 80 -j

  ACCEPT

  并且這時(shí)的FORWARD的策略(policy)為DROP時(shí),系統(tǒng)只會(huì)讓第一個(gè)ip碎片通過,而丟掉其余的ip碎片,因?yàn)榈谝粋€(gè)碎片含有完整的包頭信息,可以滿足該規(guī)則的條件,而余下的碎片因?yàn)榘^信息不完整而無(wú)法滿足規(guī)則定義的條件,因而無(wú)法通過。

  我們可以通過--fragment/-f選項(xiàng)來(lái)指定第二個(gè)及其以后的ip碎片,比如以上面的例子為例,我們可以再加上這樣一條規(guī)則來(lái)解決這個(gè)問題:

  iptables -A FORWARD -f -s 192.168.1.0/24 -d 192.168.2.100 -j ACCEPT

  但是需要注意的是,現(xiàn)在已經(jīng)有好多進(jìn)行ip碎片攻擊的實(shí)例(比如向Win98 NT4/SP5,6

  Win2K發(fā)送大量的ip碎片進(jìn)行DoS攻擊),因此允許ip碎片通過是有安全隱患的,對(duì)于這一點(diǎn)我們可以采用iptables的匹配擴(kuò)展來(lái)進(jìn)行限制,但是這又會(huì)影響服務(wù)質(zhì)量,我們將在下面討論這個(gè)問題。

  7. 指定非

  可以在某些選項(xiàng)前加上!來(lái)表示非指定值,比如“-s -!

  192.168.1.1/32”表示除了192.168.1.1以外的ip地址,“-p -!

  tcp”表示除了tcp以外的協(xié)議。

#p#

  8. TCP匹配擴(kuò)展

  通過使用--tcp-flags選項(xiàng)可以根據(jù)tcp包的標(biāo)志位進(jìn)行過濾,該選項(xiàng)后接兩個(gè)參數(shù):第一個(gè)參數(shù)為要檢查的標(biāo)志位,可以是SYN,ACK,F(xiàn)IN,RST,URG,PSH的組合,可以用ALL指定所有標(biāo)志位;第二個(gè)參數(shù)是標(biāo)志位值為1的標(biāo)志。比如你要過濾掉所有SYN標(biāo)志位為1的tcp包,可以使用以下規(guī)則:

  iptables -A FORWARD -p tcp --tcp-flags ALL SYN -j DROP

  選項(xiàng)--syn是以上的一種特殊情況,相當(dāng)于“--tcp-flags SYN,RST,ACK SYN”的簡(jiǎn)寫。

  9. mac匹配擴(kuò)展

  可以使用-m選項(xiàng)來(lái)擴(kuò)展匹配內(nèi)容。使用--match mac/-m

  mac匹配擴(kuò)展可以用來(lái)檢查ip數(shù)據(jù)包的源mac地址。只要在--mac-source后面跟上mac地址就可以了。比如:

  iptables -A FORWARD -m mac --mac-source 00:00:BA:A5:7D:12 -j DROP

  需要注意的是一個(gè)ip包在經(jīng)過路由器轉(zhuǎn)發(fā)后,其源mac地址已經(jīng)變成了路由器的mac地址。

  10. limit匹配擴(kuò)展

  limit擴(kuò)展是一個(gè)非常有用的匹配擴(kuò)展。使用-m nat 來(lái)指定,其后可以有兩個(gè)選項(xiàng):

  --limit avg:

  指定單位時(shí)間內(nèi)允許通過的數(shù)據(jù)包的個(gè)數(shù)。單位時(shí)間可以是/second、/minute、/hour、/day或使用第一個(gè)字母,比如5/second和5/s是一樣的,都是表示每秒可以通過5個(gè)數(shù)據(jù)包,缺省值是3/hour。

  --limit-burst number:指定觸發(fā)事件的閥值,缺省值是5。

  看起來(lái)好像有點(diǎn)復(fù)雜,就讓我們來(lái)看一個(gè)例子:

  假設(shè)又如下的規(guī)則:

  iptables -A INPUT -p icmp -m limit --limit 6/m --limit-burst 5 -j ACCEPT

  iptables -P INPUT DROP

  然后從另一部主機(jī)上ping這部主機(jī),就會(huì)發(fā)生如下的現(xiàn)象:

  首先我們可以看到前四個(gè)包的回應(yīng)都很正常,然后從第五個(gè)包開始,我們每10秒可以收到一個(gè)正常的回應(yīng)。這是因?yàn)槲覀冊(cè)O(shè)定了單位時(shí)間(在這里是每分鐘)內(nèi)允許通過的數(shù)據(jù)包的個(gè)數(shù)是每分鐘6個(gè),也即每10秒鐘一個(gè);其次我們又設(shè)定了事件觸發(fā)閥值為5,所以我們的前四個(gè)包都是正常的,只是從第五個(gè)包開始,限制規(guī)則開始生效,故只能每10秒收到一個(gè)正?;貞?yīng)。

  假設(shè)我們停止ping,30秒后又開始ping,這時(shí)的現(xiàn)象是:

  前兩個(gè)包是正常的,從第三個(gè)包開始丟包,這是因?yàn)樵谶@里我的允許一個(gè)包通過的周期是10秒,如果在一個(gè)周期內(nèi)系統(tǒng)沒有收到符合條件的包,系統(tǒng)的觸發(fā)值就會(huì)恢復(fù)1,所以假如我們30秒內(nèi)沒有符合條件的包通過,系統(tǒng)的觸發(fā)值就會(huì)恢復(fù)到3,假如5個(gè)周期內(nèi)都沒有符合條件的包通過,系統(tǒng)都觸發(fā)值就會(huì)完全恢復(fù)。不知道你明白了沒有,歡迎你來(lái)信討論。

  11. LOG目標(biāo)擴(kuò)展

  netfilter缺省的目標(biāo)(也就是一旦滿足規(guī)則所定義以后系統(tǒng)對(duì)數(shù)據(jù)包的處理方法)有:

  ACEEPT:接收并轉(zhuǎn)發(fā)數(shù)據(jù)包

  DORP:丟掉數(shù)據(jù)包

  目標(biāo)擴(kuò)展模塊提供了擴(kuò)展的目標(biāo)。LOG目標(biāo)提供了記錄數(shù)據(jù)包的功能。該目標(biāo)擴(kuò)展有以下幾個(gè)參數(shù):

  --log-level:指定記錄信息的級(jí)別,級(jí)別有debug、info、notice、warning、err、crit、alert、emerg分別對(duì)應(yīng)7到0的數(shù)字。其含義請(qǐng)參看syslog.conf的man手冊(cè)。

  --log-prefix:后接一個(gè)最長(zhǎng)為30個(gè)字符的字符串,該字符串將出現(xiàn)在每一條日志的前面。

  12. REJECT目標(biāo)擴(kuò)展

  該目標(biāo)擴(kuò)展完全和DORP標(biāo)準(zhǔn)目標(biāo)一樣,除了向發(fā)送方返回一個(gè)“port

  unreachable”的icmp信息外。

  還有其他一些擴(kuò)展是常用的,如果你想了解可以參考Packet-Filtering-HOWTO。當(dāng)然,最直接獲得幫助的辦法是查看iptables的在線幫助,比如想得到關(guān)于mac匹配擴(kuò)展的幫助可以執(zhí)行“iptables

  -m mac -help”命令,想得到LOG目標(biāo)擴(kuò)展的幫助可以執(zhí)行“iptables -j LOG

  -help”命令。

通過文章,我們知道了十二條有用的Linux Iptables 語(yǔ)法,希望對(duì)大家有所幫助!

【編輯推薦】

  1. 用iptables做IP的靜態(tài)映射
  2. 如何把iptables外網(wǎng)端口全部映射到內(nèi)網(wǎng)一臺(tái)主機(jī)上
  3. 配置Linux 內(nèi)核并利用iptables 做端口映射
  4. iptables映射端口具體操作
  5. 用iptables做地址映射
  6. linux下清空所有iptables規(guī)則
  7. 如何清空其中一條iptables規(guī)則

 

 

責(zé)任編輯:趙鵬 來(lái)源: 網(wǎng)絡(luò)轉(zhuǎn)載
相關(guān)推薦

2011-03-16 14:22:00

Iptables命令Linux

2011-03-14 15:46:35

Iptables語(yǔ)法

2010-07-16 16:00:08

Perl格式化輸出

2009-11-30 09:56:16

2011-03-14 16:46:40

Linuxiptables上網(wǎng)

2010-06-04 16:59:20

2013-10-21 17:21:38

Linux內(nèi)核Nftablesiptables

2011-03-15 16:35:27

2011-03-17 16:00:57

2011-03-17 11:12:10

LinuxIptablestime模塊

2011-03-16 16:54:10

iptables 清空linux

2014-08-01 17:12:14

Linux特殊符號(hào)

2010-06-23 10:03:18

Linux Bash命

2011-01-11 10:47:36

Linux網(wǎng)絡(luò)配置

2011-01-14 10:33:48

Linux桌面應(yīng)用

2009-12-25 17:40:45

Linux crond

2014-05-04 10:34:32

Linux硬件信息Linux命令

2009-12-25 13:44:00

grep命令

2010-01-07 18:11:29

2011-01-10 10:30:05

linux目錄結(jié)構(gòu)
點(diǎn)贊
收藏

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