IPtables之二 基礎規則編寫

2021-09-21 09:06:26 字數 2230 閱讀 5783

linux的防火牆包含了2部分,分別是存在於核心空間的netfilte和使用者空間的iptables

而iptable可以定義4類規則 

filter:防火牆核心所在 

nat:位址轉換 

mangle:實現資料報修改;如ttl 

raw:不常用,這裡不做多解釋 

優先順序次序:raw-mangle-nat-filter

在iptable中定義的規則要輸送到核心中的netfilte才能生效 

定義防火牆規則一般有2種模式。一種是比較嚴格的,只放行允許通過的資料報,其餘資料報全部阻止。還有一種比較寬鬆的,只阻止不允許通過的資料報。在企業應用中,一般使用第一種,根據業務需要放行對應的資料報。

iptable定義規則的一般機制(更加具體的語法參照man文件) 

iptable  [-t table]  sub_command  chain [num] [cretiria] [-j acction]

-t: 

預設沒有指定是filter,也可以指定mangle,nat,raw

chain: 

-f(flush):清空鏈 

-n(new):新增一條鏈 

-x:刪除使用者自定義的空鏈 

-z:清空計數器 

關於計數器:每條規則都有2條計數器 

1:記錄被本條規則匹配到的包個數 

2:記錄匹配到本條規則到的包的體積之和 

-e:重新命名鏈

policy: 

-p    chain  

exsample: 

將input鏈的預設策略修改為drop 

iptables -t filter -p intput drop

view: 

-l 顯示定義的規則 

-n:使用這個選項,就不會去反向解析ip位址的主機名,加快察看速度 

-v:詳細資訊,可以多加幾個v,越多越詳細 

-x:精確顯示資料報體積 

--line-numbers

匹配條件: 

通用匹配: 

-s ip/network:源位址 

-d ip/network:目標位址 

-p :指定協議 

-i input inte***ce:指定資料報進入的介面 

-o output inte***ce:指定資料報出去的介面

example: 

禁止192.168.1.0/24網段ping192.168.2.1主機 

iptables -t fliter -a intup -s 192.168.1.0/24 -d 192.168.2.1 -p icmp -j drop

擴充套件匹配 

隱式擴充套件:指對-p選項中指定的協議進行的擴充套件 

-p  

--sport portnum 源埠 

--dport portnum    目標埠    

--tcpflags 針對tcp的標誌位 

--icmp-type icmp的包型別。

擴充套件上面的exapmle 

iptables -t fliter -a intup -s 192.168.1.0/24 -d 192.168.2.1 -p icmp –icmp-type 8 -j drop 

這裡明確拒絕了192.168.1.0/24網段的icmp-request包,8是icmp-request包,0是icmp-echo包

example: 

拒絕192.168.2.1主機訪問本機的web服務 

iptables -t fliter -a input -s 192.168.2.1 -p --dport 80 -j drop 

iptables -t fliter -a input -s 192.168.2.1 -p --dport 443 -j drop

規則的寫法有多種,也可以寫在output鏈上,不過效率沒有input上高,而如果寫在output上 ,應該這樣寫 

iptables -t fliter -a output -d 192.168.2.1 -p –sport 80 -j drop 

iptables -t fliter -a output -d 192.168.2.1 -p –sport 443 -j drop

具體寫法要按照需求,分析資料報的走向而定

顯式擴充套件:使用-m指定要載入的擴充套件(下一章具體描述)

-j    target:跳轉到到的鏈常見的有以下3種 

accept 

drop 

reject

測試基礎編(二)

什麼是軟體測試?把軟體交付使用者之前,我們要站使用者的場景把各自正常和異常都模擬一遍,把各種功能,效能,穩定性,相容性,安全性,使用者體驗等進行測試,而介面,自動化這些就看你專案的需求了。軟體測試的目的又是什麼?發現軟體缺陷與錯誤,對軟體質量進行度量和評估,以提高軟體的質量。軟體測試常見的誤區 除錯...

swift基礎之《二》

型別安全,swift中不支援隱式轉換 var c 100 var c1 100.85 let res c c1 總結 swift 中不同資料型別,不能賦值和運算 迴圈語句 for in for while dowhile var sum 1 100 while sum 1 50 do while r...

python基礎之二

1.元組 tuple tuple 元素1,元素2,建立元組 tuple 建立空元組,只需要一堆空的圓括號即可注 建立單元素元組時,元素後的逗號不可少,不加逗號則無法區分是元組還是表示式。tuple m n 其中m,n可以是0 正整數 負整數,包括索引為m的元素,但不包括索引為n的元素a,b,c,d ...