码迷,mamicode.com
首页 > 其他好文 > 详细

iptables第二部分

时间:2017-09-21 09:39:20      阅读:105      评论:0      收藏:0      [点我收藏+]

标签:linux

1.multiport

iptables -I INPUT -s 172.16.0.0/16 -d 172.16.6.14 -p tcp -m multiport --dport 22,80 -j ACCEPT

iptables -I OUTPUT -d 172.16.0.0/16 -s 172.16.6.14 -p tcp -m multiport --dport 22,80 -j ACCEPT

2.iprange扩展

指明连续的(但一般是不能扩展整个网络)ip地址范围时使用

iptables -I INPUT -d 172.16.6.14 -p tcp -m multiport --dports 22:23,80 -m iprange --src-range 172.16.6.1-172.16.6.100 -j ACCEPT 

iptables -I OUTPUT -s 172.16.6.14 -p tcp -m multiport --sports 22:23,80 -m iprange --dst-range 172.16.6.1-172.16.6.100 -j ACCEPT 

3.string扩展

检测报文中出现的字符串:

--algo:bm或kmp

iptables -I OUTPUT -m string --algo bm --string ‘test‘ -j REJECT

4、time扩展

根据报文到达的时间与指定的时间范围进行匹配;


--datestart 

--datestop


--timestart

--timestop


--monthdays

--weekdays


5、connlimit扩展

根据每客户端IP(也可以是地址块)做并发连接数数量匹配;


--connlimit-above n:连接的数量大于n

--connlimit-upto n: 连接的数量小于等于n


6、limit扩展

基于收发报文的速率做检查;


令牌桶过滤器


--limit rate[/second|/minute|/hour|/day]

--limit-burst number


7、state扩展

根据连接追踪机制检查连接的状态;


调整连接追踪功能所能够容纳的最大连接数量:

/proc/sys/net/nf_conntrack_max


已经追踪到并记录下的连接:

/proc/net/nf_conntrack


不同协议或连接类型追的时长:

/proc/sys/net/netfilter/


可追踪的连接状态:

NEW:新发出的请求;连接追踪模板中不存此连接相关的信息条目,因此,将其识别为第一次发出的请求;

ESTABLISHED:NEW状态之后,连接追踪模板中为其建立的条目失效之前期间内所进行的通信的状态;

RELATED:相关的连接;如ftp协议的命令连接与数据连接之间的关系;

INVALIED:无法识别的连接;


--state STATE1,STATE2,...


问题:如何开放被动模式的ftp服务?


(1) 装载ftp追踪时的专用的模块:

# modprobe nf_conntrack_ftp


(2) 放行请求报文:

命令连接:NEW, ESTABLISHED

数据连接:RELATED, ESTABLISHED


# iptables -A INPUT -d LocalIP -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT

# iptables -A INPUT -d LocalIP -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT


(3) 放行响应报文:

ESTABLISEHD


# iptables -A OUTPUT -s LocalIP -p tcp -m state --state ESTABLISHED -j ACCEPT


如何保存及重载规则:


保存规则至指定文件:

iptables-save > /PATH/TO/SOMEFILE


从指定文件重载规则:

iptables-restore < /PATH/FROM/SOMEFILE


CentOS 6:

service iptables save 

iptables-save > /etc/sysconfig/iptables


service iptables restart

iptables-restore < /etc/sysconfig/iptables


CentOS 7:

引入了新的iptables前端管理服务工具:firewalld

firewalld-cmd

firewalld-config


iptables第二部分

标签:linux

原文地址:http://perper.blog.51cto.com/6284626/1967192

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!