iptables第二部分

简介:

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





     本文转自阿伦艾弗森 51CTO博客,原文链接:http://blog.51cto.com/perper/1967192,如需转载请自行联系原作者



相关文章
|
5月前
|
网络协议 Shell
iptables 详解
iptables 详解
53 0
|
7月前
|
网络协议 Linux 网络安全
iptables 的四表五链
iptables 是 Linux 系统上用于定义防火墙规则的工具,它通过四个表和五个链来进行配置。下面是这些表和链的详细说明: 四个表: 1. filter 表:filter 表是最常用的表,用于过滤数据包。它包含了 INPUT、OUTPUT 和 FORWARD 三个默认的链。 2. nat 表:nat 表用于网络地址转换 (NAT)。它包含了 PREROUTING、POSTROUTING 和 OUTPUT 三个默认的链。nat 表用于修改数据包的 IP 地址和端口。 3. mangle 表:mangle 表用于修改数据包的特定字段,如 TTL(生存时间)、TOS(服务类型)等。它包含了
160 1
|
8月前
|
网络协议 网络安全 网络性能优化
|
网络协议 Linux 测试技术
iptables超全详解
数据包先经过PREOUTING,由该链确定数据包的走向:     1、目的地址是本地,则发送到INPUT,让INPUT决定是否接收下来送到用户空间,流程为①--->②;     2、若满足PREROUTING的nat表...
1866 0
|
网络协议 Linux 网络安全
|
网络协议 网络安全 网络虚拟化
|
网络协议 网络安全
|
网络协议 网络安全

热门文章

最新文章