linux 的iptables簡單理解!

iptables默認有
三張表:filter  nat  mongle表

五條鏈:PREROUTE   INPUT  FORWARD  OUTPUT  POSTROUTE

表與規則之間的關係:
一個表中放的是一條條規則

規則與鏈之間的關係:
一條規則只能作用在某個鏈上

鏈:
數據從進入到流出的五個環節,相當於源端到目的端的五道門

規則:
一個規則相當於把守一個門的守衛!
一個門可以有多個守衛!

表與鏈之間的關係:
filter表擁有INPUT  FORWORD OUTPUT鏈上的規則
mangle表擁有Prerouting、FORWARD 和 postrouting鏈上的規則
nat   表擁有 Prerouting 和 postrouting 兩個規則鏈,

表的功能:
filter表用來進行封包過濾的理動作 
nat表用來設置地址轉換
mangle,出進行NAT外,還有其他工作,一般不用!

基本語法:
iptables 
[-t filter] 
[-AI INPUT,OUTPUT,FORWARD] 
[-io interface]
[-p tcp,udp.icmp,all] 
[-s ip/nerwork] 
[--sport ports]
[-d ip/netword] 
[--dport ports] 
[-j ACCEPT DROP]
以上是 iptables 的基本語法
A 是添加的意思
I 是播入的意思
io 指的是數據要進入或出去所要經過的端口 如 eth1 eth0 pppoe 等
p 你所要指定的協議
-s 指源地址 可是單個 IP 如 192.168.2.6 也可以是一個網絡,192.168.2.0/24 還可以 是一個域名
--sport 來源端口 -d 同-s 相似 只不過他指的是目標地址 也可以是 IP 域名 和網絡

--dport 目標端口 
-j 執行參數 ACCEPT DROP
注意:如果以有參數存在 則說明全部接受

1 如我要來自己 l0 接口的數據全部接受,我們可以寫成這樣:
iptables -A INPUT -i lo -j ACCEPT

2 如果我們想接受 192.168.2.6 這個 IP 地址傳來的數據我們可以這樣寫
iptablse -A INPUT -i eth1 -p tcp -s 192.168.2.6 -j ACCEPT

3 如果我們要拒絕來自己 192.168.2.0/24 這個網的 telnet 連接
iptablse -A INPUT -i eth1 -p udp -s 192.168.2.0/24 --sport 23 -j
發佈了59 篇原創文章 · 獲贊 6 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章