一、概要
1、防火墻分類
①包過濾防火墻(pack filtering)在網(wǎng)絡層對數(shù)據(jù)包進行選擇過濾,采用訪問控制列表(Access control table-ACL)檢查數(shù)據(jù)流的源地址,目的地址,源和目的端口,IP等信息。
②代理服務器型防火墻
2、iptables基礎
①規(guī)則(rules):網(wǎng)絡管理員預定義的條件
②鏈(chains): 是數(shù)據(jù)包傳播的路徑
③表(tables):內(nèi)置3個表filter表,nat表,mangle表分別用于實現(xiàn)包過濾網(wǎng)絡地址轉換和包重構的功能
④filter表是系統(tǒng)默認的,INPUT表(進入的包),F(xiàn)ORWORD(轉發(fā)的包),OUTPUT(處理本地生成的包),filter表只能對包進行授受和丟棄的操作。
⑤nat表(網(wǎng)絡地址轉換),PREROUTING(修改即將到來的數(shù)據(jù)包),OUTPUT(修改在路由之前本地生成的數(shù)據(jù)包),POSTROUTING(修改即將出去的數(shù)據(jù)包)
⑥mangle表,PREROUTING,OUTPUT,F(xiàn)ORWORD,POSTROUTING,INPUT
3、其它
iptables是按照順序讀取規(guī)則
防火墻規(guī)則的配置建議
Ⅰ 規(guī)則力求簡單
Ⅱ 規(guī)則的順序很重要
Ⅲ 盡量優(yōu)化規(guī)則
Ⅳ 做好筆記
二、配置
1、iptables命令格式
iptables [-t 表] -命令 匹配 操作 (大小寫敏感)
動作選項
ACCEPT? ?? ?? ? 接收數(shù)據(jù)包
DROP? ?? ?? ?? ? 丟棄數(shù)據(jù)包
REDIRECT? ?? ?將數(shù)據(jù)包重新轉向到本機或另一臺主機的某一個端口,通常功能實現(xiàn)透明代理或?qū)ν忾_放內(nèi)網(wǎng)的某些服務
SNAT? ?? ?? ?? ? 源地址轉換
DNAT? ?? ?? ?? ? 目的地址轉換
MASQUERADE? ?? ? IP偽裝
LOG? ?? ?? ?? ?? ?日志功能
2、定義規(guī)則
①先拒絕所有的數(shù)據(jù)包,然后再允許需要的數(shù)據(jù)包
iptalbes -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
②查看nat表所有鏈的規(guī)則列表
iptables -t nat -L
③增加,插入,刪除和替換規(guī)則
iptables [-t 表名] <-A|I|D|R> 鏈名 [規(guī)則編號] [-i|o 網(wǎng)卡名稱] [-p 協(xié)議類型] [-s 源ip|源子網(wǎng)] [--sport 源端口號] [-d 目的IP|目標子網(wǎng)] [--dport 目標端口號] [-j 動作]
參數(shù):-A 增加
-I 插入
-D 刪除
-R 替換
三、例子
①iptables -t filter -A INPUT -s 192.168.1.5 -i eth0 -j DROP
禁止IP為192.168.1.5的主機從eth0訪問本機②iptables -t filter -I INPUT 2 -s 192.168.5.0/24 -p tcp --dport 80 -j DROP
禁止子網(wǎng)192.168.5.0訪問web服務③iptables -t filter -I INPUT 2 -s 192.168.7.9 -p tcp --dport ftp -j DROP
禁止IP為192.168.7.9訪問FTP服務
④iptables -t filter -L INPUT
查看filter表中INPUT鏈的規(guī)則
⑤iptables -t nat -F
刪除nat表中的所有規(guī)則
⑥iptables -I FORWARD -d wwww.baidu.com -j DROP
禁止訪問www.baidu.com網(wǎng)站
⑦iptables -I FORWARD -s 192.168.5.23 -j DROP
禁止192.168.5.23上網(wǎng)