基于iptables 实现 ip 黑名单、白名单

devtools/2024/9/23 3:32:27/

 

1. 创建端口集合、黑名单ip集合、白名单ip 集合

2. 首次访问非正确的端口,即认为是黑名单ip

3. 若是黑名单ip 且不是白名单ip drop

4. 通过本次请求 标记为白名单ip

## 设置黑名单 ip
ipset create scanner-ip-set hash:ip## 设置白名单
ipset create white-ip-set hash:ip## 设置公共端口
ipset create pub-port-set bitmap:port range 0-65535### 查看集合ipset list## 删除集合里的元素
ipset del scanner-ip-set 103.3.120.114
ipset add white-ip-set 127.0.0.1

设置iptables规则
## 请求非公共端口的加入黑名单ip
iptables \-I INPUT 1 \-p tcp --syn \-m set ! --match-set pub-port-set dst \-m set ! --match-set white-ip-set src \-j SET --add-set scanner-ip-set src  ## 来源ip 是黑名单列表的,拒绝访问
iptables \-A INPUT \-p tcp --syn\-m set --match-set scanner-ip-set src \-m set ! --match-set white-ip-set src \-j DROP###  通过规则2 ,不在黑名单中,添加白名单
iptables \-A INPUT \-p tcp --syn \-m set ! --match-set scanner-ip-set src \-j SET --add-set white-ip-set src  ## 查看规则
iptables -L 
## 删除规则
iptables -D INPUT 1 

http://www.ppmy.cn/devtools/42536.html

相关文章

Ollama本地运行 Mistral-7B-Instruct-v0.3

Ollama本地运行 Mistral-7B-Instruct-v0.3 0. 引言1. 运行 mistral:7b-instruct-v0.3-q8_02. 简单问个问题 0. 引言 Mixtral 5月23日发布了 Mistral-7B-Instruct-v0.3,支持 function calling,今天简单运行一下。 1. 运行 mistral:7b-instruct-v0.3-q8_…

Xcode给项目安装依赖包或者第三方库,操作教程

使用xcode创建的项目,想要安装第三方库或者依赖,大概有三种方式: 1.使用xcode中包管理工具来安装,好处是不用学习额外的包管理命令,只要点点点即可。 今天我们就先来学习一下这个点点点的操作。 2.使用CocoaPods包管…

Vue solt插槽(v2v3)实战详解

在 Vue.js 中&#xff0c;<slot> 是用于在父组件中传递内容到子组件的一种机制。它允许你在父组件中定义一些内容&#xff0c;并在子组件中使用 <slot> 标签来插入这些内容&#xff0c;从而实现父子组件之间的内容传递和复用。 1.匿名插槽 使用 <slot> 插槽…

PHP在线制作表白网源码

PHP在线制作表白网源码&#xff0c;送女友个惊喜吧&#xff0c;无数据库&#xff0c;上传就能用&#xff0c;后台/admin&#xff0c;账号密码都是admin 百度网盘&#xff1a;https://pan.baidu.com/s/1rbD2_8IsP9UPLK-cdgEXfA?pwdre59

C++ RPC ORM 高速解析

支持所有常用编程语 https://capnproto.org/GitHub - capnproto/capnproto: Capn Proto serialization/RPC system - core tools and C library https://capnproto.org/capnproto-c-win32-1.0.2.zip 常用命令&#xff1a; capnp help capnp compile -oc myschema.capn…

推荐一个可以作为web APP hub的网站

推荐一个可以作为web APP hub的网站 Web APP的一个优点是轻量&#xff0c;往往是一个网络地址对应一个APP&#xff0c;主打一个简便快捷&#xff0c;但是缺点是仅能完成相对简单的任务&#xff0c;完成复杂的任务可能需要多个APP联合作用&#xff0c;或者期望把经常使用的APP归…

升级openssl与python问题

1、下载与安装 wget --no-check-certificate https://www.openssl.org/source/openssl-1.1.1t.tar.gz tar -zxvf openssl-1.1.1t.tar.gz cd openssl-1.1.1t/ ./config --prefix/usr/local/ssl make sudo make install 2、完成后添加软链接 mv /usr/bin/openssl /usr/bin/oldope…

Flutter 中的 WidgetInspector 小部件:全面指南

Flutter 中的 WidgetInspector 小部件&#xff1a;全面指南 Flutter 的 WidgetInspector 是一个强大的工具&#xff0c;它允许开发者在运行时检查和操作他们的 widget 树。这在调试复杂的布局和 widget 结构时尤其有用。本文将为您提供一个全面的指南&#xff0c;帮助您了解如…