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

Iptables用法

时间:2014-05-07 22:32:21      阅读:466      评论:0      收藏:0      [点我收藏+]

标签:iptables

[root@localhost ~]# iptables -F   #清除默认表filter中所有链的规则
[root@localhost ~]# iptables -X   #清除自定义链的规则
[root@localhost ~]# iptables -L -nv --line-numbers  #编号显示链规则
[root@localhost ~]# iptables -N   #新建一条自定义的链
[root@localhost ~]# iptables -A INPUT -i eth0  #指定包进入的本地网络接口
[root@localhost ~]# iptables -t filter -P INPUT DROP  #设置链规则拒绝
[root@localhost ~]# service iptables save  #保存iptables配置
[root@localhost ~]# iptables -A INPUT -p tcp --dport 22 -j ACCEPT    #插入链规则开放22端口
[root@localhost ~]# iptables -A INPUT -p tcp -m multiport --sport 22,53,80,110,443 -j ACCEPT  #多端口匹配,最多指定15个端口
[root@localhost ~]# iptables -t nat -A PREROUTING -d 192.168.3.100 -p tcp --dport 8080 -j REDIRECT --to-port 80 #本地端口转发
[root@localhost ~]# iptables -t nat -A PREROUTING -d 110.110.110.110/28 -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.1.1:80  #目标NAT
[root@localhost ~]# iptables -A INPUT -p tcp --dport 22 -j LOG --log-level 5 --log-prefix "SSH iptables" #设置日志
[root@localhost ~]# iptables -A INPUT -d 192.168.3.100/32 -p tcp -m tcp --dport 22 -m state --state NEW,ESTABLISHED -m time --timestart 11:50:00 --timestop 12:10:00 --weekdays Mon,Tue,Wed,Thu,Fri  -j DROP  #基于时间和状态控制
[root@localhost ~]# iptables -R INPUT 2 -p tcp --dport 25 -j ACCEPT  #替换原链规则2

Iptables-m

Options[-m]

-mstate--stateNEW,RELATED,ESTABLISHED,INVALID指定要匹配包的状态

-mstate--owner--uid-owner500--gid-owner 0--pid-owner 78--sid-owner 100 按生成包的用户ID、组IDPIDSID来匹配外出的包,只能用于OUTPUT

-m

这些状态可以一起使用,以便匹配数据包。这可以使我们的防火墙非常强壮和有效。以前,我们经常打开1024以上的所有端口来放行应答的数据。现在,有了状态机制,就不需再这样了。因为我们可以只开放那 些有应答数据的端口,其他的都可以关闭。这样就安全多了

State(状态)

Explanation(注释)

NEW

NEW说明这个包是我们看到的第一个 包。意思就是,这是conntrack模块看到的某个连接第一个包,它即将被匹配了。比如,我们看到一个SYN  包,是我们所留意的连接的第一个包,就要匹配它。第一个包也可能不是SYN包,但它仍会被认为是NEW状态。这样做有时会导致一些问题,但对某些情况是有非常大的帮助的。例如,在 我们想恢复某条从其他的防火墙丢失的连接时,或者某个连接已经超时,但实际上并未关闭时。

ESTABLISHED

ESTABLISHED已经注意到两个方向上 的数据传输,而且会继续匹配这个连接的包。处于ESTABLISHED状态的连接是非常容 易理解的。只要发送并接到应答,连接就是ESTABLISHED的了。一个连接要从NEW变 为ESTABLISHED,只需要接到应答包即可,不管这个包是发往防火墙的,还是要由防 火墙转发的。ICMP的错误和重定向等信息包也被看作是ESTABLISHED,只要它们是我  们所发出的信息的应答。

RELATED

RELATED是个比较麻烦的状态。当一 个连接和某个已处于ESTABLISHED状态的连接有关系时,就被认为是RELATED的了。换句话说,一个连接要想  是RELATED的,首先要有一个ESTABLISHED的连接。这个ESTABLISHED连接再产生一个主连接之外的连接,这 个新的连接就是RELATED的了,当然前提是conntrack模块要能理解RELATED。ftp是个很好的例子,FTP-data 连接就是和FTP-control有RELATED的。还有其他的例子,比如,通过IRC的DCC连接。有了这个状态,ICMP应  答、FTP传输、DCC等才能穿过防火墙正常工作。注意,大部分还有一些UDP协议都依赖这个机制。这些协议 是很复杂的,它们把连接信息放在数据包里,并且要求这些信息能被正确理解。

INVALID

INVALID说明数据包不能被识别属于 哪个连接或没有任何状态。有几个原因可以产生这种情况,比如,内存溢出,收到不知属于哪个连接的ICMP 错误信息。一般地,我们DROP这个状态的任何东西。


Iptables用法,布布扣,bubuko.com

Iptables用法

标签:iptables

原文地址:http://liangshaoqin.blog.51cto.com/2137205/1407771

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