iptables:传统的Linux防火墙管理程序(1)
《Linux 防火墙》读书笔记第3章——iptable:传统的Linux防火墙管理程序 (1)
第三章 iptables:传统的Linux防火墙管理程序(1)
3.1 iptables(防火墙)与 netfilter
3.1.1 Linux 包过滤防火墙的架构
Linus Torvalds 在 2016 年 12 月 11 日发布了 Linux 内核 4.9 的正式版本,据说 将在 2018年发布 5.x 版本。而实际上 从3.13 版本的内核开始,一个新的过滤机制 nftables 被加入。
3.1.2 netfilter/iptables 几点区别理解介绍
=================================================netfilter/iptables 简介:(1)IP 数据包过滤系统由 netfilter 和 iptables 两个组件构成。(2)netfilter 是集成在内核中的一部分,其作用是定义、保存相应的规则。(3)iptables 是一种工具,用来修改信息的过滤规则及其他配置,而这些规则会保存在内核空间之中。(4)netfilter 是Linux核心中的一个通用架构,其提供了一系列的表(tables)每个表由若干个链(chains)组成,而每条链可以由一条或若干条规则(rules)组成。(5)iptables 与 netfilter 使用术语可以互换,但两者还是有区别。netfilter 是 Linux 内核空间的程序代码,它在 Linux内核里实现了防火墙。它要么直接编译进内核,要么被包含在模块集中。而 iptables 是用于管理 netfilter 防火墙的用户程序。(6)iptables 只是防火墙与用户之间的接口,真正起作用的是 Linux 内核中运行的 netfilter 。Linux 平台下的包过滤防火墙由 netfilter 组件和 iptables 组件组成,其中 netfilter 运行在内核态,而 iptables 运行在用户态,用户通过 iptables 命令来调用 netfilter 来实现防火墙功能。=================================================
3.1.3 Netfilter 与 Iptables 简介
(1) Netfilter 组件
Netfilter 组件 是 Linux 内核中的一个用于扩展各种网络服务的结构化底层架构。该架构定义了包过滤子系统功能的实现,提供了 filter 、nat 和 mangle 3个表,默认使用并起防火墙作用的是 filter 表。每个表中包含若干条内建的链(chains),用户可在表中创建自定义的链。在每条连中,可定义一条或多条过滤规则(rules)。每条规则应指定所要检查的包的特征以及如何处理与这对应的包,这被称为目标(target)。目标值可以是用户自定义的一个链名,也可以是 ACCEPT、DROP、REJECT、RETURN 等值。
(2) Iptables 组件
Iptables 组件 是一个用来指定 Netfilter 规则和管理内核包过滤的工具,用户通过它来创建、删除或插入链,并可以在链中插入、删除以及修改过滤规则。iptables 仅仅是一个包过滤工具,对过滤规则的执行则是通过 Netfilter 和 相关的支持模块实现的。
3.2 IP 防火墙(IPFW)和 Netfilter 防火墙机制的不同
3.2.1 IPFW 数据包传输
IPFW 下(ipfwadm 和 ipchains),有三种内置过滤规则被使用:INPUT(输入规则链)、FORWARD(转发规则链)、OUTPUT(输出规则链)。
所有到达接口的数据包都按照 INPUT 规则被过滤。如果数据包被接受,它将被传递到路由模块。路由功能决定数据包是被传递到本地还是被转发到另一个传出(OUTPUT)接口。
如果被转发,数据包将由 FORWARD 规则进程第二次过滤。如果数据包被接受则将被传输到 OUTPUT 规则链。
所有本地产生的传出数据包和将被转发的数据包都被传递到 OUTPUT 规则链。如果数据包被接受则将从接口被发出。
收到并被发送到本地(回环)的数据包会通过两个过滤器(INPUT、OUTPUT),而转发数据包则通过了三个过滤器(INPUT、FORWARD 和 OUTPUT)。
回环路包括两个规则链(OUTPUT、INPUT)。每个回环路数据包在“传出”回环接口之前都会经过输出过滤器,接下来便会被传递到回环的输入接口。然后将应用输入过滤器。
这里的伪装是早期 Linux 版本中的概念。现在网络地址转换(NAT)完全是由 iptables 实现的。在此之前,NAT 在 Linux 中被称为伪装。源地址转换的一个简单、部分实现的版本(即伪装),被站点的所有者所使用,他们有一个公网 IP 地址,并希望私有网络中的其他主机也能够访问互联网。从这些内部主机发出的数据包源地址被伪装成那个公用的、可路由的 IP 地址。
3.2.2 Netfilter 数据包传输
Netfilter(iptables)使用了三个内置的过滤器:INPUT、OUTPUT、FORWARD。传入数据包需要经过路由功能,它决定了是将数据包传递到本地主机的 INPUT 规则链还是到 FORWARD 规则链。
【阅读推荐】
- 防火墙和iptables
- Linux 下iptables 网络防火墙的研究和实现
- iptables(防火墙)与netfilter
- 朱双印-iptables
iptables:传统的Linux防火墙管理程序(1)相关推荐
- 《Linux防火墙(第4版)》——1.5 主机名和IP地址
本节书摘来自异步社区<Linux防火墙(第4版)>一书中的第1章,第1.5节,作者:[美]Steve Suehring(史蒂夫 苏哈林)著,更多章节内容可以访问云栖社区"异步社区 ...
- linux 防火墙文件路径,linux防火墙设置
手机评站网今天精心准备的是<linux防火墙设置>,下面是详解! linux如何关闭防火墙 一.Linux下开启/关闭防火墙命令 1) 永久性生效,重启后不会复原 开启: chkconfi ...
- linux防火墙过滤规则
一.linux防火墙基础 防火墙分为硬件防火墙和软件防火墙. 1.概述 linux 防火墙体系主要工作在网络层,针对TCP/IP数据包实施过滤和限制,属于典型的包过滤防火墙. 包过滤机制:netfil ...
- linux防火墙配置80端口,Linux配置防火墙 开启80端口
Linux配置防火墙 开启80端口的方法 命令行输入: vi /etc/sysconfig/iptables 将 -A INPUT -m state --state NEW -m tcp -p tcp ...
- Linux防火墙iptables学习
http://blog.chinaunix.net/uid-9950859-id-98277.html 要在网上传输的数据会被分成许多小的数据包,我们一旦接通了网络,会有很多数据包进入,离开,或者经过 ...
- Linux 防火墙配置(iptables和firewalld)
目录 防火墙基本概念 Iptables讲解 Iptables表 Iptables规则链 Iptables控制类型 Iptables命令配置 firewalld讲解 Firewalld区域概念 Fire ...
- Linux防火墙与iptables命令
Linux防火墙与iptables命令 防火墙概念 一.Firewalld与iptables简介 1.1Firewalld 1.2Firewalld.iptables 二.iptables 2.1四表 ...
- linux 防火墙iptables简明教程
前几天微魔部落再次遭受到个别别有用心的攻击者的攻击,顺便给自己充个电,复习了一下linux下常见的防火墙iptables的一些内容,但是无奈网上的很多教程都较为繁琐,本着简明化学习的目的,微魔为大家剔 ...
- 共创Linux防火墙,Linux防火墙iptables简明教程
前几天微魔部落再次遭受到个别别有用心的攻击者的攻击,顺便给自己充个电,复习了一下linux下常见的防火墙iptables的一些内容,但是无奈网上的很多教程都较为繁琐,本着简明化学习的目的,微魔为大家剔 ...
最新文章
- 对比两个同类型的泛型集合并返回差异泛型集合 ——两个List类名的比较
- 2015春节期间读完两本书,立贴为证。
- Semaphore 源码分析
- jQuery如何选择表格每行中的第三列?
- Cheatsheet: 2011 12.01 ~ 12.12
- java重入锁,再探JAVA重入锁
- 是什么造就了伟大的程序员?
- 将数据从MySql导入数据至SQL Server 2000
- Mybatis根据IdType生成不同类型的主键id
- python元组是有序还是无序_python-03 元组和字典
- SQlite数据库的C编程接口(三) 预处理语句(Prepared Statements) ——《Using SQlite》读书笔记 .
- 307.区域和检索-数组可修改
- HDFS 纠删码 EC
- 鼠标划定区域的屏幕翻译 python3
- 全网最全最新的免版权图库
- java 反射 protected_通过Java反射机制访问private,protected变量和方法
- 设计模式之禅【组合模式】
- HTML设置格式化时间
- 访问者模式 Visitor
- 嵌入式系统和嵌入式操作系统