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