iptables速查

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中使用者自定链中的规则

设置预设规则

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值