Linux内核防火墙的包过滤机制

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

Linux网络安全防护

从Linux Kernel 2.4开始,新的网络包过滤框架Netfilter/Iptables替代了原来的Ipchains/Ipfwadm系统,成为Linux系统新一代的内核级防火墙。作为内核网络协议的一个扩展集,Netfilter可以在内核内部高效地进行包过滤、网络地址转换(NAT)和包重组。对于网络安全防护来讲,主要用到的是Netfilter的包过滤功能,本节也将就这一主题展开描述。

1.  Linux内核防火墙的包过滤机制

通过包过滤机制,Netfilter可以按要求禁止网络包对本地服务器的访问及本地对外的访问,或者对经过本地转发的信息包进行过滤以保护系统,防止未经允许的网络访问本地服务。图15-2展示了Netfilter的包过滤机制。

 
图15-2  Netfilter的包过滤机制

可以看出,Netfilter/Iptables防火墙的包过滤机制中实现了对以下3类访问方式的过滤,在Netfilter/Iptables中称它们为过滤链(chain)。

INPUT链:用于过滤来自外部系统、目的地为本机的信息包。例如,服务器中通过Apache Httpd来实现Web网站服务器,当外部系统尝试访问本地Httpd所在的端口80时,会触发INPUT链中的规则。

OUTPUT链:用于过滤从系统内部发出的对外访问的信息包。例如,本地用户对外发送电子邮件时,要求通过SMTP协议,也就是端口25来向外部邮件服务器发送信息,此时就会触发OUTPUT链中的规则。

FORWARD链:用于过滤要求进行转发的信息包,只有当/proc/sys/net/ipv4/ip_forward为"1"时才有效,也就是只对路由功能生效。例如,禁止某个IP通过本机路由访问到其他网段。

由于Netfilter/Iptables中的所有操作都通过iptables这一命令来实现的,因此业界当前也普遍使用Iptables作为Netfilter的代名词,代表Linux中的防火墙机制。

2  Iptables端口过滤实例(1)

1. 清空控制规则

操作实例:

方法1

 
  1. [root@server1 ~]# iptables -t filter -F  
  2. [root@server1 ~]# iptables -t nat -F  
  3. [root@server1 ~]# iptables -t mangle -F 

方法2

 
  1. [root@server1 ~]# /etc/init.d/iptables stop 

操作分解(方法1):

-t filter:对过滤表进行操作,用于常规的网络地址及端口过滤。

-t nat:对网络地址转换表进行操作,用于网络连接共享、端口映射等操作。

-t mangle:对mangel表进行操作,用于改变包的TOS等特性的操作。

-F:清空列表中的所有规则。

全句解释(方法1):

通过Iptables命令清空filter、nat及mangle表中的规则,也就是清空Iptables中的所有规则。

全句解释(方法2):

在Red Hat Enterprise Linux中可以通过对Iptables服务进行stop操作来达到清空Iptables规则的效果,但是这并不会真正地清除规则,当Iptables应用启动的时候仍然会读取/etc/sysconfig/iptables文件,重新载入已记录的规则。

2. 基于访问源的控制

操作实例:

 
  1. [root@server1 ~]# iptables -t filter -A INPUT -s 192.168.101.202 -j DROP 

操作分解:

-t filter:使用过滤(表)功能对网络行为进行控制处理。

-A INPUT:表示对INPUT链进行规则追加操作。

-s 192.168.101.202:表示针对访问来源IP地址为192.168.101.202的信息包进行处理。

-j DROP:丢弃(不向访问来源返回任何信息)符合规则的信息包。

全句解释:

使用Iptables在过滤列表的INPUT链中追加规则,一旦发现从外部要求访问本机网络服务且源IP地址为192.168.101.202的信息包,就马上将其丢弃。

3. 基于访问目标的控制

操作示例:

 
  1. [root@server1 ~]# iptables -A OUTPUT -d 
    192.168.101.250 -p tcp --dport 80 -j REJECT 

操作分解:

-t filter:此处没有使用-t filter,但同样会对filter进行操作,因为filter是Iptables默认操作的链表。

-A OUTPUT:表示对OUTPUT链进行规则追加操作。

-d 192.168.101.250:表示针对访问目标为192.168.101.250的信息包进行处理。

-p tcp -dport 80:表示针对访问目标协议为TCP,且端口为80的信息包进行处理。

-j REJECT:拒绝(向访问源发送拒绝请求信息)符合规则的信息包。

全句解释:

使用Iptables在过滤列表的OUTPUT链中追加规则,一旦发现从本地要求访问外部网络服务且访问协议为TCP目标IP为192.168.101.250、端口为80的信息包,就马上将其拒绝。

4. 同时过滤多个端口

操作实例:

 
  1. [root@server1 ~]# iptables -A INPUT -i eth0 
    -p udp --dport 137:139 -j REJECT  
  2. [root@server1 ~]# iptables -I INPUT 2 -i eth1 
    -p udp -m multiport --dports 80,443 -j APPECT 

操作分解:

-i eth0:表示针对从eth0网卡进入的信息包进行操作。

-p udp --dport 137:139:表示针对访问目标协议为UDP且端口为137-139的信息包进行处理。

-I INPUT 2:在INPUT链的第2行进行规则插入操作。

-p tcp -m multiport --dports 80,443:表示针对访问目标协议为TCP且端口为80或443的信息包进行处理。

-j APPECT:允许符合规则的信息包通过。

全句解释:

第1句:使用Iptables在过滤列表的INPUT链中追加规则,一旦发现通过eth0网卡接口从外部要求访问本机网络服务且访问协议为UDP、目标访问端口为137-139的信息包,就马上将其拒绝。

第2句:使用Iptables在过滤列表的INPUT链的第2行插入规则,一旦发现通过eth

 

防火墙(iptables)详解 基本概念 什么是防火墙?路由策略和策略路由/ipsec vpn gre hdlc ppp 硬件 iDS+ 在计算中,防火墙是基于预定安全规则来监视和控制传入和传出网络流量的网络安全系统。该计算机流入流出的所有网络通信均要经过此防火墙防火墙对流经它的网络通信进行扫描,这样能够过滤掉一些攻击,以免其在目标计算机上被执行。防火墙还可以关闭不使用的端口。而且它还能禁止特定端口的流出通信,封锁特洛伊木马。最后,它可以禁止来自特殊站点的访问,从而防止来自不明入侵者的所有通信。 防火墙分为软件防火墙和硬件防火墙,他们的 阅读详情

相关推荐

从iptables到nftables:Linux防火墙核心技术演进与迁移实践

Linux防火墙是保障系统网络安全的核心组件,其底层依赖于Netfilter框架进行数据包过滤、地址转换和流量控制。传统iptables通过四表五链的架构组织规则,但面临规则线性匹配效率低、语法冗余、多工具并存等架构性瓶颈。nftables作为新一代解决方案,通过统一的配置语法、高效的规则集组织和动态集合特性,显著提升了防火墙规则的管理效率和执行性能。在容器化、云原生等现代应用场景中,nftables支持动态更新和原生JSON集成,更适合自动化运维需求。本文聚焦iptables与nftables的技术对比,

weixin_30699955的博客 268

Linux操作系统中IP包过滤的具体实现

包过滤技术是防火墙技术的技术核心,本文主要介绍在Linux内核中实现IP包过滤的基本流程,同时对IP伪装和网络地址转换(NAT)的实现作简要的介绍。

深入理解iptables:Linux防火墙核心原理与实战配置指南

防火墙网络安全的基础设施,负责控制网络流量的进出。在Linux系统中,其核心实现依赖于内核的netfilter框架,通过用户空间的iptables工具进行规则配置。iptables采用“四表五链”的架构,通过filter表实现包过滤、nat表处理网络地址转换、mangle表修改数据包、raw表管理连接跟踪,从而构建有状态的防火墙。这一机制不仅保障了服务器安全,还广泛应用于网关搭建、负载均衡和容器网络等场景。理解iptables的数据包处理流程,能有效解决服务端口访问、Docker网络不通及内网共享上网等常

weixin_29315569的博客 272

关于SIP防火墙穿越的汇总

术语和基础知识防火墙  一个防火墙限制私人内网和公众因特网之间的通讯,典型地防火墙就是丢弃那些它认为未经许可的数据包。在数据包穿越一个防火墙时,它检查但是不修改包里的 IP地址和TCP/ UDP 端口信息。网络地址转换(NAT)  当数据包穿过NAT时,NAT不仅检查同时也修改数据的包头信息,并且允许更多的在NAT后的主机分享少数公网IP地址(通常只有1个)。NAT的类型和...

weixin_33670713的博客 326

Linux搭建防火墙服务器,线上centos linux服务器iptables防火墙简易配置模板

线上的linux服务器基本都是要配置iptables要提升安全。*filter:INPUTDROP[0:0]:FORWARDACCEPT[0:0]:OUTPUTDROP[0:0]-AINPUT-mstate--stateRELATED,ESTABLISHED-jACCEPT-AINPUT-ilo-jACCEPT-AINPUT-ieth0-jACCEPT...

weixin_29384119的博客 397

Linux-iptables命令

概述 Linux-iptables命令 Linux-SNAT和DNAT netfilter/iptables(简称为iptables)组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换(NAT)等功能。 规则(rules)其实就是网络管理员预定义的条件,规则一般的定义为“...

小工匠 2万+

netfilter-在内核态操作网络数据包

http://www.cnblogs.com/yuuyuu/p/5184509.html 一.概述                                                    netfilter是自2.4内核的一个数据包过滤框架。可以过滤数据包,网络地址和端口转换(nat和napt技术),以及其他操作数据包的功能。主要工作原理是在内核模块注册回调函

zdy0_2004的专栏 1274

Linux常用命令、远程ping屏蔽、网络设置、rpm命令、大文件查找删除(7.8)

打开配置文件,根据需求修改或增加ip地址、网关、子关掩码等待。find 指定路径 -name 名字.格式。插入或者修改一下代码。

weixin_46551671的博客 588

Linux内核--基于Netfilter内核包过滤防火墙实现

测试内核版本:Linux Kernel 2.6.35----Linux Kernel 3.2.1 原创作品,转载请标明http://blog.csdn.net/yming0221/article/details/7572382 更多请查看专栏http://blog.csdn.net/column/details/linux-kernel-net.html 作者:闫...

weixin_33873846的博客 77

Linux内核防火墙netfilter的原理和应用

Linux内核防火墙netfilter的原理和应用近年来,Linux作为高性能的网络操作系统得到了迅速发展,而Linux内核中所内嵌的防火墙起着重要作用。在Linux1.1版中使用的防火墙是从BSD UNIX中移植过来的ipfw;在Linux2.0版中则为ipfwadm;在Linux2.2版中为ipchains;而在新的2.4版中则是netfilter。1 ipchains的缺陷  Linux2.2版内核防火墙ipchains提供了基本的防火墙功能(如包过滤、地址伪装、透明代理等),得到广泛的应用。但是,i

激情成就梦想--关注移动互联网 1556

[计算机网络]十二、(网络层)防火墙以及设置防火墙的相关命令-1

1、防火墙(firewall) 只是充当保安的工作,并不能够杀死病毒 主要的功能:保护安全,隔离防火墙认为有危害的数据 1.1、攻击类型 ddos攻击(Distributed Denial of Serivice,分布式拒绝服务攻击):人为攻击,一般指分布式拒绝服务攻击。这个攻击很难防,因为有很多IP地址进行攻击,很难找到它的所有IP地址。 CC(Challenge Collapsar):攻击者借助代理服务器生成指向受害主机的合法请求,实现DDOS和伪装 dos攻击(Denial of Servi

m0_48638643的博客 4121

防火墙包过滤防火墙和状态检测防火墙的核心区别是什么?

包过滤防火墙是最原始的防火墙形式,对每个网络包独立决策,不考虑其所属的“连接上下文”。决策依据:IP 地址、端口、协议(即五元组);无状态(stateless);小区门禁只看身份证号,不管你是业主还是访客,每次进门都要重新验证。# 允许目标端口为 22 的 TCP 包 iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 拒绝其他所有包 iptables -A INPUT -j DROP⚠️致命缺陷。

九师兄 204

Linux防火墙之Netfilter

Netfilter简介   Linux下的包过滤防火墙,可以运行在2.4,2.6内核上;集成在内核中,不是系统的一个守护进程;对OSI模型中2,3,4层进行处理;只能对数据包头进行处理;可以用iptables命令来进行规则的配置;代替了ipchains;可以从http://www.netfilter.org查到更多资源。 基本的Netfilter编译选项   为了运行iptables,需要在...

weixin_33743880的博客 246

linux host ping 不通 xp slave 的原因

ping可以用来探测主机是否是活动的,如果是活动的,就可以入侵。默认情况下,ping包被firewall过滤掉了。所以把firewall 关掉就可以ping通了。linux kernel集成了一个包过滤机制,叫ipfilter,可以认为是防火墙。默认是不过滤ping包的。需要手动设置,而且你的发行版不一定开了这个daemon。

j292862286的专栏 672

(二)洞悉linux下的Netfilter&iptables:内核中的ip_tables小觑

Netfilter框架为内核模块参与IP层数据包处理提供了很大的方便,内核防火墙模块(ip_tables)正是通过把自己所编写的一些钩子函数注册到Netfilter所监控的五个关键点(NF_IP_PRE_ROUTING, NF_IP_LOCAL_IN,NF_IP_FORWARD,NF_IP_LOCAL_OUT,NF_IP_POST_ROUTING)这种方式介入到对数据包的处理。这些钩子函数功能

mrwangwang的专栏 703

iptables防火墙

Netfilter与iptables的关系NetfilterLinux内核中的防火墙框架,工作在内核空间(),负责实际的数据包过滤、转发、修改等操作。iptables:用户空间(user space)的工具,用于配置和管理Netfilter规则。二者合称“iptables防火墙,通常简称为iptables。特点工作在网络层,属于包过滤防火墙。性能稳定、高效,广泛应用于Linux系统。支持四表五链结构,规则灵活可配置。2.iptables的表与链结构四张表(

lastxiaoxuan的博客 155

Netfilter框架

1. Netfilter/IPTables简介     Netfilter/IPTables是继2.0.x的ipfwadm、2.2.x的ipchains之后,新一代的 Linux防火墙机制。Netfilter采用模块化设计,具有良好的可扩充性。其重要工具模块IPTables连接到 NetFilter的架构中,并允许使用者对数据报进行过滤、地址转换、处理等操作.Netfilter提供了一个框架

stonesharp的专栏 693
上一篇: 视频播放魔法师与兔子时,出现死机
下一篇: Linux内核模块编程
willand1981
博客等级 码龄17年 136粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值