您的位置:首页 > 其它

iptables介绍和简单的应用!!!

2016-03-20 14:21 381 查看
项目背景:
为了我们主机的安全,我们需要对于软件防火墙iptables有较深的理解!

实验环境:
vmware workstation 11服务器A:ip:192.168.0.19服务器B:ip:192.168.0.25 SecureCRT (ssh远程连接软件)iptables-ipv6-1.4.7-11.el6.x86_64
iptables-1.4.7-11.el6.x86_64

软件简单图解介绍:
相信大家对于iptables冗长的概念会跟我一样很烦,所以我尽量简单来介绍!









因为我们的linux主机默认已经安装了iptables软件,所以我们可以直接使用它。
软件的使用:
一、查看本机分防火墙规则
1:iptables -t 表格名 -L (表格名可选项:filter、nat、mangle)
2:iptables-save (查看完整的防火墙规则)



目的:通过查看我们的防火墙股则可以对我们的主机有详细的了解

二、清除防火墙规则
iptables -F #清除所有的已经制定的规则
iptables -X #清除用户自定义的链
ipatbales -Z #将所有的链的计数和流量归零
目的:一般我们在写我们的规则的时候,为了让自己对于规则更了解,通常会把已有的防火墙规则清空。
三、定义默认策略

什么是默认策略呢,就是你把防火墙规则都清除以后,它依然存在的一些规则。
1、首先看一下linux主机的默认策略


可以看到所有的链都是允许,这样子的话,假如我们主机清空以后短时间没有制定一些规则的话,我们的主机就处于危险之中。
2、定义默认策略
iptables -t 表名 -P 链名 [ACCEPT,DROP] #不同的表格使用它拥有的链名
应用:定义默认策略来把自己挡在家门外

因为我用的是ssh远程连接软件连到我的linux主机的,所以我可以定义filter表格的INPUT链的数据包都丢弃,那么的话我的ssh连接就被限制了
[root@nagios-plugin ~]# iptables -t filter -P INPUT DROP
添加这条规则以后我们,为了正常使用ssh远程连接,这个时候需要登录到主机里面把这条默认策略修改了
首先查看我们现在的默认策略




进行下面的操作
[root@nagios-plugin Desktop]# iptables -t filter -P INPUT ACCEPT
进行完以后我们就又可以用ssh远程连接工具了



四、数据包的基础比对:IP、网络和接口设备
貌似现在才进入正餐!!!
iptables [-AI 链名] [-io 网络接口] [-p 协议] [-s 来源IP/网络] [-d 目标IP/网络] -j 动作
补充:动作有 ACCEPT 、DROP、REJECT(拒绝)、LOG(记录)
应用:让ip是192.168.0.25的主机不能访问主机192.168.0.19




可以看到可以正常访问
在主机192.168.0.19上面执行下面的命令

[root@nagios-plugin ~]# iptables -A INPUT -i eth0 -p tcp -s 192.168.0.25 -j REJECT

测试:刷新一下发现不能访问了!




五、TCP、UDP的规则对比:针对端口设置
因为不同的服务会开启不同的端口,所以我们很多时候不是针对某种协议来制定规则的,毕竟端口的话更灵活,不会像协议一样一杀一大片!!!!
iptables [-AI 链名] [-io 网络接口] [-p 协议] [-s 来源IP/网络] [--sport 端口范围] \
[-d 目标IP/网络] [--dport 端口范围] -j 动作
补充:动作有 ACCEPT 、DROP、REJECT(拒绝)
应用:把filter表格的INPUT链DROP后,让我们可以在本机上使用ssh连接软件!
首先看下本机的ip



添加下面的规则
[root@nagios-plugin Desktop]# iptables -A INPUT -p tcp -s 192.168.0.31 --dport 22 -j ACCEPT
注释:这条命令是 增加一条INPUT链的 协议是tcp的 源地址是192.168.0.31的 目标端口是22的可以连接。
六、iptables连接状态设置
有时候我们需要根据数据包的状态来进行一些规则的设置

iptables -A INPUT [-m state] [--state 状态]
状态:INVALID(无效的数据包) ESTABLISHED(连接成功的数据包) NEW(想要新建连接的数据包)
RELATED(表示这个数据包与主机发出去的数据包有关)
应用:只要已经建立连接或者已发出请求的数据包就通过,不合法数据包就丢弃

[root@nagios-plugin ~]# iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

总结:iptables是一款优秀的防火墙软件,在我们的生产环境中对于我们的一些服务的安全有大的帮助,希望大家都有所得!谢谢大家
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  软件 防火墙 iptables