linux处置服务Iptables
?????
?????? 一:Iptables防火墻服務
?????????????????? iptables分為兩個部分:一個部分在內(nèi)核中實現(xiàn),一個為用戶接口命令iptables,用戶通過該命令來改動防火墻的功能。所以,iptables要使用對應的功能。必需要在內(nèi)核中加入對應的模塊。
modprobe加入模塊
????????????????? 1:防火墻匹配規(guī)則?? raw表----> mangle表------->nat表------>filter表。
???????????????????????? raw:主要是進行包跟蹤 ,包括的rule chians(規(guī)則鏈): PEREROUTING? OUTPUT
???????????????????????? mangle: 設置數(shù)據(jù)包的標記???????????????????????????? (規(guī)則鏈)?? : PERE? OUTPUT INPUT POST FORWARD
????????????????? nat:改動數(shù)據(jù)包中的源。目地址和mac??????????? (規(guī)則鏈)?? : POST PERE? OUTPUT
???????????????????????? filter:對包進行過濾。????????????????????????????????????? (規(guī)則鏈)?? : INPUT OUTPUT FORWARD
??????????????? ? ? ? ?? 一個規(guī)則鏈中能夠有非常多規(guī)則,一個表中能夠包括多個鏈,規(guī)則依次匹配。匹配則停止。
???????????????????????? 2:對于入站和出站數(shù)據(jù),經(jīng)過的鏈為 PEREROUTING --->INPUT --->OUTPUT ---> POSTROUTING
???????????????????????? 3:對轉(zhuǎn)發(fā)的數(shù)據(jù):經(jīng)過的鏈為? PEREROUTING --->FORWARD ---->POSTROUTING
????????????????????????防火墻先依照表的順序,再依照數(shù)據(jù)的流向來進行對應鏈中的規(guī)則的匹配。
????????????????????????4:鏈中規(guī)則的jump(動作)分為:ACCEPT(接受),DROP(丟棄)。REJECT(拒絕)。LOG(日志)。SNAT
????????????????????????????? DNAT REDRECT等等
????????????????????????????? 動作的意思就是當匹配到該規(guī)則時,防火墻進行如何的操作。丟棄還是通過。或者記錄到日志中。當動作為LOG時,會繼續(xù)向下匹配,所以為LOG時應該寫在最前面。
????????????????????
?????? 二:iptables的具體命令配置
??????????????? 1: iptables -nvL?? -n(numeric)-L(List) -v(verbose) 具體顯示filter表中的規(guī)則,默認filter表
? ? ? ? ? ? ? ? ? ? ? 2: iptables -t filter -P INPUT ACCEPT ? 配置INPUT鏈默認的policy為ACCEPT? -t (table)
???????????????????????????????????? 3: iptables -A INPUT????? 向INPUT鏈中加入規(guī)則。后面接對應的選項? -A (append)
????????????????????? 4: iptables? -D INPUT? rules numbers?? 刪除INPUT鏈中的規(guī)則 rules numbers為規(guī)則的序號。-D(delete)
????????????????????? 5: iptables? -I? INPUT? 4? rules????????????? 在INPUT的第四條規(guī)則中插入規(guī)則 -I (insert)
????????????????????? 6: iptables? -A INPUT -m [ limit/multiport/state] 加入對應的模塊實現(xiàn)對應的功能,-m(model),
???????????????????????????????????? 7: iptables -A INPUT -m state --state NEW -j ACCEPT? 使用state模塊,通過數(shù)據(jù)包狀態(tài)匹配來控制。
????????????????????? 8: service iptables save? 將規(guī)則保存到/etc/iptables文件。下次重新啟動自己主動生效。
????????????????????? 9: iptables-save? > iptables.conf? 將配置寫入iptables.conf文件。iptables-restore<iptables.conf寫回。
??????????? 三:匹配的類型
?????????????????????? 1:通用類型的匹配.
???????????????????????????????? 如協(xié)議類型,網(wǎng)絡接口。網(wǎng)絡地址? 如: -p? tcp/udp/icmp -i eth0 -s 172.16.0.1 --sport 60等
?????????????????????? 2:隱含條件匹配
???????????????????????????????? 通常以特定的協(xié)議匹配為前提
?????????????????????? 3:顯示條件匹配
???????????????????????????? 須要加入對應的擴展模塊來實現(xiàn)。
如? -m? limit? --limit? 5/sec -j ACCEPT 實現(xiàn)數(shù)據(jù)包通過速率
??????????????????????????? -m multiport? --dport 80,53,21 實現(xiàn)多個端口同一時候控制?? -mstate --state NEW or ESTABLISHED
????????????? 四:SNAT和DNAT動作的原理
????????????????? 1:在利用iptables進行PAT的nat地址轉(zhuǎn)換的時候。必須在POSTROUING鏈中寫入規(guī)則,這樣FORWARD鏈中對內(nèi)部地址的控制規(guī)則才會有效,假設再PREROUTING就轉(zhuǎn)換,就立馬變?yōu)楣械刂妨?#xff0c;FORWARD鏈中的規(guī)則匹配不到,則失效,
??????????????????????? 2:在公布內(nèi)部server的時候,必需要在PREROUING鏈中寫入nat轉(zhuǎn)換規(guī)則,假設不這樣,當外網(wǎng)訪問的時候。為防火墻上的一個公有地址接口,不會經(jīng)過轉(zhuǎn)發(fā)直接被防火墻接收。
?????????????????????? 3:因為防火墻server上有緩存。在回來的數(shù)據(jù)會直接轉(zhuǎn)換。
?????????????????????? 4:配置SNAT,和DNAT命令。
??????????????????????????????? 1:配置SNAT ? iptables -t nat -A POSTROUTING -o eth1 -s 172.16.0.0/16 -j SNAT --to-source? 27.45.33.231? 這里一定要接出接口的名字!
? ? ? ? ? ? ? ? ? ? ? ? ? ?????? 2:? 配置DNAT,? iptables -t nat -A PREROUTING -i eth2 -d 23.55.13.45 -j DNAT --to-destination 172.16.0.3?????? 這里一定要指定入接口的名字!
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ???
版權(quán)聲明:本文博客原創(chuàng)文章,博客,未經(jīng)同意,不得轉(zhuǎn)載。
轉(zhuǎn)載于:https://www.cnblogs.com/mfrbuaa/p/4708019.html
總結(jié)
以上是生活随笔為你收集整理的linux处置服务Iptables的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MVC中Model BLL层Model模
- 下一篇: linux 学习操作小计