亚洲综合社区欧美综合色-欧美逼逼一区二区三区-国产老熟女高潮精品网站-国产日韩最新视频在线看

始創(chuàng)于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊有禮 登錄
  • 掛牌上市企業(yè)
  • 60秒人工響應
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補償
全部產(chǎn)品
您的位置: 網(wǎng)站首頁 > 幫助中心>文章內(nèi)容

iptables常用選項及應用實例操作

發(fā)布時間:  2012/7/28 18:36:39
iptables表與鏈的關系
1、filter 包過濾
INPUT
FORWARD
OUTPUT
2、NAT  地址轉發(fā)
OUTPUT
PREROUTING
POSTROUTING
3、Mangle  修改TTL值等
INPUT
FORWARD
OUTPUT
PREROUTING
PSOTROUTING
 
介紹一下鏈的含義:
PREROUTING 數(shù)據(jù)包進入本地,進入路由表之前
INPUT 通過路由表后,目的地為本機 
OUTPUT 由本機產(chǎn)生,向外轉發(fā)
FORWARD 通過路由表后,目的地不為本機
POSTROUTING 通過路由表后,發(fā)送至網(wǎng)卡接口之前
 
優(yōu)生級:raw>mangle>nat>filter
 
SNAT源地址轉換 POSTROUTING
DNAT目標地址轉換PREROUTING
 
iptables識別數(shù)據(jù)包四種狀態(tài):
NEW:當與任何主機通信時發(fā)出的第一個數(shù)據(jù)包的狀態(tài)即NEW,一般為發(fā)起連接方發(fā)送的第一個標志為SYN=1的數(shù)據(jù)包  注意:NEW是TCP三次握手中的第一次SYN必須等于1
ESTABLISHED:假設與主機通信時發(fā)出的第一個數(shù)據(jù)包能夠通過防火墻,那么后續(xù)的你與該主機之間發(fā)送和接收到所有數(shù)據(jù)包狀態(tài)均為ESTABLISHED (SYN不等于1,ACK=1,FIN不等于1)
RELATED:由一個已經(jīng)建立的連接所生成的新的連接的狀態(tài)即為RELATED,例如FTP服務,訪問FTP服務器時建立的連接是21端口的發(fā)送命令的連接,如果要傳輸數(shù)據(jù)則需要按工作模式不同打開其他端口的連接,那么這個連接就是RELATED狀態(tài) 
INVALID:非法狀態(tài)的數(shù)據(jù)包,也就是不屬于以上三種狀態(tài)的數(shù)據(jù)包,無法實別的狀態(tài)比如:SYN=1 FIN=1  又請求又發(fā)送結束,根本沒有這種狀態(tài)的包
 
 
iptables基本語法:
 
  1. iptables [-t TABLE] COMMAND CHAIN [createriaj] -j ACTION 
  2.  
  3. -t {raw|mangle|nat|filter},默認filter 
  4.  
  5. COMMAND: 
  6. 規(guī)則管理類: 
  7.     -A   增加 
  8.     -I # 插入 
  9.     -D # 刪除 
  10.     -R # 替換   
  11. 鏈接管理類: 
  12.     -F 清空鏈 
  13.     -N new,新建鏈   
  14.     -X  刪除自定義空鏈 
  15.     -E rename重命名 
  16. 默認策略: 
  17.     —P policy 
  18. 清空計算器 
  19.     -Z zero 
  20.     每條規(guī)則(包括默認策略)都有兩個計數(shù)器 
  21.         被此規(guī)則匹配到的所有數(shù)據(jù)包的個數(shù) 
  22.         被此規(guī)則匹配到的所有數(shù)據(jù)包的大小之和 
  23. 查看類: 
  24.     —L, list 
  25.         -n,numeric 
  26.         -v,verbose 
  27.             -vv 
  28.             -vvv 
  29.     -x exactly 顯示精確值,不需要做換算 
  30.     --line-numbers 
  31.      
  32. 匹配條件: 
  33. 基本匹配: 
  34. -s source:ip ,NETWORK 
  35. -d destnations 
  36. -p {tcp|udp|icmp} 
  37. -i inetface 流入 
  38. -o inetface 流出 
  39.  
  40. 擴展匹配:(調(diào)用iptables模塊,以便擴展iptables匹配功能-m明確指定模塊) 
  41.     隱含擴展 
  42.     -p tcp 可以省略-m -tcp 
  43.         --sport PORT 
  44.         --dport PORT 
  45.         --tcp-flags  
  46.             --tcp-flags ACK,SYN,RST,FIN SYN,ACK 這時SYN=1,ACK=1,其他為0 
  47.             要帶兩個參數(shù)要檢查的標志位,沒有出現(xiàn)的標志位必須為0,出現(xiàn)的為1 
  48.             --tcp-flags ACK,SYN,RST,FIN SYN 可以簡單寫成--syn 
  49.     -p udp 
  50.         --sport PORT 
  51.         --dport PORT 
  52.     -p icmp 
  53.         --icmp-type 
  54.             8:echo-request ping回顯請求 
  55.             0:echo-reply 響應 
  56.             3:ping不通的 
  57.                 還有很多子類 
  58.                 0,1等等 
  59.                  
  60.          
  61.          
  62.     顯式擴展 
  63.         -m state --state NEW 
  64.         -m multiport 
  65.             --source-port 22,53,80 
  66.             --destination-ports 
  67.             --ports 
  68.         -m iprange 
  69.            -src -range 192.168.0.2-192.168.22 
  70.            -dst -range 
  71.         -m limit 
  72.             --limit 
  73.             --limit burst 
  74.         -m string 
  75.             --algo bm|kmp 
  76.             --string "STRING" 
  77.         -m time 
  78.             --timestart 8:00 -timestop 18:00 -j DROP 
  79.             --days 
  80.             --datestart --datestop 
  81.     ACTION 
  82.     -j 
  83.     ACCEPT  
  84.     DROP  
  85.     REJECT 
iptables實例操作: 
  1. 開放ssh的22端口: 
  2. iptables -A INPUT -s 0.0.0.0/0.0.0.0 -d 172.16.100.1/32  -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT 
  3. 注意:如果你寫成172.16.100.1/16就表示這個網(wǎng)段了,不表示這個特定的ip地址了 
  4.  
  5. iptables -A OUTPUT -s 172.16.100.1 -d 0.0.0.0/0.0.0.0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT 
  6. 注意:這個表示別人連進來了,我們要把數(shù)據(jù)包響應給別人要開OUTPUT鏈,這時上面已經(jīng)建立了NEW,所以這次的通信過程是已經(jīng)建立連接狀態(tài),表示為ESTABLISHED 
  7.  
  8. 總結:1、特定的地址掩碼是32 
  9.       2、一般進來允許NEW,ESTABLISHED 出去只允許ESTABLISHED 
  10.  
  11. 開放web服務器80端口 
  12. iptables -A  INPUT  -d 192.168.184.136 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT 
  13. iptables -A  OUTPUT  -s 192.168.184.136 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT 
  14.  
  15. 開放DNS的53端口,一種是基于tcp的,一種是基于udp的 
  16. iptables -A INPUT -d 192.168.184.136 -p udp  --dport 53  -m state --state NEW,ESTABLISHED -j ACCEPT 
  17. iptables -A INPUT -d 192.168.184.136 -p tcp  --dport 53  -m state --state NEW,ESTABLISHED -j ACCEPT 
  18. iptables -A OUTPUT -s 192.168.184.136 -p udp --sport 53  -m state --state ESTABLISHED -j ACCEPT 
  19. iptables -A OUTPUT -s 192.168.184.136 -p tcp  --sport 53  -m state --state ESTABLISHED -j ACCEPT 
  20.  
  21. 對上面的規(guī)則進行優(yōu)化: 
  22. INPUT鏈: 
  23. 優(yōu)化一 
  24. iptables -A INPUT -d  192.168.184.136 -p tcp -m state --state NEW,ESTABLISHED -m multiport --destination-ports 22,53,80 -j ACCEPT 
  25. iptables -A INPUT -d 192.168.184.136 -p udp  --dport 53  -m state --state NEW,ESTABLISHED -j ACCEPT 
  26.  
  27. 優(yōu)化二(最好的) 
  28. iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT 
  29. iptables -A INPUT -d  192.168.184.136 -p tcp -m state --state NEW -m multiport --destination-ports 22,53,80 -j ACCEPT 
  30. iptables -A INPUT -d 192.168.184.136 -p udp  --dport 53  -m state --state NEW -j ACCEPT 
  31.  
  32. OUTPUT鏈 
  33. 優(yōu)化一 
  34. iptables -A OUTPUT -s 192.168.184.136 -p tcp -m state --state ESTABLISHED -m multiport --source-ports 22,53,80 -j ACCEPT 
  35. iptables -A OUTPUT -s 192.168.184.136 -p tcp  --sport 53  -m state --state ESTABLISHED -j ACCEPT 
  36.  
  37. 優(yōu)化二(最好的) 
  38. iptables -A OUTPUT -m state --state ESTABLISHED -j ACCEPT 
  39. 注意:仔細觀察一下這個規(guī)則這個狀態(tài)全部是ESTABLISHED,所以可以再次優(yōu)化的 
  40.  
  41. 開放TCP的23號端口,只允許192.168.184.1-192.168.184.200內(nèi)的主機訪問 
  42. iptables -A INPUT -d 192.168.184.136 -m iprange  --src-range 192.168.184.1-192.168.184.200 -p tcp --dport 23 -m state --state NEW -j ACCEPT  
  43.  
  44. 對ssh進行限制,同一ip只允許發(fā)送兩個請求 
  45. iptables -A INPUT -d 192.168.184.136 -p tcp --dport 22 -m state --state NEW -m connlimit ! --connlimit-above 2 -j ACCEPT 
  46.  
  47. 對網(wǎng)頁內(nèi)容字符串進行屏蔽,比如屏蔽包含test字樣 
  48. iptables -I OUTPUT 1 -m string --algo kmp --string "test" -j REJECT 
  49.  
  50. 開放ftp服務 
  51. lsmod |grep ftp 查看內(nèi)核的ftp模塊 
  52. modprobe ip_nat_ftp 裝載內(nèi)核的ftp模塊 
  53. 開放命令連接21號端口: 
  54. iptables -A INPUT  -d 192.168.184.136 -p tcp --dport 21 -m state --state NEW -j ACCEPT 
  55. 開放數(shù)據(jù)端口: 
  56. iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
  57. iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
  58.  
  59. 禁ping 
  60. iptables -A FORWARD -p icmp --icmp-type 8 -j REJECT 
  61.  
  62. SNAT源地址轉換 
  63. iptables -t nat -A POSTROUTING -s 172.16.0.0/16 -j SNAT --to-source 192.168.100.2  
  64.  
  65. DNAT目標地址轉換 
  66. iptables -t nat -A PREROUTING -d 172.16.100.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.100.2 
  67.  
  68. 日志記錄功能 
  69. iptables -t nat PREROUTING -d 172.16.100.1 -p tcp --dport 80 -j LOG --log-prefix "DNAT LOG" 
  70. 注意:日志是記錄在messages 
  71.  
  72. 利用iptables的recent模塊來抵御DOS攻擊:
  73. ssh: 遠程連接 
  74. iptables -I INPUT -p tcp --dport 22 -m connlimit --connlimit-above 3 -j DROP 
  75. iptables -I INPUT  -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH 
  76. iptables -I INPUT  -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 300 --hitcount 3 --name SSH -j DROP 
  77.  
  78. 1.利用connlimit模塊將單IP的并發(fā)設置為3;會誤殺使用NAT上網(wǎng)的用戶,可以根據(jù)實際情況增大該值; 
  79. 2.利用recent和state模塊限制單IP在300s內(nèi)只能與本機建立3個新連接。被限制一分鐘后即可恢復訪問。 
  80. 下面對最后兩句做一個說明: 
  81. 1.第一句是記錄訪問tcp 22端口的新連接,記錄名稱為SSH 
  82. --set 記錄數(shù)據(jù)包的來源IP,如果IP已經(jīng)存在將更新已經(jīng)存在的條目 
  83. 2.第三句是指SSH記錄中的IP,300s內(nèi)發(fā)起超過3次連接則拒絕此IP的連接。 
  84. --update 是指每次建立連接都更新列表; 
  85. --seconds必須與--rcheck或者--update同時使用 
  86. --hitcount必須與--rcheck或者--update同時使用 
億恩科技地址(ADD):鄭州市黃河路129號天一大廈608室 郵編(ZIP):450008 傳真(FAX):0371-60123888
   聯(lián)系:億恩小凡
   QQ:89317007
   電話:0371-63322206

本文出自:億恩科技【1tcdy.com】

服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經(jīng)營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經(jīng)營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經(jīng)營性ICP/ISP證:贛B2-20080012
  • 服務器/云主機 24小時售后服務電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
  • 專注服務器托管17年
    掃掃關注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區(qū)翠竹街1號總部企業(yè)基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號
      1
     
     
     
     

    0371-60135900
    7*24小時客服服務熱線