、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. JSP FreeMarker Velocity 原理

    JSP原理 JSP的运行原理:JSP 本质上是一个Servlet. 每个JSP 页面在第一次被访问时,JSP引擎将它翻译成一个Servlet 程序,然后再把这个 Servlet 源程序编译成Servl ...

  2. DNN模型训练词向量原理

    转自:https://blog.csdn.net/fendouaini/article/details/79821852 1 词向量 在NLP里,最细的粒度是词语,由词语再组成句子,段落,文章.所以处 ...

  3. 解读 JavaScript 之引擎、运行时和堆栈调用

    https://www.oschina.net/translate/how-does-javascript-actually-work-part-1 随着 JavaScript 变得越来越流行,很多团 ...

  4. Logstash进程杀不掉

    由于ELK磁盘不足,对磁盘进行扩容,重启服务器,重启之后发现自动起来了一个logstash进程,PID一直变,无法杀掉,极其耗费CPU logstash 是通过rpm方式安装的,版本是6.2.2 解决 ...

  5. mycat工作原理

    Mycat的原理并不复杂,复杂的是代码,如果代码也不复杂,那么早就成为一个传说了. Mycat的原理中最重要的一个动词是“拦截”,它拦截了用户发送过来的SQL语句,首先对SQL语句做了一些特定的分析: ...

  6. The Little Prince-12/06

    The Little Prince-12/06 “That doesn't matter. Draw me a sheep.” When the prince ask the planet to dr ...

  7. (Linux)动态度的编写

    动态库*.so在linux下用c和c++编程时经常会碰到,最近在网站找了几篇文章介绍动态库的编译和链接,总算搞懂了这个之前一直不太了解得东东,这里做个笔记,也为其它正为动态库链接库而苦恼的兄弟们提供一 ...

  8. Google's Machine Learning Crash Course #04# First Steps with TensorFlow

    1.使用 TensorFlow 的建议 Which API(s) should you use? You should use the highest level of abstraction tha ...

  9. DOS下读取PCI配置空间信息的汇编程序(通过IOCF8/IOCFC)

    汇编程序编写的读取PCI配置空间信息的代码(通过IOCF8/IOCFC): ;------------------------------------------------ ;功能: 读取PCI 配 ...

  10. node.js 初学(二)—— 搭建注册/登录服务器

    node.js 初学(二)—— 搭建注册/登录服务器 理论上来说,代码实现在理论和实际上是一样的.但实际上来说,他们不是 做一个最简单的用户注册登录功能 1.接口定义: 注册:/user?act=re ...