前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >iptables速查

iptables速查

作者头像
憧憬博客
发布2020-07-20 17:03:33
6590
发布2020-07-20 17:03:33
举报
文章被收录于专栏:憧憬博客分享憧憬博客分享

iptables规则链

  • PREROUTE
  • INPUT
  • FORWARD
  • OUTPUT
  • POSTROUTING

防火墙策略

  1. 默认关闭,只有指定数据放行
  2. 默认开启,只有指定的开启

动作

  1. DEOP 丢弃
  2. REJECT 明示拒绝
  3. ACCEPT 接受
  4. custom_chain 转向一个自定义的链
  5. DNAT
  6. SNAT
  7. MASQUERADE  源地址伪装
  8. REDIRECT 端口重定向
  9. MARK 打防火墙的标志
  10. RETURN 返回在自定义链执行完毕后返回 来返回原规则链

iptables默认三个表

  1. filter
  2. nat
  3. 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中使用者自定链中的规则

设置预设规则

代码语言:javascript
复制
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服务

代码语言:javascript
复制
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的一个优势是集合可以动态的修改,即使ipsetiptables规则目前已经启动,新加的入ipsetip也生效

本文为作者原创,手码不易,允许转载,转载后请以链接形式说明文章出处。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • iptables规则链
  • 防火墙策略
  • 动作
  • iptables默认三个表
  • iptables基本命令
  • 设置预设规则
  • 添加规则
  • ipset
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档