Iptables 的幾點實用方法

在我們的日常運維工作中,經常要用到Iptables這個工具來設置IP信息包過濾和防火牆配置,首先,Iptables的配置文件爲/etc/sysconfig/iptables,所有的規則都是要寫到這個文件裏的,不然重啓後就會失效。

1、IPtables通常包括三個表格(Fliter、NAT、Mangle)

filter∶主要跟Linux本機有關,是預設的table。通常下面有三個鏈(chain):
INPUT∶主要與數據包想要進入我們Linux本機有關;
OUTPUT∶主要與Linux本機所要送出的數據有關;
FORWARD∶這個與Linux本機比較沒有關係,他可以將數據包轉發到後端的電腦中,與nat這個table相關

NAT:主要用來做源與目的IP或者端口的轉換,與linux本機無關。
PREROUTING∶在進行路由判斷之前所要進行的規則(DNAT/REDIRECT)POSTROUTING∶在進行路由判斷之後所要進行的規則(SNAT/MASQUERADE)OUTPUT∶與發送出去的封包有關
mangle∶這個表格主要是與特殊的封包的路由旗標有關,早期僅有PREROUTING及OUTPUT鏈,不過從kernel2.4.18之後加入了INPUT及FORWARD鏈。由於這個表格與特殊旗標相關性較高,所以像咱們這種單純的環境當中,較少使用mangle這個表格

2、Iptables的常用命令

查看iptables現有規則:

#iptables-L-n

清除現有iptables規則:

#iptables-F#清除預設表filter中的所有規則鏈的規則:

允許局域網內192.168.0.0/24的所有主機訪問代理服務器,除了192.168.0.3這臺主機:

#iptables-AINPUT-ieth0-s192.168.0.3-jDROP

#iptables-AINPUT-ieth0-s192.168.0.0/24-jACCEPT

將來自eth0的數據包全部接收:

#iptables-AINPUT-ieth0-jACCEPT

將服務器80端口重定向到8080端口:

#iptables-tnat-APREROUTING-Ptcp--dport80-jREDIRECT--to-ports8080

使服務器允許來自網絡接口eth1,並且來源端口爲80的數據進入服務器:

#iptables-AINPUT-ieth1-ptcp--sport80-jACCEPT

讓服務器的80端口對外開放:

#iptables-AINPUT-ieth0-ptcp--dport80-jACCEPT

允許來自外部的ping測試

#iptables-AINPUT-picmp--icmp-typeecho-request-jACCEPT
#iptables-AOUTPUT-picmp--icmp-typeecho-reply-jACCEPT

僅允許來自指定網絡的SSH連接請求

以下規則僅允許來自192.168.100.0/24的網絡:

#iptables-AINPUT-ieth0-ptcp-s192.168.100.0/24--dport22-mstate--stateNEW,ESTABLISHED-jACCEPT
#iptables-AOUTPUT-oeth0-ptcp--sport22-mstate--stateESTABLISHED-jACCEPT

允許出站DNS連接

#iptables-AOUTPUT-pudp-oeth0--dport53-jACCEPT
#iptables-AINPUT-pudp-ieth0--sport53-jACCEPT

(再續)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章