、iptables: 包过滤型防火墙功能、四表五链
、iptables规则、规则管理工具、iptables命令
、iptables链管理、规则管理、查看等
、iptables匹配条件、目标、显式扩展、保存及重载规则
参考:马哥教育和朱双印个人日志
http://www.zsythink.net/archives/tag/iptables/page/2/
http://www.zsythink.net/archives/1199

iptables: 包过滤型防火墙   在内核的tcp/ip协议栈上   对包的tcp首部、ip首部、udp首部做过滤

Firewall: 防火墙,是隔离工具;工作于主机或网络的边缘,对于进出本主机或网络的报文根据事先定义好的检查规则作匹配检测(跟主机病毒关系不大),对于能够被规则所匹配到的报文做出相应处理的组件;

主机防火墙:

网络防火墙:

IDS --> Firewall  IDS一旦识别有人入侵服务器,则立即通知防火墙

IDS有两种常见的实现:用户发起攻击后才发现

HIDS(主机入侵检测系统):工作在主机上,只需要部署在单台主机上

NIDS(网络入侵检测系统):工作在网络通道上,需要在网络多个位置部署传感器(就像摄像头)

honeypot:钓鱼执法

honeypot:在计算机术语中,蜜罐是一种计算机安全机制,用于检测,偏转或以某种方式抵消未经授权使用信息系统的企图。通常,蜜罐由数据(例如,在网络站点中)组成,这些数据似乎是站点的合法部分,但实际上是隔离和监视的,并且似乎包含攻击者的信息或有价值的资源,然后阻止了。这类似于警方蜇伤行动,俗称“诱饵”,一名嫌犯https://en.wikipedia.org/wiki/Honeypot_(computing)

入侵检测系统(英语:Intrusion-detection system,缩写为 IDS)是一种网上安全设备或应用软件,可以监控网络传输或者系统,检查是否有可疑活动或者违反企业的政策。侦测到时发出警报或者采取主动反应措施。它与其他网络安全设备的不同之处便在于,IDS是一种积极主动的安全防护技术。https://zh.wikipedia.org/wiki/%E5%85%A5%E4%BE%B5%E6%A3%80%E6%B5%8B%E7%B3%BB%E7%BB%9F

iptables/netfilter

framework: netfilter

hooks function

rule utils: iptables  规则管理工具

iptables是工作在用户空间的工具程序,netfilter是实现防火强的框架,二者合二为一

开机启动防火墙,并不是启动防火墙服务,而是重新加载之前保存的规则,防火墙不是服务,不是进程。在开机启动时,是把规则文件重新生效了一次,没有运行任何进程,因为规则是在内核上生效的。

表、链、规则

链上放表,表上写规则

图片转载自朱双印博客

功能:表

filter:     过滤,防火墙;

nat:       network address translation, 网络地址转换;  (改源地址、目标地址、源端口、目标端口)

mangle:拆解报文,做出修改,封装报文;除了地址转换以外,其他的mangle都可以拿来修改

raw:      关闭nat表上启用的连接追踪机制;要想完成nat功能,必须启用链接追踪机制;

链接追踪机制:即可以识别某个报文或主机在这之前访问过本主机,Neftiler为了实现基于数据连接状态侦测的状态防火墙功能和NAT地址转换功能才开发出了连接跟踪这套机制。                                    那就意思是说:如果编译内核时开启了连接跟踪选项,那么Linux系统就会为它收到的每个数据包维持一个连接状态用于记录这条数据连接的状态。

如果前端接受大量请求的话,要考虑好是否开启链接追踪机制,因为这非常消耗内存

链(内置):

PREROUTING:路由选择之前

INPUT:到本机内部

FORWARD:由本机转发

OUTPUT:由本机内部发去(还需要路由选择)

POSTROUTING:路由选择转发后(第二次做出的路由决策)

PREROUTING/POSTROUTING跟网卡没有关系,因为报文进来时,都是PREROUTING,报文出去时都是POSTROUTING,它们只是tcp/ip协议栈上的功能;

FORWARD上的规则功能:这是网络防火墙的意义,假如公司内部的主机只能通过一根网线跟外部通信,那么局域网内所有主机跟访问外网都必须经过局域网的网卡,在外网的forword链上做好规则,那么是否能访问QQ都可以定义,就可以实现网络防火墙。FORWARD是针对网络防火墙。

iptables是在纯软件实现的。

流入:PREROUTING --> INPUT        到达本机内部的

流出:OUTPUT --> POSTROUTING   从本机发出去的

转发:PREROUTING --> FORWARD --> POSTROUTING    经由转发的

各功能的分别实现:

filter:     INPUT, FORWARD, OUTPUT    过滤

nat:         PREROUTING(DNAT目标地址转换), OUTPUT, POSTROUTING(SNAT源地址转换)

mangle:PREROUTING, INPUT, FORWARD, OUTPUT, POSTROUTING

raw:      PREROUTING, OUTPUT  只有在刚进入本机和离开本机的时候做链接追踪

路由发生的时刻:

报文进入本机后:

判断目标主机;

报文发出之前:

判断经由哪个接口送往下一跳;

iptables:四表五链

添加规则时的考量点:

(1) 要实现哪种功能:判断添加在哪张表上;

(2) 报文流经的路径:判断添加在哪个链上;

链:链上规则的次序,即为检查的次序;因此隐含一定的法则   自上而下进行检查

(1) 同类规则(访问同一应用),匹配范围小的放上面(检查更严格);因为被第一条规则处理了,后面的就不再检查,提高效率(比如172.16.0.0/16和172.16.100.2,

那么就要把172.16.100.2放上面)

(2) 不同类规则(访问不同应用),匹配到报文频率较大的放上面;(一个规则控制访问22,另一个控制访问80,这两个就把访问频率大的放上面)

(3) 将那些可由一条规则描述的多个规则合并为一个;

(4) 设置默认策略(建议使用白名单);即没有被匹配到的报文

功能的优先级次序:raw --> mangle --> nat --> filter   自上而下

规则:

组成部分:报文的匹配条件,匹配到之后处理动作

匹配条件:根据tcp/ip协议报文特征指定

基本匹配条件:源IP、目标IP、源端口、目标端口等等

扩展匹配条件:链接追踪、状态追踪、MAC地址追踪、以及应用层的特性等

处理动作:

内建处理机制:DROP、REJECT等

自定义处理机制:匹配到后转到自定义链上,可以当作处理动作或跳转目标

注意:报文不会经过自定义链,自定义链要想发挥作用,只能在内置链上通过规则进行引用后生效;

1、iptables-netfilter基础的更多相关文章

  1. Linux内核下包过滤框架——iptables&netfilter

    iptables & netfilter 1.简介 netfilter/iptables(下文中简称为iptables)组成Linux内核下的包过滤防火墙,完成封包过滤.封包重定向和网络地址转 ...

  2. Linux数据包路由原理、Iptables/netfilter入门学习

    相关学习资料 https://www.frozentux.net/iptables-tutorial/cn/iptables-tutorial-cn-1.1.19.html http://zh.wik ...

  3. IPtables/NetFilter

    前提知识 任何主机若要与非同网络中的主机通信,则必须将报文发送到默认网关: 对Linux而言,IP地址是属于主机(内核中)的,不属于网卡,只要属于当前主机的IP地址间,都可直接响应,不称为转发 私有地 ...

  4. Linux对外提供服务 网络操作 端口操作 1.开启服务监听端口 2.设置防火墙,放行访问端口的包 iptables&netfilter 四表五链和通堵策略

    主题: Linux服务器上软件提供服务 1.网络操作 2.端口操作 1.网络操作 本机必须能够ping通目标主机(本地虚拟机或者远程主机) 2.端口操作 1.开启服务监听端口 2.设置防火墙,放行访问 ...

  5. iptables/Netfilter 学习

    开始学iptables,因为它是和路由器技术紧密结合在一起的. iptables的命令看起来眼花缭乱,随便找两个: iptables -A FORWARD -p tcp -s -d -j ACCEPT ...

  6. iptables/netfilter命令、实现及利用(转)

    原文链接:http://blog.csdn.net/sealyao/article/details/5934268 一.Netfilter和Iptables概述 netfilter/iptables ...

  7. Linux防火墙iptables的基础

    一.网络访问控制 1.Linux一般都是作为服务器系统使用,对外提供一些基于网络的服务 2.通常我们都需要对服务器进行一些网络访问控制,类似防火墙的功能 3.常见的访问控制包括:哪些IP可以访问服务器 ...

  8. Netfilter/iptables防火墙

    http://os.51cto.com/art/201107/273443.htm [51CTO独家特稿]Linux系统管理员们都接触过Netfilter/iptables,这是Linux系统自带的免 ...

  9. Linux中级之netfilter/iptables应用及补充

    一.iptables介绍 Netfilter/Iptables(以下简称Iptables)是unix/linux自带的一款优秀且开放源代码的完全自由的基于包过滤的防火墙工具,它的功能十分强大,使用非常 ...

  10. Linux防火墙iptables基础详解

    原文来自于:https://www.linuxidc.com/Linux/2017-01/140073.htm(引用自) 一:前言 防火墙,其实说白了讲,就是用于实现Linux下访问控制的功能的,它分 ...

随机推荐

  1. tar命令打包文件夹下所有的文件

    例如在/home/rip123/www 路径有aa.txt   aab.txt   bb.txt    cc.txt 文件,想将所有的打包却不想一个个敲: 做法:在www文件夹下输入命令:   tar ...

  2. python的print函数自动换行及其避免

    print函数自带换行功能,即在输出内容后会自动换行,但是有时我们并不需要这个功能,那怎么办呢?这时候就需要用到end这个参数了,使用方法参考下面这段打印$矩阵的代码: i = 1 while i&l ...

  3. 【转】Kylin介绍 (很有用)

    转:http://blog.csdn.net/yu616568/article/details/48103415 Kylin是ebay开发的一套OLAP系统,与Mondrian不同的是,它是一个MOL ...

  4. flask 在模板中渲染表单

    在模板中渲染表单 为了能够在模板中渲染表单,我们需要把表单类实例传入模板.首先在视图函数里实例化表单类LoginForm,然后再render_template()函数中使用关键脑子参数form将表单实 ...

  5. 在Linux 中如何从进程相关的文件描述中恢复数据

    在Linux中误删除了某个文件,但是 ps-ef|grep 文件名 发现某个进程还在使用该文件,那么可以通 过以下方式恢复文件. 例如:创建一个简单文件/tmp/test.txt, 随便向里面写点内容 ...

  6. LINUX部署SVN服务器

    1.安装SVN服务端 yum install -y subversion 2.创建svn版本库 mkdir -p /data/svn/myproject svnadmin create /data/s ...

  7. 一个六年Java程序员的从业总结:比起掉发,我更怕掉队

    我一直担惊受怕,过去,可能是因为我年轻,但现在,我已经不是那么年轻了,我仍然发现有很多事情让我害怕. 当年纪越来越大后,我开始变得不能加班.我开始用更多的时间和家人在一起,而不是坐在计算机前(尽管这样 ...

  8. MyEclipse10.7安装Aptana后重启:An internal error has occurred. No more handles [Could not detect registered XULRunner to use]

    问题描述: 当安装Aptana插件后重启MyEclipse10.7,发生错误: An internal error has occurred. No more handles [Could not d ...

  9. WEB后台认证机制

    mark to :http://www.cnblogs.com/xiekeli/p/5607107.html HTTP Basic Auth HTTP Basic Auth简单点说明就是每次请求API ...

  10. bzoj 2091 The Minima Game - 动态规划 - 博弈论

    题目传送门 需要验证权限的传送门 题目大意 Alice和Bob轮流取$n$个正整数,Alice先进行操作.每次每人可以取任意多的数,得分是这一次取的所有数中的最小值.Alice和Bob都足够聪明,他们 ...