iptables的簡單的介紹

2022-08-23 01:06:12 字數 4910 閱讀 1646

1. 防火牆服務概念介紹

防火牆作用: 火災(危險)  防火牆  人(安全)

外網   防火牆  內網

防火牆實現: 軟體實現(firewalld iptables)    硬體實現(思科 華為 h3c 深信服)

ps: 中小企業網路防護(軟體)      大型企業(硬體) 2-3s

防火牆應用: 應用在osi7層 二層(mac) 三層(ip) 四層(埠)  80 443

nginx+lua(waf) --> 應用層

防火牆名詞:

1) 什麼是容器: 裝東西 盛東西 的 器皿

防火牆服務容器 ---> 防火牆表 ---> 鏈資訊 ---> 規則資訊

2) 什麼是規則: 安全策略

對客戶端資料報資訊進行過濾判斷

只有符合規則流量可以放行或者阻止

當第乙個規則沒有匹配, 會繼續匹配下一條規則

直到所有規則都沒有匹配, 匹配預設規則

3) 什麼是表:   不同規則資訊分類到不同表中進行配置

filter:  主要實現防火牆流量過濾功能

nat   :  主要實現防火牆埠或ip位址對映   10.0.0.1   --防火牆  --- 公網位址

mangle:  對資料報進行標記 

raw   :  對資料報標記進行取消

4) 什麼是鏈:   對資料報做不同的處理

filter:

· input:    對進入防火牆流量進行規則控制

· output:   防火牆主機產生流量是否可以出去

· forward:  經過流量進行控制    外網 --> 防火牆服務 -->  內網   

2. 防火牆服務安裝部署 

yum install -y iptables-services

systemctl start iptables

3. 防火牆服務配置應用

檢視預設配置資訊:

iptables -l -n

-l  list    列表顯示表的鏈和規則資訊

-n  number  將部分資訊以數字形式顯示

chain input (policy accept)

target     prot opt source               destination        

accept     all  --  0.0.0.0/0            0.0.0.0/0            state related,established

accept     icmp --  0.0.0.0/0            0.0.0.0/0          

accept     all  --  0.0.0.0/0            0.0.0.0/0          

accept     tcp  --  0.0.0.0/0            0.0.0.0/0            state new tcp dpt:22

reject     all  --  0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited

chain forward (policy accept)

target     prot opt source               destination        

reject     all  --  0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited

chain output (policy accept)

target     prot opt source               destination  

將預設規則先清除

iptables -f   --- 清除預設規則資訊(filter表)

iptables -z   --- 清除計數器功能   (統計流量資料報個數 所有資料報位元組數)      排錯

iptables -x   --- 刪除使用者自定義鏈 ???      

filter表配置方法:

1) 阻止使用者訪問遠端服務22埠

input鏈

iptables -a input  -s 10.0.0.1 -p tcp --dport 22 -j accept

iptables -a input  -s 172.16.1.0/24 -p tcp --dport 22 -j accept

iptables -a input  -i eth1  -p tcp --dport 22 -j accept

iptables -a input  -p tcp --dport 22 -j drop(accept drop* reject)

output鏈:

iptables -a output  -d 10.0.0.1 -p tcp --sport 22 -j accept

iptables -a output  -d 172.16.1.0/24 -p tcp --sport 22 -j accept

iptables -a output  -o eth1  -p tcp --sport 22 -j accept

iptables -a output  -p tcp --sport 22 -j drop(accept drop* reject)

2) 允許外網位址可以連線22埠(10.0.0.6)

iptables -i output -o eth0 -d 10.0.0.6 -p tcp --sport 22 -j accept

3) 除了10.0.0.1位址可以訪問80埠,其他主機都不能訪問80埠

方法一:

iptables -a input -s 10.0.0.1 -p tcp --dport 80 -j accept

iptables -a input -p tcp --dport 80 -j drop

方法二:

iptables -a input -s 10.0.0.1 -p tcp --dport 80 -j accept

預設規則阻止

iptables -p input drop

方法三:

iptables -a input ! -s 10.0.0.1 -p tcp --dport 80 -j drop

4) 允許10.0.0.6使用者訪問防火牆服務 80 81 82 83埠

iptables -a input -s 10.0.0.6 -p tcp --dport 80:83 -j accept

5) 允許10.0.0.6使用者訪問防火牆服務 80,443,8080埠

iptables -a input -m multiport  -s 10.0.0.6 -p tcp --dport 80,443,8080 -j accept

6) 刪除規則資訊

iptables -d input 2

7) 實現禁ping功能

其他主機 --- 禁止訪問防火牆伺服器

iptables -a input -p icmp --icmp-type 8 -j drop

iptables -a output -p icmp --icmp-type 0 -j drop

禁止防火牆主機 --> 其他主機

iptables -a output -p icmp --icmp-type 8 -j drop

iptables -a input -p icmp --icmp-type 0 -j drop

icmp 0: 回顯應答(ping應答)

icmp 8: 回顯請求(ping請求)

總結禁ping

iptables -a input -m icmp -p icmp --icmp-type any -j drop

問題: 還回介面(邏輯介面) loopback

iptables -i input -i lo -m icmp -p icmp --icmp-type any -j accept

8) 實現網路流量資料報限速

-m limit     --- 使用限速功能(資料報傳送頻率)

--limit n/:     --- 限制每秒鐘/每分鐘/每小時產生多少個資料報

--limit-burst [n]                   --- 定義限制資料報乙個標準

iptables -i input -s 10.0.0.6 -p icmp --icmp-type 8 -m limit --limit 6/min --limit-burst 5 -j accept

iptables -a input -m icmp -p icmp --icmp-type any -j drop

nat表配置方法:

0x:  iptables命令引數資訊

-a 鏈資訊   : 在指定鏈上可以新增規則

-i 鏈資訊   : 在指定鏈上可以插入規則

-i 鏈資訊 編號  : 自定插入到第幾個規則之上

-p 協議資訊 : 指定過濾處理資料協議資訊(tcp udp icmp)

--dport 埠: 指定訪問目標埠號碼

--sport 埠: 指定訪問源埠號碼

-s 源ip位址   : 訪問源ip位址資訊

-d 目標ip位址 : 訪問目標ip位址資訊

-i 介面 : 流量流入的介面資訊

-o 介面 : 流量流出的介面資訊

-j 動作資訊 : 指定需要對匹配資料報執行什麼動作          

-f      : 清除預設規則資訊(filter表)

-z      : 清除計數器功能   (統計流量資料報個數 所有資料報位元組數)      排錯

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

--line-number  --- 顯示規則編號

iptables的簡單問題

編輯 etc sysconfig iptables 然後執行 sbin service iptables restart 防火牆規則只有在 iptables 服務執行的時候才能被啟用。要手工啟動服務,使用以下命令 sbin service iptables restart 要確保它在系統引導時啟動,...

iptables的簡單應用

當前主機ip 10.0.0.7 iptables a input d 10.0.0.7 p icmp icmp type 8 j reject當前主機ip 10.0.0.7 iptables a input d 10.0.0.7 p tcp dport 80 m state state new j ...

iptables入門介紹

說白了,iptables在linux當中充當類似防火牆的功能。它依賴於linux核心的netfilter模組,在它的基礎上實現了自己的規則,篩選資料報。我們只需要知道,區別就是篩選方式和手段不一樣,但是都是依賴netfilter實現的。具體的區別是什麼,有興趣的可以自己搜尋。yum install ...