iptables策略

Posted zhuzhenlong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iptables策略相关的知识,希望对你有一定的参考价值。

input output forward prerouting postrouting

五链相当于在五个位置设置安全策略做检查

技术分享图片

流量进入网卡(路由表)后查看是否是发给自己的,

1 总的检查口   prerouting

2 是发给自己的就转发给自己进程的端口,input

不是就转发走,只是穿过      output

4 自己访问外部网络时,流量往外出的时候也要经过自己的路由表  forward

穿过我的做设置,例如教室内访问视频网站 

5   最外面的出口做检查   postouting

    1 隐式扩展

不用写调用哪个模块,当指定协议的时候系统会自动调用协议所需要的模块,协议名就是模块名,系统自己去找,tcp,udp协议

指定端口号

只让tcp的22端口通过

iptables -I INPUT 3 -s 192.168.1.11 -p tcp --dport22 -j ACCEPT

                                              dport目标端口

                                              sport源端口

                  指定端口范围,必须是连续的   m:n 例如1:10  1到10    

 

自定义链

除了系统自带的五个链,自己可以自定义链

 

1先自定义一个链

Iptables –N invalid_packets

重命名

Iptables –E invalid_packets INVALID_PACKETS

 

为自定义的链添加规则

Iptables –A invalid_packets –p tcp –tcp-flags ALL ALL –j REJECT

 

定义完不和原有规则关联就没意义,就像函数,只定义没调用就无意义

Iptables –A OUTPUT –j INVALID_PACKAGES 

从我这里出的,只要是不符合规则的统统拒绝

 

删除时,先删除关联的链,再清空自定义链添加的内容,最后删除自定义链

Iptables –D OUTPUT 1

Iptables –F invalid_packets

Iptables –X invalid_packets

 

 

显示扩展

 

1 multiport   可以指定不连续端口

iptables -I INPUT -p tcp -m multiport --dports 139,445 -j ACCEPT

 

2 iprange

iptables -I INPUT -m iprange --src-range 192.168.1.11-192.168.1.12 -j ACCEPT

 

3 mac --mac-source 

Ip 限制了可以从mac突破限制

Iptables -I INPUT 3 -m mac --mac-source 00:0C:29:D9:83:55 -j ACCEPT

 

加两个

Iptables -I INPUT 3 -m mac --mac-source 00:0C:29:D9:83:55 -s 192.168.1.11 -j ACCEPT

 

4  string

对应用层数据的字符串进行限制

例如用户访问百度搜索google等字符串,可以屏蔽掉

 

Iptables -I OUTPUT -m string --algo bm --string”google” -f REJECT

 

Tcpdump -I etho port 80

 

5   time

iptables -I INPUT 3 -m time --timestart 01:00:00 --timestop 02:00:00 --weekdays 1,2,3,4,5 -j ACCEPT

 

周一到周五的上班时间才能访问

 

6 connlimit   限制单个机器的连接数

限制客户端的IP连接数,并发连接数

--connlimit-upto  n   小于某个值,在某个范围内时是匹配的

--connlimit-above n     连接数大于n的时候匹配

 

超过两个就拒绝

iptables -A INPUT -m connlimit --connlimit-above 2 -j REJECT

 

添加策略是防止和iptables -vnL 里面其他策略冲突

 

7 limit 扩展   限制总的连接数,多个机器加起来

 

先放行5个,以后每一分钟放行一个

iptables -A INPUT -m limit --limit 1/minute --limit-burst 5 -j ACCEPT

 

8 state

 New:第一次访问就叫做new

ESTABLISHED:第二次访问的叫做established

RELATED:新发起的与已有连接相关联的连接,例如ftp协议中数据连接与命令连接的关系

 

防火墙策略中,established放在最前面,之前检查过了,再次见面直接放在最前面直接通过

例如 旧的已经连接过的用户accept,新的用户只有httpd80端口可以连,其他的都不让连

Iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Iptables -I INPUT 4 tcp --dport 80 -m state --state NEW -j ACCEPT

 

针对ftp的端口容易变化的特性,加载专门模块

modprobe nf_conntrack_ftp

 

可以加入开机启动 /etc/rc.d/rc.local

Lsmod |grep ftp  查看是否加载成功

 

加载后, 新添加的21端口和相关联的内容都放行

 

新发起的请求连接的21端口是允许的

iptables -I INPUT 3 -p tcp --dport 21 -m state --state NEW -j ACCEPT

 

相关的已经建立连接的直接放行

iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

 

以上是关于iptables策略的主要内容,如果未能解决你的问题,请参考以下文章

iptables实用教程:管理链和策略

企业防火墙-iptables策略

iptables策略

iptables

iptables 的常用策略

iptables filter表案例 iptables nat表应用