快速理解iptables入門教程

1、iptables安裝 web

通常系統已經自帶,沒有安裝請參照下面安裝
(redhat系 ):Yum install iptables
(debian系 )Sudo apt-get install iptables
iptables –version查看版本
iptables v1.4.14 即爲 OK,已正常安裝。iptables v1.x.x即爲版本號。

2、三表五鏈 服務器

三個表: FilterNAT、Mangle。默認使用Filter。
Filter:用於通常信息包過濾,包含了INPUT、OUTPUT、FORWARD鏈。
NAT:用於需轉發(NAT)的信息包,包含了OUTPUT、PREROUTING、POSTROUTING。
Mangle:包含一些規則來標記用於高級路由,包含PREROUTING和OUTPUT鏈。如查信息包及其頭內進行了任何更改,則使用該表。
五個內置鏈:
PREROUTING  數據包進入路由表以前,用於修改目的地址(DNAT)。
INPUT  經過路由表後目的地爲本機,匹配目的 IP 是本機的數據包。
FORWARD  經過路由表後,目的地不爲本機,匹配穿過本機的數據包。
OUTPUT  由本機產生,向外轉發。
POSTROUTING  發送到網卡接口以前,用於修改源地址 (SNAT)。
  網絡


iptables(netfilter)五條鏈相互關係 app

 

 
三表五鏈處理過程當中的位置 工具

3、目標(target) spa

ACCEPT (-j ACCEPT) 當信息包與ACCEPT目標的規則徹底匹配時,會被接受即容許前往目的地,並將中止遍歷鏈。
DROP (-j DROP) 當信息包與DROP目標的規則徹底匹配時,會阻塞該包即丟棄該包。
REJECT (-j REJECT) 該目標工做方式與DROP目標相同,比DROP好的是REJECT不會在服務器和客戶機上留下死套接字,並將錯誤消息發回給信息包的發送方。
RETURN (-j RETURN) 該目標是讓與該規則相匹配的信息包中止遍歷全部鏈,若是該鏈是INPUT之類的鏈,則使用該鏈的缺省策略處理該信息包。
還有其它的高級點的目標,如LOG、REDIRECT、MARK、MIRROR和MASQUERADE等。
  rest

4、命令和語法 接口

iptables基本語法
iptables [-t 表名 ] -命令 -匹配 -j 動做/目標
iptables內置了filter、nat和mangle三張表,咱們可使用-t參數來設置對哪張表生效哈~也能夠省略-t參數,則默認對filter表進行操做。
命令 (command):
-I (--insert) 插入
-A(--append)追加
-D(--delete)刪除
-P(--policy)策略
 
匹配 (match):
-p(--protocol)協議
-s(--source)源
-d(--destination)目標
--in-interface eth1短格式: -i eth1      表示從eth1進
--out-interface eth0 短格式:-o eth0       表示從eth0出
(--sport、--dport)來源端口、目的端口
附加模塊使用-m來匹配 
按包狀態匹配   (state) 
按來源 MAC 匹配(mac) 
按包速率匹配   (limit) 
多端口匹配   (multiport)
 
配置SNAT命令基本語法
iptables -t nat -A POSTROUTING -o 網絡接口 -j SNAT --to-source IP地址
配置DNAT命令基本語法
iptables -t nat -A PREROUTING -i 網絡接口 -p 協議 --dport 端口 -j DNAT --to-destination IP地址


5、策略保存 ip

iptables 的保存和自動啓動
開機自動啓動服務用 chkconfig iptables on
全部 iptables命令都輸入後都是當時有效,系統重啓後就無效了。
#service iptables save
提示將 iptables規則保存到/etc/sysconfig/iptables 文件中
iptables還提供了保存工具 iptables-save,其實service iptables save也是調用iptables-save,也提供了恢復iptables規則的工具iptables-restore。
 
建議使用統一的 iptables規則文件/etc/sysconfig/iptables(能夠是其它位置如/etc/iptables.d/iptables.rule)。
iptables-save > /etc/sysconfig/iptables
iptables-restore < /etc/sysconfig/iptables
 
這個也能實現上面的功能:echo '/sbin/iptables-restore < /etc/sysconfig/iptables' >>/etc/rc.d/rc.local

6、經常使用實用策略 路由

該內容來自其互聯網。
注意:確保規則循序正確,弄清邏輯關係,學會時刻使用 -vnL
先開啓轉發:echo 1 >/proc/sys/net/ipv4/ip_forward
iptables -F       清除預設表filter中的全部規則鏈的規則
iptables -X      清除預設表filter中使用者自定鏈中的規則
iptables -Z       清除預設表filter中使用計數器
iptables -F -t nat 
iptables -X -t nat 
iptables -Z -t nat     
可根據需求設置默認策略
iptables –P INPUT DROP
iptables –P FORWARD DROP
iptables –P OUTPUT ACCEPT 
這樣默認把INPUT 、FORWARD 設置成DROP,只有OUTPUT是ACCEPT,如須要也能夠設置成DROP。

(之後再來完成)按拓撲圖進行一個案例設置:

FTP

SSH

MYSQL

NAT1-3389

NAT2-web

相關文章
相關標籤/搜索