iptables初步总结

原创 2015年07月08日 13:10:46

iptables是Linux中的防火墙,在Linux中可以过滤数据包。下面简单的介绍下iptables的应用。

①iptables在Linux中有五个钩子函数(hook function)

PREROUTING:数据包进入了主机,但是还没有被路由的阶段。

INPUT:数据包进入到主机内部。

FORWARD:数据包将由从本主机转发出去。

POSTROUTING:数据包马上由本级发送出去。

OUTPUT:数据包从本主机发送出去。

②iptables在Linux中的四个链

fileter:可以应用在 INPUT FORWARDOUTPUT上面

nat:可以应用在PREROUTINGPOSTROUTING OUTPUT上面

mangle:可以应用在PREROUTINGPOSTROUTING OUTPUT INPUT FORWARD。

raw:可以应用在PREROUTINGOUTPUT上面。

③iptables通用匹配

-s:指定过滤数据包的源地址。

-d:指定过滤数据包的目标地址。

-p:指定过滤的协议类型。

-i:指定过滤的数据包进入的网卡接口。

-o:指定过滤的数据包流出的网卡接口。

-j:对指定的数据包的动作

I:ACCEPT---------接受指定的数据包。

II:DROP----------丢弃指定的数据包。

III:REJECT-------丢弃指定的数据包。

eg:对192.168.5.1访问192.168.5.10的http数据包进行丢弃的操作

iptables –A INPUT –s 192.168.5.1 –d192.168.5.10 –p tcp --dport 80 –j DROP

eg:对192.168.5.1访问192.168.5.10的http数据包进行接受的动作

iptables –A INPUT –s 192.168.5.1 –d192.168.5.10 –p tcp –doprt 80 –j ACCEPT

iptables –A OUTPUT –s 192.168.5.10 –d192.168.5.1 –p tcp –sport 80 –j ACCEPT

在对接受的数据包进行处理的时候,需要注意的是数据包一来一回的双向处理。

对自定义的iptables规则就行保存

service iptables save

iptables –L –nv  --line-numbers //查看自定义的防火墙规则。

④管理规则

-A:添加一条规则,添加的位置在规则的末尾。

-I:添加一条规则,如果省略添加的位置,默认的添加的位置在规则的最上方。

-D:删除一条规则。

-R:对某条指定的规则进行修改。

对链进行管理:

-F:清空一条链上面的所有的规则。

-P:更改制定链的默认规则。

-N:自定义一条新的空链。

-X:删除一个自定义的空链。

 

 

⑤扩展选项使用

eg:对于http的服务请求,192.168.5.1服务器段进行连接状态的控制

iptables –A INPUT  -d 192.168.5.1 –p tcp –dport 80 –m state–state NEW,ESTABLISHED –j ACCEPT

iptables –A OUTPUT –s 192.168.5.1 –p tcp–sport 80 –m state –state ESTABLISHED –j ACCEPT

//服务器对于INPUT服务器的NEW和ESTABLISHED状态的报文给予响应,对于OUTPUTon服务器的报文只响应ESTABLISHED类型的报文。

eg:多端口的相应

iptables –A INPUT –d 192.168.5.1 –p tcp –m–multiport –destination-ports 21,22,80 –m state –state NEW,ESTABLISHED –jACCEPT

//在INPUT链上给予21,22,80端口并且是NEW或者是ESTABLISHED的报文放行处理。

eg:编写规则,一个IP地址的ssh连接最多可以有三个。当超过三个的时候过5分钟之后在进行连接处理。

iptables –A INPUT –d 192.168.5.1 –p tcp–dport 22 –m connlimit –connlimit-above 3 –j DROP

iptables –A INPUT –d 192.168.5.1 –p tcp–dport 22 –m state –state NEW –m recent –set –name SSH //记录访问ssh的新的连接,记录来源IP地址。

iptables –A INPUT –d 192.168.5.1 –p tcp–dport 22 –m state –state NEW –m recent –update –seconds 300 –hitcount 3 –nameSSH –j DROP //当超过三次之后,300秒内不许连接—seconds和—hitcount 必须和—update一起使用。

eg:在请求http的过程中,如果请求的页面还有H7N9则不允许显示

iptables –A OUTPUT –d 192.168.5.1 –p tcp–dport 80 –m string –algo kmp –string “H7N9” –j DROP

//注意方向是OUTPUT方向。

⑥nat:

DNAT:目标地址转换

SNAT:源地址转换

eg:访问外网时,将192.168.5.0/24地址转化为172.16.10.1

iptables –A POSTROUTING –s 192.168.5.0/24 –jSNAT –to-source 172.16.10.1

iptables –A POSTROUTING –s 192.168.5.0/24 –jSNAT MASQUERADE //如果需要转化的地址是一个动态变化的地址,那么可以使用MASQUERADE来进行自动的转换。

eg:当访问外放的服务器172.16.10.1的时候转换到内网的192.168.5.1进行访问

iptables –A PREROUTING –d 172.16.10.1 –p tcp–dport 80 –j DNAT –to-destination 192.168.5.1

同样可以进行端口映射

iptables –A PREROUTING –d 172.16.10.1 –p tcp–dport 80 –j DNAT –to-destination 192.168.5.1:8080

⑦在打开了iptables的过程中。利用lsmod|grepip 可以查看加载了那些模块。在Linux6.4系统中,在/proc/sys/net/nf_conntrack_max可以查看iptables允许的最大的连接数量。如果一个服务器非常繁忙的话,当连接数量超过了配置文件的数量的时候,那么就会有大量的请求被丢弃。在/proc/net/nf_conntrack中记录了当前连接的状态信息。这些状态信息也可以利用iptstate来查看。

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

java语言基础实验报告 第二个实验

package njtcstudent.com; import java.util.Scanner; public class Seond { public static void main(...
  • puhaiyang
  • puhaiyang
  • 2014年09月30日 22:41
  • 622

图形图像的基础知识总结

1、图像文件格式 图像文件格式是指用于存储图形或图像数据的一种数据结构。它反映了图像的大小、分辨率、图像模式等信息。 2、像素:        显示在显示器上光的单元,用来计算点阵图像的一...
  • u011046042
  • u011046042
  • 2016年11月24日 21:48
  • 2467

WPF动画基础学习总结

动画基础 创建正确动画的秘诀在于决定需要修改什么属性。 WPF动画第一条规则,每个动画依赖于一个依赖项属性,另一个需要支持相应数据类型的动画类。 Animation 实际上有两种动画:在开始值...
  • u011626294
  • u011626294
  • 2014年03月10日 14:01
  • 922

iptables之语法初步

Iptables语法概述   Iptables指令可以划分为两个部份,一个是“Iptables指令参数”,另一个是“规则语法”。  Iptables的参数相当多,这并不代表需要记住所有的参数,...
  • chengxuyuanyonghu
  • chengxuyuanyonghu
  • 2015年11月13日 15:33
  • 198

HTML初步认识

HTML初步认识本篇博客给大家带来html最基础的东西,也就是初步认识html,打算从以下几个方面给大家介绍: 认识什么是纯文本文件txt HTML是负责描述文档语义的语言 HTML骨架和基本语法 可...
  • u010624986
  • u010624986
  • 2016年12月16日 23:46
  • 519

Linux防火墙iptables学习笔记(三)iptables命令详解和举例

网上看到这个配置讲解得还比较易懂,就转过来了,大家一起看下,希望对您工作能有所帮助。 网管员的安全意识要比空喊Linux安全重要得多。 iptables -F iptables -X ip...
  • liujianminghero
  • liujianminghero
  • 2015年12月06日 21:13
  • 2014

iptables小总结

1、iptables四表五链四个表: filter:用于过滤 nat:用于nat功能(端口映射,地址映射等) mangle:用于对特定数据包的修改 raw:一般不让iptables做数据包的链接跟踪处...
  • u012599988
  • u012599988
  • 2015年07月01日 12:12
  • 334

拥抱firewalld,但也别忘了iptables——下篇(firewalld详解)

本文介绍了当前linux系统上官方权威且简单易用的包过滤防火墙软件——firewalld(替代了之前的iptables),重点解析其配置命令,通过分模块的清晰的系统学习,相信大家可以看懂大部分的fir...
  • gg_18826075157
  • gg_18826075157
  • 2017年06月07日 15:41
  • 1283

文科生也能看懂的iptables教程(推荐)

对于斗胆开始玩vps的文科生来讲,iptables简直是地狱中的地狱。有几家vps供应商系统默认是带着些iptables规则的,以前我一向是难言之隐,一清了之。 我很早就知道这东西重要,但看着太难了...
  • joeyon
  • joeyon
  • 2015年06月10日 17:30
  • 580

iptables规则的查看、添加、插入、删除和修改

这里只列出比较常用的参数,详细的请查看man iptables 1、查看 iptables -nvL –line-number -L 查看当前表的所有规则,默认查看的是filter表,如...
  • l241002209
  • l241002209
  • 2015年02月28日 17:32
  • 16243
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iptables初步总结
举报原因:
原因补充:

(最多只允许输入30个字)