1. 程式人生 > >iptables示例:限制來自某一IP的併發訪問

iptables示例:限制來自某一IP的併發訪問

下面模擬一個iptables的應用場景

場景描述

有兩臺機器 A 和 B

A 上執行WEB服務,B 向 A 傳送大量請求

A 想限制 B 的併發數量,通過 iptables 配置實現:

當 B 傳送的併發數大於10時,拒絕對其提供服務

模擬過程

A 的 IP:192.168.31.158

B 的 IP:192.168.31.207

B 上執行 ab 命令,模擬大量請求

ab -n 10000 -c 20 http://192.168.31.158/test.html

完成後,到 A 中檢視負載狀況,執行 w 命令

# w


A 的壓力太大,得限制 B 了,執行 iptables 命令

iptables -I INPUT -p tcp --dport 80 -s 192.168.31.207 -m connlimit --connlimit-above 10 -j REJECT

再到 B 中執行之前的 ab 命令

ab -n 10000 -c 20 http://192.168.31.158/test.html


發現已經被拒絕了

如果把引數 -c 的值改為 9,就可以正常執行

命令說明

為了便於理解,這個 iptables 命令可以分為幾個部分

iptables

   -I INPUT

   -p tcp --dport 80 -s 192.168.31.207

   -m connlimit --connlimit-above 10

   -j REJECT

-I INPUT 

表示要插入一條 INPUT 鏈的規則

 -p tcp --dport 80 -s 192.168.31.207

是針對來自 192.168.31.207 這個IP對於本機80埠的tcp請求

-m connlimit --connlimit-above 10

表示匹配條件,併發數大於10時成立

-j REJECT

滿足條件後要執行的動作:拒絕

相關推薦

iptables示例限制來自IP併發訪問

下面模擬一個iptables的應用場景 場景描述 有兩臺機器 A 和 B A 上執行WEB服務,B 向 A 傳送大量請求 A 想限制 B 的併發數量,通過 iptables 配置實現: 當 B 傳送的併發數大於10時,拒絕對其提供服務 模擬過程 A 的

nginx遮蔽ip訪問

假設我們想禁止訪問nginx次數最多的ip訪問我們的網站 我們可以先查出那個ip訪問次數最多 awk '{print $1}' nginx.access.log |sort |uniq -c|s

綜合示例自動生成組新聞

lap func tel style display ima one closed alt 點擊按鈕,自動生成5條新聞信息 用一組數組把5條新聞保存起來, 再運用 if 判讀和 for 循環來達到自動生成的效果 1 <!DOCTYPE HTML> 2

python-掃描網段下的ip

lin break bsp tar thread main python per not 1 #!/usr/bin/env python 2 #-*- coding:utf-8 -*- 3 ############################ 4 #File

Linux監測時刻對外的IP連接情況

csdn ng-click data- iptables drop value val 工具 版本號 相信大家都熟悉netstat命令吧,這裏就主要採用此命令。網

總結sqlserver2012刪除語法delete數據表中的項內容

sql server2012 數據庫 刪除語法 學習筆記 今天我們來總結關於sql server2012這個版本的數據庫的刪除語法,也就是delete的用法,我們來刪除數據表中的一項數據,用於測試,這也是我學習數據庫的第五堂課,知識就是力量嘛!好了,來看看語法是怎麽說的吧!數據庫刪除語法:de

Linux使用awk命令獲取文本的一行,

file int lena 文本文 print 文本 In linux 命令 1、打印文件的第一列(域) : awk ‘{print $1}‘ filename2、打印文件的前兩列(域) : awk ‘{pri

面試題二叉樹中和為路徑

color target size 必須 amp code ger 試題 註意 題目描述:輸入一顆二叉樹的跟節點和一個整數,打印出二叉樹中結點值的和為輸入整數的所有路徑。路徑定義為從樹的根結點開始往下一直到葉結點所經過的結點形成一條路徑。(註意: 在返回值的list中,數組

docker-compose入門示例鍵部署 Nginx+Tomcat+Mysql

命令 real 一定的 mes 映射 如果 們的 提前 出現 整體環境配置 整體環境的配置,如果一個一個 Dockerfile 去寫,那麽是相當麻煩的,好在 Docker 有一個名為 Docker-Compose 的工具提供,我們可以使用它一次性完成整體環境的配置: 首先

Python列表中按列作為索引查詢其他列表中對應資訊,找到後插入當前列表。

直接複製,修改地址後使用。修改三個位置,如備註。 #coding=utf-8 import os.path import numpy as np if __name__=="__main__":  list_1_txt= open('list1.txt')#這裡,讀取第一個列表 &

、 tensorflow中有一類在tensor的維度上求值的函式。如

一、 tensorflow中有一類在tensor的某一維度上求值的函式。如: 求最大值tf.reduce_max(input_tensor, reduction_indices=None, keep_dims=False, name=None) 求平均值tf.reduce_m

樹六二叉樹中和為值的路徑

/** * 題目:二叉樹中和為某一值的路徑 * 描述:   輸入一顆二叉樹和一個整數,打印出二叉樹中結點值的和為輸入整數的所有路徑。 *   路徑定義為從樹的根結點開始往下一直到葉結點所經過的結點形成一條路徑 * 方案: 

《資訊奧賽本通》1082求小數的

1082:求小數的某一位 時間限制: 1000 ms 記憶體限制: 65536 KB 【題目描述】 分數a/b化為小數後,小數點後第n位的數字是多少? 【輸入】 三個正整數a,b,n,相鄰兩個數之間用單個空格隔開。0<a<b<100,1≤n≤10000。 【輸出】

python實現判斷天是那年中的第幾天

1.使用內建函式(strftime是一種計算機函式,根據區域設定格式化本地時間/日期,函式的功能將時間格式化,或者說格式化一個時間字串。關於strftime的具體用法見百度百科:https://baike.baidu.com/item/strftime/9569073?fr=aladdin)

查詢欄位去重,並獲得其他欄位資訊

想在table1表中,查公司中的員工名字有哪些,table1表中員工有重名的情況,所以要對員工名去重,並且要得到員工名字、及其對應的部門號dept_id 即:對name欄位去重,並獲得name, dept_id 欄位 在thinkphp3.2 中 $table1= M('table1

劍指offer-24二叉樹中和為值的路徑

題目描述 輸入一顆二叉樹的根節點和一個整數,打印出二叉樹中結點值的和為輸入整數的所有路徑。路徑定義為從樹的根結點開始往下一直到葉結點所經過的結點形成一條路徑。(注意: 在返回值的list中,陣列長度大的陣列靠前) 思路 dfs演算法 程式碼 public class So

劍指offer{面試題25二叉樹中和為值的路徑}

思路:這道題比較有意思,類似的題我在面試裡經常遇到過,圍繞著樹的深度遍歷和廣度遍歷做文章,針對這種型別的題,大家更多考慮的解決方案是遞迴,說白了二叉樹就是一群小二叉樹,上次做寶寶樹的筆試題的時候,出的演算法題就是求任意兩個節點之間的最遠距離,說白了還是遍歷的問題,回到這道題  &n

劍指Offer24二叉樹中和為值的路徑

思路: 實在沒能搞懂大佬們的思路,坐等第二遍刷再看吧 # -*- coding:utf-8 -*- # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None

輸入任意一個字串,判斷這個字串是否是迴文,迴文示例 上海自來水來自海上

2.輸入任意一個字串,判斷這個字串是否是迴文 迴文示例: 上海自來水來自海上 ABCCBA 12321 迴文是指中心對稱的文字 #方法1 str = input('請輸入一個字串:') count = 0 lenth = len(str) print('lenth',

JS兩個json數組合並、去重,以及刪除項元素

兩個json數組合並去重,以及刪除某一項元素 let ha = [ {id:'H',name:'3'}, {id:'A',name:'6'}, {id:'B',name:'14'}, {id:'C',name:'60'} ]; let hb= [