iptables速查
时间:2022-07-22
本文章向大家介绍iptables速查,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
iptables规则链
- PREROUTE
- INPUT
- FORWARD
- OUTPUT
- POSTROUTING
防火墙策略
- 默认关闭,只有指定数据放行
- 默认开启,只有指定的开启
动作
- DEOP 丢弃
- REJECT 明示拒绝
- ACCEPT 接受
- custom_chain 转向一个自定义的链
- DNAT
- SNAT
- MASQUERADE 源地址伪装
- REDIRECT 端口重定向
- MARK 打防火墙的标志
- RETURN 返回在自定义链执行完毕后返回 来返回原规则链
iptables默认三个表
- filter
- nat
- manage
iptables基本命令
- 这些配置就像用命令配置IP一样,重起就会失去作用,所以我们需要去保存这个配置
/etc/rc.d/init.d/iptables save
- 这样就可以写到
/etc/sysconfig/iptables
文件里了. - 写入后记得把防火墙重起一下,才能起作用.
service iptables restart
iptables -L -n
查询当前iptables的规则
iptables -F
清除预设表fliter中的所有规则链的规则
iptabl e -X (OUTPUT)
可以指定链清理 清除预设表filter中使用者自定链中的规则
设置预设规则
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
- 上面命令的意思就是 输入的和转发的 如果不在我们定义的规则里面就丢弃掉
(INPUT FORWARD)
而对于OUTPUT
我们没有过多的限制 如果输出的不在我们的规则里面即通过
添加规则
- 详细限制某个ip访问
iptables -t filter -A OUTPUT -s 192.168.31.210 -d 192.168.31.211 -p tcp --dport 22 -j ACCEPT
参数效果 -t指定表-s指定输入源-d指定接收-p tcp指定协议--dport指定端口-j指定规则
- 开启ping
iptables -A OUTPUT -p icmp -j ACCEPT (OUTPUT设置成DROP的话)
iptables -A INPUT -p icmp -j ACCEPT (INPUT设置成DROP的话)
- 关闭一下不必要端口
iptables -A OUTPUT -p tcp --sport 31337 -j DROP
这个是可以任何ip访问 只是开放了端口
开启ftp服务
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
- 如果一个ip访问web服务并发20以上就拒绝该连接
iptables -I INPUT -p tcp --dport 80 -m connlimit --connlimit-above 20 -j REJECT
ipset
- ipset安装 yum安装: yum install ipset
- 创建一个
ipset
ipset create xxx hash:net
(也可以是hash:ip ,这指的是单个ip,xxx是ipset名称)
ipset
默认可以存储65536
个元素,使用maxelem
指定数量
ipset create blacklist hash:net maxelem 1000000
#黑名单
ipset create whitelist hash:net maxelem 1000000
#白名单
- 查看已创建的
ipset
ipset list
- 加入一个名单
ip
ipset add blacklist 10.60.10.xx
- 去除名单
ip
ipset del blacklist 10.60.10.xx
- 创建防火墙规则,与此同时,
allset
这个IP
集里的ip
都无法访问80
端口(如:CC攻击可用
)
iptables -I INPUT -m set –match-set blacklist src -p tcp -j DROP
iptables -I INPUT -m set –match-set whitelist src -p tcp -j DROP
service iptables save
iptables -I INPUT -m set –match-set setname src -p tcp –destination-port 80 -j DROP
- 将
ipset
规则保存到文件ipset save blacklist -f blacklist.txt
ipset save whitelist -f whitelist.txt
- 删除
ipset
ipset destroy blacklist
ipset destroy whitelist
- 导入
ipset
规则ipset restore -f blacklist.txt
ipset restore -f whitelist.txt
ipset
的一个优势是集合可以动态的修改,即使ipset
的iptables
规则目前已经启动,新加的入ipset
的ip
也生效
本文为作者原创,手码不易,允许转载,转载后请以链接形式说明文章出处。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- charles工具使用
- 干货 | 从0到1,搭建一个体系完善的前端React组件库
- LeetCode 01两数之和&02两数相加
- 给GitHub "彩蛋" readme 生成自定义统计信息
- Android |《看完不忘系列》之okhttp
- pt-osc改表过程中的中文乱码问题
- Hive Query生命周期 —— 钩子(Hook)函数篇
- python快速排序
- 扩展 Microsoft.Owin.Security
- Angular 2 版本的 ng-bootstrap 初体验
- 揭开MySQL“锁”的神秘面纱
- 从0到1开发测试平台(九)后端对接口response的封装
- 在 Mac OS X 上安装和配置 Wine
- 性能测试之nginx访问日志分析
- Pytest之断言