iptables系列之基础原理+基础应用+显示扩展

一、防火墙基础原理

1、防火墙是什么?隔离本地网络与外界网络之间的一道防御系统

通俗的说,防火墙就是防火的墙,主要目的就是隔离火并建立安全区域,所以防火墙对于互联网或计算机而言 可能是工作在主机或网络的边缘(计算机的边缘可能是一块网卡,而网络边缘可能是路由),对于进出数据的报文事先定义好的规则中的标准进行检查、监控,一旦符合标准的话,我们就采取由这个规则定义的处理动作,我们称为主机防火墙或网络防火墙

linux:网络防火墙,有两组框架,实现防火功能的主要是netfilter

 netfilter:是内核中的过滤框架,是网络过滤器

 iptables:是一个生产防火墙规则的并且能够将其附加在netfilter上,真正实现

数据报文过滤的工具,当然这只是其中的一种功能,NAT、mangle等规则生成的工具。而它本身并不能防火,真正起到防火墙功能的是规则,规则只有放到netfilter上才能生效。规则包括处理标准和处理办法防火墙可以是硬件也可以是软件,无论硬件还是软件需要定义规则之后,让其生效,才能真正工作起来

注意:防火墙不防家贼

2、如何定义防火墙中的规则办法?

2.1、首先规则中一个有一个默认规则,而这个默认规则有两种处理方法:

开发:符合规则的放行,不符合的堵住,即堵住非法分子

关闭:默认情况下门是关着的只有拿到通行证的才能进入

防火墙要想实现是靠规来实现的,而规则包括匹配标准和处理方法

2.2、匹配标准

根据IP匹配:源IP,目标IP

根据TCP匹配:源端口(SPORT),目标端口(DPORT)定义标志位规则限定哪个可以通过

SYN=1,FIN=0,RST=0,ACK=0--》第一次握手;SYN=1,FIN=0,RST=0,ACK=1--》第二次握手:

SYN=0,FIN=0,RST=0,ACK=1--》第三次握手

根据UDP匹配:源端口(SPORT),目标端口(DPORT)

根据ICMP匹配:icmp-type报文类型

2.3、数据报文过滤(防火墙):

在内核的TCP/IP协议栈上,选几个开放的位置,而这几个位置必须是数据报文经过的地方。只对用户空间的某个命令进行开放使用,用户空间中有一个应用程序,这个应用程序帮我们生成防火墙规则,把生成的规则放在对应的位置上,因为只开放给某个命令,这个命令写得规则会立即送给内核空间中对应的位置上。内核不是不能和应用程序打交道,只是在某种特定的情况下需要调用系统调用。这组组件在linux2.4上叫iptables/netfilter,不同的内核版本上实现的功能也不同,在早期的内核版本上是没有防火墙功能的,而是参考OpenBSO机制移植过来的。netfilter工作在内核空间(可以放规则的位置),iptables工作在用户空间,可以写规则,通过系统调用将规则放置在与它对应的位置上,只有生效以后这个应用程序就没有用处了。

2.4、IP报文的流向:三种,而规则就放在了这三种流向中的某一个当中

从外部到本机内部--》流入

本机内部来报文到外面的--》流出

报文转发

时间: 2025-01-26 17:19:18

iptables系列之基础原理+基础应用+显示扩展的相关文章

【Xamarin开发 Android 系列 4】 Android 基础知识

原文:[Xamarin开发 Android 系列 4] Android 基础知识 什么是Android?   Android一词的本义指"机器人",同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统.中间件.用户界面和应用软件组成,而且不存在任何以往阻碍移动产业创新的专有权障碍,号称是首个为移动终端打造的真正开放和完整的移动软件. Android是一种以Linux为基础的开放源代码操作系统,主要使用于便携设备.目前尚未有统一中文

SQL Server 2008空间数据应用系列一:空间信息基础

原文:SQL Server 2008空间数据应用系列一:空间信息基础 Microsoft SQL Server 2008 提供了全面性的空间支持,可让组织通过具空间功能的应用程序来无缝地取用.使用及扩展以位置为基础的数据,最后可协助用户做出更好的决策.空间分析是一项非常复杂的工作,包含一系列学术内容:地理.数学.天文.图形等.虽然在使用SQL Server 2008的空间特性中不必要深入研究关于地理.数学.天文以及图形等学科,但如果你想在学习或者是正式的项目开发中能够很好的使用空间特性,适当和有

Macaca基础原理解析

导语 前面几篇文章介绍了在Macaca实践中的一些实用技巧与解决方案,今天简单分析一下Macaca的基础原理.这篇文章将以前面所分享的UI自动化Macaca-Java版实践心得中的demo为基础,进行一下实例讲解. Macaca的基本组成 通过对源码各个模块的分析,可以帮助我们对Macaca的整体构成有一个基础的认识.Macaca已经开源,相关的源码在对应的github上都可以下载: https://github.com/macacajs. 大家会在alibaba集团的开源github上找到ma

《Sony Vegas Pro 12标准教程》——第1章 基础篇——基础知识 1.1 影视剪辑的概念

第1章 基础篇--基础知识 在你拿起这本书的时候,我想,你应该已经准备好创作属于自己的影片了:同时,也选择了Sony Vegas作为你的剪辑软件.你的心里既充满了期待,也充满了迷惘.没错,剪辑不仅仅是软件本身的功能,同时也代表了你对于视频画面的深层感悟.那么,即刻起,无论你是一名新手,还是曾经拥有属于自己的影片,都请走进Sony Vegas的世界,去看看Vegas能为你的影片带来哪些令人惊叹的效果. 本章学习要点 了解剪辑的概念与技法 掌握场序.分辨率.宽高比知识 熟悉音视频格式与编解码器 掌握

360安全浏览器如何不显示扩展

  360安全浏览器不显示扩展的方法如下: 如果不想删除该扩展,而只是暂时不使用,也可以通过点击删除按钮后边的设置图标选择不显示到浏览器上. 360安全浏览器(360Safety Browser)是360安全中心推出的一款基于IE内核的浏览器,是世界之窗开发者凤凰工作室和360安全中心合作的产品.

js实现浏览本地文件并显示扩展名的方法_javascript技巧

本文实例讲述了js实现浏览本地文件并显示扩展名的方法.分享给大家供大家参考.具体如下: 这里用文件域浏览指定文件,可以显示该文件的扩展名,想想它可以用在哪里?可以用在文件上传系统上,用来判断上传的文件类型是否是合法类型,不是则不允许上传.再看看代码,不足10行,解决问题,正在学习javaScript的朋友,你也可参考参考哦. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-view-nav-file-ext-codes/ 具体代码如下: <

iOS开发系列--C语言之基础知识

当前移动开发的趋势已经势不可挡,这个系列希望浅谈一下个人对IOS开发的一些见解,这个IOS系列计划从几个角度去说IOS开发: C语言 OC基础 IOS开发(iphone/ipad) Swift 这么看下去还有大量的内容需要持续补充,但是今天我们从最基础的C语言开始,C语言部分我将分成几个章节去说,今天我们简单看一下C的一些基础知识,更高级的内容我将放到后面的文章中. 今天基础知识分为以下几点内容(注意:循环.条件语句在此不再赘述): Hello World 运行过程 数据类型 运算符 常用函数

数据结构与算法系列(2)基础排序算法

前言 在计算机中实现存储数据最普遍的两种操作就是排序和查找.这是从计算机产业初始就已经确认的 了.这意味着排序和查找也是计算机科学领域最值得研究的两种操作.本书提到的许 多数据结构的主要设计目的就是为了使排序和/或查找更加简单,同时也是为了数据在结构内的存 储更加有效. 本章会介绍有关数据排序和查找的基础算法.这些算法仅依赖数组作为数据结构,而且所采用的 "高级"编程技术只是递归.本章还介绍了用来非正式分析不同算法之间速度与效率的方 法,此方法贯穿全书. 1.排序算法 人们在日常生活中

java之J.U.C系列文章--概括与基础

J.U.C是java系列一块看似简单,水很深的区域,但是不论是深入java还是分布式的一些东西,这都算是基础,虽然以前乱七八糟写过一些多线程的文章,不过都比较乱了一点,最近有打算逐步深入来写多篇文章来说说我对这些东西的小理解. 1.首先线程分为内核线程.用户线程:在Linux下java的线程其实是在java私有栈上有一个用户线程,和OS级别有一个轻量级的进程来实现. 2.在操作java多线程的时候必然会遇到锁的问题,在锁的问题中,线程会首先进入一个所谓的Entry Set的集合中,然后尝试去征用