歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Iptables小總結

Iptables小總結

日期:2017/2/28 14:34:50   编辑:Linux教程

1、iptables四表五鏈
四個表:
filter:用於過濾
nat:用於nat功能(端口映射,地址映射等)
mangle:用於對特定數據包的修改
raw:一般不讓iptables做數據包的鏈接跟蹤處理
五個鏈:
INPUT:匹配目的地址為本機的
OUTPUT:向外轉發的
FORWARD:需要經過本機的數據包
PREROUTING:路由前,用於修改目的地址(DNAT)
POSTROUTING:路由後,用於修改源地址(SNAT)

2、常用操作命令
命令格式:iptables [-t表] -命令 匹配 操作
-A(append):追加一條規則
-I(insert):插入一條規則
-D(delete):刪除一條規則,例如:iptables –D INPUT 3,刪除第三條規則
-F(flush):清空規則
-L(list):列出規則,使用-vnL來顯示比較好
-P(policy):設置某鏈默認規則

3、匹配條件
-i:進入接口
-o:出去接口
-s:來源地址,例如:-s 192.168.1.0/24,可單IP
-d:目的地址
-p:協議類型(tcp、udp、icmp)
--sport:來源端口,例如:--sport 1000:,匹配源端口1000以上的,也可以1000:3000指定范圍
--dport:目的端口

4、動作
ACCEPT:允許數據包通過
DROP:阻止數據包通過
REJECT:拒絕數據包通過,並返回報錯信息
SNAT:應用nat表的POSTROUTING鏈,進行源地址轉換,可單個、一組IP
DNAT:應用nat表的PREROUTING鏈,進行目的地址轉換,可單個、一組IP
MASQUERADE:動態源地址轉換,動態IP時使用
例如ADSL撥號上網:iptables–t nat –A POSTROUTING –s 192.168.1.0/24 –o pppo –j MASQUERADE

5、附加模塊
state:包狀態匹配,例如:iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
(NEW 第一個數據包狀態,RELATED 有關系的,當一個連接和某個已處於ESTABLISHED狀態的連接有關系時,就是RELATED狀態,像FTP連接。ESTABLISHED 已建立連接的狀態,INVALID 沒有任何狀態)
mac:來源MAC地址匹配
limit:包速率匹配
multiport:多端口匹配,端口以逗號分隔

6、防止小量攻擊
預防DOS攻擊,限制單個IP最多30個初始連接:
iptables -I INPUT -ptcp --dport 80 -m connlimit --connlimit-above 30 -j REJECT
iptables -A INPUT -ptcp -m state --state ESTABLISHED,RELATED -j ACCEPT
預防DDOS攻擊,限制每秒並發連接數:
iptables -A INPUT -ptcp --syn -m limit --limit 1/s --limit-burst 3 -j ACCEPT
iptables-A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT

7、配置NAT
echo "1" > /proc/sys/net/ipv4/ip_forward
內網訪問外網(SNAT):
iptables –t nat -A PREROUTING -i eth0 -d 172.0.0.10 -j DNAT --to 192.168.0.100
外網訪問內網(DNAT):
iptables–t nat -A PREROUTING -d 172.0.0.10 -p tcp --dport 80 -j DNAT --to 192.168.0.100
iptables -t nat -A POSTROUTING -d 192.168.0.100 -p tcp --dport 80 -j SNAT --to 172.0.0.10

推薦閱讀:

iptables—包過濾(網絡層)防火牆 http://www.linuxidc.com/Linux/2013-08/88423.htm

Linux防火牆iptables詳細教程 http://www.linuxidc.com/Linux/2013-07/87045.htm

iptables+L7+Squid實現完善的軟件防火牆 http://www.linuxidc.com/Linux/2013-05/84802.htm

iptables的備份、恢復及防火牆腳本的基本使用 http://www.linuxidc.com/Linux/2013-08/88535.htm

Linux下防火牆iptables用法規則詳解 http://www.linuxidc.com/Linux/2012-08/67952.htm

Copyright © Linux教程網 All Rights Reserved