Linux之Iptables防火墙概述~

Linux的防火墙体系主要工作在网络层,针对TCP/IP数据包实现过滤和机制,属于典型的包过滤防火墙(或称之为网络层防火墙)。

Netfilter和Iptables区别:

Netfilter:指的是Linux内核中实现包过滤防火墙的内部结构,不以程序或文件的形式存在,属于“内核态”(kernel space,又称为内核空间)的防火墙功能体系。

Iptables:指的是Linux防护墙的命令工具,程序通常位于/sbin/iptables,属于“用户态”(User space,又称用户空间)的防火墙管理体系。

Iptables的规则表(优先顺序是从本文列出情况由上至下):

1. raw表:包含两条规则链:OUTPUT、PREROUTING。

它是自1.2.9以后版本的Iptables新增表,主要用于数据包是否被状态跟踪机制处理,在匹配数据时,raw表的规则要优于其他表。raw表对应的内核模块为iptable_raw。

2. mangle表:包含五个规则链:PREROUTING、POSTROUTING、INPUT、OUTPUT、FORWARD。

主要用于修改数据包的TOS(Type Of Service,服务类型)、TTL值以及数据包设置Mark标记,以实现QOS调整以及策略路由等应用,由于需要响应的路由设备支持,因此应用并不广泛。mangle表对应的内核模块为iptable_mangle。

3. nat表:包含三个规则链:PREROUTING、POSTROUTING、OUTPUT。

主要用于修改数据包的IP地址端口号等信息。对应的内核模块为iptable_nat。

4. filter表:包含三个规则链:INPUT、FORWARD、OUTPUT。

主要用于对数据包进行过滤,根据具体的规则决定是否放行该数据包。对应的内核模块为iptable_filter。

Iptables的规则链:

1. INPUT链:访问本机数据入站规则。

2. OUTPUT链:本机外发数据出站规则。

3. FORWARD链: 接收需要通过防火墙发给其它地址数据的转发规则。

4. PREROUTING链: 数据包路由选择前的规则。

5. POSTROUTING链: 数据包路由选择后的规则。

其中INPUT、OUTPUT链更多应用在“主机防火墙”中,即主要针对服务器本机进出数据的安全机制;而FORWAR,PREROUTING,POSTROUTING链更多的应用在“网络防火墙”中,特别是防火墙服务器作为网关时使用的情况。

规则链的优先顺序:

由于默认规则链是根据规则介入时进行分类的,因此优先顺序直接取决于数据包的具体流向。

1. 入站数据流向:外界的数据包到达防火墙后,首先被PREROUTING规则链处理,之后会进行路由选择,如果数据包的目标地址是防火墙本机,那么内核将其传递给INPUT链进行处理,通过以后再交给系统上层的应用程序进行响应。

2. 转发数据流向:外界数据包到达防火墙后,首先被PREROUTING规则链处理,之后会进行路由选择,如果数据包的目标地址是其他外部地址,则内核将其传递给FORWARD链进行处理,然后再交给POSTROUTING规则链进行处理。

3. 出站数据流向:防火墙本机向外部地址发送的数据包,首先被OUTPUT规则链处理,之后进行路由选择,然后传递给POSTROUTING规则链进行处理。

规则链内各条防火墙规则的优先顺序:

数据包经由每条规则的处理过程,从上往下依次匹配,如果找到一条能够匹配的数据包规则,则不再继续检查后面的规则;如果比对完整个规则链,也找不到和数据包相匹配的规则,就按照规则链的默认策略进行处理。

Linux之Iptables防火墙概述~,布布扣,bubuko.com

时间: 2025-01-02 01:10:18

Linux之Iptables防火墙概述~的相关文章

Linux服务器 iptables 防火墙配置详解

导读: 很好的一篇关于Linux防火墙 iptables配置, linux防火墙配置很关键, 这牵扯到服务器安全, 安全不是绝对的,但是iptables配的好可以杜绝大多数灰色试探. 转载到老吧博客了, 更多iptables配置可以咨询作者. linux iptables 防火墙配置非常重要, 我们来配置一个filter表的防火墙. 查看本机关于IPTABLES的设置情况 [[email protected] ~]# iptables -L -n 如果你在安装linux时没有选择启动防火墙,什么

LINUX中IPTABLES防火墙使用

对于有公网IP的生产环境VPS,仅仅开放需要的端口,即采用ACL来控制IP和端口(Access Control List). 这里可以使用Linux防火墙netfilter的用户态工具 iptables有4种表:raw-->mangle(修改报文原数据)-->nat(定义地址转换)-->filter(定义允许或者不允许的规则) 每个表可以配置多个链: 对于filter来讲一般只能做在3个链上:INPUT ,FORWARD ,OUTPUT 对于nat来讲一般也只能做在3个链上:PREROU

Linux中iptables防火墙指定端口范围

我需要700至800之间的端口都能tcp访问 代码如下 复制代码 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 700 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 701 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp

linux设置iptables防火墙的详细步骤(centos防火墙设置方法)

我们 来讨论一下如何为你的CentOS 服务器来设置简单的防火墙. 这里我们以DigitalOcean的CentOS 6 VPS为基础来讨论的,同样也适用于 阿里云上其他类型的LINUX系统. (阿里云有个云盾系统,因此在你自己的VPS上不设置防火墙也是可以的) 需要说明的是: 本文只涉及最基础最常用的防火墙设置,能屏蔽一些常用的攻击,但并不能彻底保证你的服务器的安全. 系统的随时更新 以及 关闭不必要的服务 仍然是保证系统安全非常重要的步骤. 如果你需要更全面的了解iptables,阅读本文后

CentOS linux关闭iptables防火墙(Linux中的防火墙叫iptables)

linux服务器下防火墙为iptables组件,在安装一些软件的时候,iptables防火墙会阻止我们一些必要的连接. 查看iptables状态:service iptables status iptables开机自动启动: 开启: chkconfig iptables on 关闭: chkconfig iptables off iptables关闭服务: 开启: service iptables start 关闭: service iptables stop 重启防火墙服务:service i

【linux】iptables防火墙SNAT和DNAT的简单演示

首先说明SNAT和DNAT都大致相当于网络中的NAT和PAT协议,本实验是通过用一台linxu虚拟机来模拟内网网关,并且利用linux上的iptables防火墙策略,达到地址转换和端口映射的目的. SNAT 实验结构: 真机----------------(v1)网关服务器s1(v2)--------------(v2)外网服务器s2 开2台虚拟机linux,分别模拟s1和s2. 其中,s1上另增加一块网卡,使用vmnet1与真机相连. 使用vmnet2与外网服务器的s2的vmnet2相连. I

为Linux设置IPTables防火墙

我们 来讨论一下如何为你的CentOS 服务器来设置简单的防火墙. 这里我们以DigitalOcean的CentOS 6 VPS为基础来讨论的,同样也适用于 阿里云上其他类型的LINUX系统. (阿里云有个云盾系统,因此在你自己的VPS上不设置防火墙也是可以的) 需要说明的是: 本文只涉及最基础最常用的防火墙设置,能屏蔽一些常用的攻击,但并不能彻底保证你的服务器的安全. 系统的随时更新 以及 关闭不必要的服务 仍然是保证系统安全非常重要的步骤. 如果你需要更全面的了解iptables,阅读本文后

linux下iptables防火墙详解

Linux网络防火墙基础知识 工作在主机或网络的边缘,对于进出的数据报文按照事先定义好的规则中的匹配标准进行检查,并做出对应的处理办法的机制称作防火墙. IP报文首部:主要包含源IP,目标IP TCP报文首部:主要包含源端口,目标端口,标志位SYN,ACK,RST,FIN 匹配标准解释: IP: 源IP,目标IP TCP: 源端口,目标端口 TCP三次握手三个阶段表示: 第一阶段:  SYN=1,FIN=0,RST=0,ACK=0; 第二阶段: SYN=1,ACK=1,FIN=0,RST=0;

Linux上iptables防火墙的基本应用教程

1.安装iptables防火墙 如果没有安装iptables需要先安装,CentOS执行: yum install iptables Debian/Ubuntu执行: apt-get install iptables 2.清除已有iptables规则 iptables -F iptables -X iptables -Z 3.开放指定的端口 #允许本地回环接口(即运行本机访问本机) iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT # 允