資源描述:
《Linux下Iptables配置》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、Linux包過濾防火墻1,什么是包過濾防火墻2,包過濾的工作層工作在網(wǎng)絡(luò)層3,工作原理數(shù)據(jù)包過濾通過對數(shù)據(jù)包的IP頭和TCP或UDP頭的檢查來實現(xiàn)的主要有:IP源地址IP目標(biāo)地址協(xié)議(tcp包,udp包,和icmp包)tcp或udp的源端口imcp消息類型tcp包頭中的ack位數(shù)據(jù)包到達的端口數(shù)據(jù)包出去的端口包過濾技術(shù)的優(yōu)缺點使用iptables實現(xiàn)包過濾相關(guān)的TCP/IP支持假如A要和B通信1,(SYN)B要和A通信時,B首先向A發(fā)一個SYN標(biāo)記的包,告訴A請求建立連接2,(SYN/ACK)A收到后
2、回發(fā)送一對SYN包的確認包(SYN/ACK)回去,表示對第一個SYN包的確認,并繼續(xù)握手操作3,(ACK)B收到SYN/ACK包后,B發(fā)一個確認包ACK,通知A連接已建立。三次握手完成,一個TCP連接完成TCP連接的每個包都會設(shè)置ACK位,這就是連接跟蹤的重要意義,放火墻將無法判斷收到的ACK屬于一個已經(jīng)建立的連接結(jié)束TCP連接iptables語法一條iptables規(guī)則基本上因該包含5個要素指定表table分別是filter,nat和mangle指定操作命令command包括添加,刪除,更新指定鏈c
3、hains對于包過濾防火墻可操作filter表中的INPUT鏈,OUTPUT鏈和FORWARD鏈指定規(guī)則匹配器mather可以指定各種規(guī)則匹配,如IP地址,端口,包類型指定目標(biāo)動作target當(dāng)規(guī)則匹配一個包時,真正要執(zhí)行的任務(wù)用目標(biāo)標(biāo)識。最常目標(biāo)為ACCEPT,DROP,REJECT表示拒絕,丟棄包的同時給發(fā)送沒有接受的通知,LOG表示包的有關(guān)信息被記錄日志,TOS表示改寫包的TOS值語法:iptables[-ttable]CMD[chain][rule-matcher][-jtarget]tabl
4、e為表名,CMD為操作命令,chain為鏈名,rule-matcher為規(guī)則匹配器,target為目標(biāo)動作iptables的常用操作命令-A或--append在所有的鏈的結(jié)尾加入一條或多條規(guī)則-D或--delete在所有的鏈刪除-R或--replace替換一條匹配的規(guī)則-I或--insert以給出的規(guī)則號在所選鏈中插入一條或多條規(guī)則。如果規(guī)則號是1,插入的規(guī)則的鏈的頭部-L或--list列出指定鏈的所有規(guī)則,如果沒有指定鏈,將列出所有鏈中的所有規(guī)則-F或--flush清除指定鏈和表中的所有規(guī)則,假如不
5、指定,將全部刪除-N或--new-chain以給定的名字創(chuàng)建一條新的用戶自定義鏈。不能與已有的鏈同名-X或--delete-chain刪除指定的用戶定義鏈-P或--policy(n政策,方針)為永久鏈指定默認規(guī)則。用戶定義鏈沒有默認規(guī)則。缺剩規(guī)則也是規(guī)則鏈中的最后一條規(guī)則用-L命令顯示時它在第一行顯示-C或--check檢測給定的包是否與指定鏈的規(guī)則相匹配-X或--zero將指定鏈中所有規(guī)則的包字節(jié)(byte)計數(shù)器清零-h顯示幫助信息iptables常用的規(guī)則匹配器-p,[!]protocol指出要
6、匹配的協(xié)議,可以是tcp,udp,icmp,all.協(xié)議名前綴"!",為邏輯非-s[!]address[/mask]根據(jù)源地址或地址范圍確定是否允許或拒絕數(shù)據(jù)包通過過濾器--sport[!]port[:port]指定匹配規(guī)則的源端口或端口范圍??梢杂枚丝谔?d[!]address[/mask]根據(jù)目的地址或地址范圍確定是否允許或拒絕數(shù)據(jù)包通過過濾器-dport[!]port[:port]指定匹配規(guī)則的目的端口或端口范圍,可以用端口號,也可以用/etc/services文件中的名字--icmp-type
7、[!]typename指定匹配規(guī)則的ICMP信息類(可以使用iptables-picmp-h查看有效的icmp類型名)-i[!]interfacename[+]匹配單獨的接口或某種類型的接口設(shè)置過濾規(guī)則。此參數(shù)忽略時,默認符合所有接口。接口可以使用否定符"!"來匹配不是指定接口來包.參數(shù)interfacename是接口名,如eth0,eth1,ppp0等。指定一個目前不存在的接口是完全合法的。規(guī)則直到接口時才起作用,這種指定對于PPP及該選項只有對INPUT,FROWARD和PREROUTING鏈?zhǔn)呛?/p>
8、法的-o[!]interfacename[+]僅僅匹配設(shè)置了SYN位,清除了ACK,FIN位的TCP包.這些包表示請求初始化的TCP連接。阻止從接口來的這樣的包將會組織外來的TCP連接請求。但輸出的TCP連接請求將不受影響。這個參數(shù)僅僅當(dāng)協(xié)議類型設(shè)置為TCP時才能用 -m--match-m選項引出了iptables的state擴展模塊,比如mac擴展模塊,它實現(xiàn)根據(jù)主機網(wǎng)卡的MAC地址進行權(quán)限控制的規(guī)則:iptables-AINPUT-ptcp-mmac