IPTABLES詳解

linux 內核通過netfilter 模塊實現網絡訪問控制功能
在用戶層可以通過iptables對netfilter進行控制管理
filter 過濾
nat 修改IP地址
mangle 修改高級參數 QOS
iptables -t filter -A INPUT -s 192.168.1.1 -j DROP
               表          鏈            匹配屬性          動作
表:規定使用的表(filter、nat、mangle,不同表有不同功能)
鏈:規定過濾點(INPUT、OUTPUT、FORWARD、PREROUTING、POSTROUTING)
匹配屬性:規定匹配數據的特徵(TCP、UDP、ICMP)端口號、接口、TCP狀態
匹配後的動作:放行、丟棄、記錄(ACCEPT、DROP、REJECT)

 

 

 

service iptables status 查看狀態

iptables -L 列出現有的規則
插入規則
iptables -I INPUT 2 -p tcp --dport 22 -j ACCEPT

-I 表示插入 3表示第三個規則  -p指定協議 --dport指定目標端口
所有使用TCP協議,目標端口是22的全部允許通過
a
刪除規則
iptables -D INPUT 3
iptables -D INPUT -s 192.168.1.2 -J DROP
iptables -F 刪除所有規則

基於IP地址
-s 192.168.1.1
-d 10.0.0.0/8

基於接口
-i eth0
-o eth1

排除參數:
-s '1'192.168.1.0/24

基於協議及端口
-p tcp --dport 23
-p udp --dport 53
-p icmp

控制到本機的網絡流量
iptables -A INPUT -s 192.168.1.100 -j DROP
iptables -A INPUT -p tcp --dport 80 -j DROP
iptables -A INPUT -s 192.168.1.1/24 -p tcp --dport 22 -j DROP
iptables -A INPUT -i eth0 -j ACCEPT

作爲路由使用時FORWARD
禁止所有192.168.1.0/24 到10.1.1.0/24的流量
iptables -A FORWARD -s 192.168.1.0/24 -d 10.1.1.0/24 -j DROP

NET 對IP地址進行修改
SNAT 源地址轉換,用於僞裝內部地址
DNAT 目標地址轉換,通常用於跳轉

常用NAT進行跳轉
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-dest 192.168.1.10
DNAT只能用於PREROUTING

NAT對出向數據時行跳轉
iptables -t nat -A OUTPUT -p tcp --dport 80 -j DNAT --to-dest 192.168.1.100:8080

NAT對數據流進行僞裝(一般意義上的NAT,把內部地址全部僞裝爲一個外部公網IP地址)
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE(僞裝)
把所有出去的數據包僞裝成eth0的IP地址

通過NAT隱藏源IP地址IP
iptables -t nat -A POSTROUTING -j SNAT --to-source 1.2.3.4

通過命令行添加的規劃不能永久保存
通過命令將規劃寫入配置文件 /etc/sysconfig/iptables
service iptables save

當需要刪除某條fireware規則時

查看當前nat表的防火牆規則:iptables -t nat -L -n --line-numbers搜索,
然後確定你要刪除的是哪一條規則,並且看一下它是第幾條規則,規則最前面有序號。
接下來刪除,使用命令:iptables -t nat -D PREROUTING 1,這裏假如它的序號是1。

應用實例:

iptables -A INPUT -s 192.168.100.6 -j ACCEPT
iptables -A INPUT -s 192.168.5.0/27 -j ACCEPT
iptables -A INPUT -j DROP
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-dest 192.168.100.11

 

 


 

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