實例解析iptables在防火牆的應用

查看iptables表中鏈的命令,如查看filter表:

iptables -t filter -L

介紹iptables命令

iptables -t table 命令 chain rules -j target
table可以是filter nat mangle 默認爲filter
命令
-P 定義默認策略
-A 在規則列表的最後增加一條規則
-I 在指定的位置插入一條規則
-D 刪除一條規則
-R 替換規則列表中的某個規則
-F 刪除表中所有的規則

這裏寫圖片描述
以上規則從上往下匹配,匹配到合適的規則數據包則不繼續往下匹配,如上圖,filter表中匹配到INPUT鏈的icmp,則下面的規則不走。反之,如果INPUT鏈下面的規則都不匹配,則匹配默認策略(pollicy ACCEPT)
修改默認策略命令:

iptables -t filter -P FORWARD DROP//將上圖的ACCEPT修改爲DROP

這裏寫圖片描述

以下內容請結合上圖查看,否則內容可能看不懂

實例:

添加一條命令不允許ping通路由器本身,根據上一篇Netfilter框架可以知道Ping包通過鏈路層走INPUT鏈。
規則添加如下:

iptables -t filter -I INPUT -p icmp -j DROP
//-I INPUT表示將該規則插入到INPUT鏈的第一條規則

iptables -t filter -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
DROP       icmp --  anywhere             anywhere
REJECT     all  --  anywhere             anywhere            
//刪除該規則
iptables -t filter -D INPUT 1

iptables 匹配選項

-i 指定數據包從那個網絡接口進入,如ppp0,eth0和eth1等
-o 指定數據包從哪個網絡接口輸出,如ppp0,eth0和eth1等
-p 協議類型 指定數據包匹配的協議,如TCP,UDP,和ICMP等
-s 指定數據包匹配的源地址
-d 指定數據包的目標地址
–sport 指定數據包匹配的源端口,可以使用“起始端口號:結束端口號”的格式指定一個範圍的端口
– dport 目標端口號:指定數據包匹配的目標端口號,可以使用”起始端口號:結束端口號“的格式指定一個範圍的端口

實例

/*初始環境
路由器LA口網絡接口爲br0,默認IP爲192.168.0.3.
WAN口爲eth2.2,上層路由器默認IP爲192.168.5.1.默認路由走eth2.2
*/
# ip route
192.168.5.1 via 192.168.5.1 dev eth2.2  metric 1
255.255.255.255 dev br0  scope link
192.168.5.0/24 dev eth2.2  proto kernel  scope link  src 192.168.5.105  metric 11
192.168.0.0/24 dev br0  proto kernel  scope link  src 192.168.0.3
default via 192.168.5.1 dev eth2.2 equalize

//1.設置路由器網絡接口禁止電腦Ping路由器
iptables -t filter -I INPUT -i eth2.1 -p icmp -j DROP

//因爲:電腦ping路由器走的是INPUT鏈

//2.設置路由器網絡接口禁止電腦ping通上層路由器192.168.5.1,但是能ping通路由器本身192.168.0.3
iptables -t filter -I FORWARD -o eth2.2 -p icmp -j DROP

//因爲:電腦ping上層路由器,需要192.168.0.3的路由器做路由轉發,走的是FORWARD鏈,然後通過eth2.2接口出去,查找上層路由192.168.5.1,禁止出去的網絡接口轉發數據即可

//禁止電腦訪問192.168.0.3路由器的界面
iptables -t filter -I INPUT -p tcp --dport 80 -j DROP

//因爲:http界面的目的端口是80

參考:

http://www.zsythink.net/archives/1764

注意:


只做SNAT時,我們並不用手動進行DNAT設置,iptables會自動維護NAT表,並將響應報文的目標地址轉換回來。
配置DNAT時,並不能正常的DNAT,經過測試發現,將相應的SNAT同時配置後,即可正常DNAT。

發佈了70 篇原創文章 · 獲贊 21 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章