news 2026/4/21 17:43:57

什么是IPSG

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
什么是IPSG

文章目录

    • 为什么需要IPSG
    • 如何实现IPSG
    • IPSG的典型应用



IPSG即IP源防攻击(IP Source Guard)是一种基于二层接口的源IP地址过滤技术,IPSG的绑定表维护了网络中主机IP地址、MAC地址等信息的绑定关系,通过将报文信息与绑定表比对,它能够有效防止恶意主机伪造合法主机的IP地址来仿冒合法主机,还能确保非授权主机不能通过自己指定IP地址的方式来访问网络或攻击网络。


为什么需要IPSG

网络规模的扩大与发展带来了便捷,但试图从中获利的不法行为也随之出现,对网络安全造成了极大影响。一些攻击者通过伪造合法用户的IP地址获取网络访问权限,非法访问网络,造成了合法用户无法访问网络,并且会引起信息泄露。这种攻击是通过伪造源IP地址进行的(简称IP地址欺骗攻击)。对此,IPSG提供了一种防御机制,通过维护绑定表,对报文进行信息匹配,可以有效阻止此类网络攻击行为。

在网络中应用IPSG有如下受益:

  • 可以提供安全的网络环境以及更稳定的网络服务。
  • 可以有效降低为保证网络正常运行和网络信息安全而产生的维护成本。

如何实现IPSG

IPSG中的绑定表

IPSG维护了一张绑定表,记录了源IP地址、源MAC地址、所属VLAN、入接口的绑定关系。当应用IPSG的二层接口收到IP报文时,会将报文信息与绑定表信息进行匹配,只有匹配关系正确的报文允许通过接口,其他报文将被丢弃。

绑定表如表1所示,包括静态和动态两种。

表1-1 绑定表

绑定表生成后,IPSG基于绑定表向指定的接口或者指定的VLAN下发ACL,由该ACL来匹配检查所有IP报文,匹配ACL规则的报文允许通过,不匹配的报文都将被丢弃。当绑定表信息变化时,设备会重新下发ACL。

IPSG一般应用在用户侧的接入设备上,可以基于接口或者基于VLAN应用。

  • 在用户侧的接口上应用IPSG,该接口接收的所有IP报文均进行IPSG检查。
  • 在用户侧的VLAN上应用IPSG,属于该VLAN的所有接口接收到IP报文均进行IPSG检查。
  • 如果用户侧的接入设备不支持IPSG功能,也可以在上层设备的接口或者VLAN上应用IPSG。

IPSG中的接口角色

IPSG仅支持在二层物理接口或者VLAN上应用,且只对使能了IPSG功能的非信任接口进行检查。对于IPSG来说,缺省所有的接口均为非信任接口,信任接口由用户指定。IPSG的信任接口/非信任接口也就是DHCP Snooping中的信任接口/非信任接口,信任接口/非信任接口同样适用于基于静态绑定表方式的IPSG。

以下是IPSG中各接口角色的样例,其中:

  • Interface1和Interface2接口为非信任接口且使能IPSG功能,从Interface1和Interface2接口收到的报文会执行IPSG检查。
  • Interface3接口为非信任接口但未使能IPSG功能,从Interface3接口收到的报文不会执行IPSG检查,可能存在攻击。
  • Interface4接口为用户指定的信任接口,从Interface4接口收到的报文也不会执行IPSG检查,但此接口一般不存在攻击。

IPSG中的接口角色

IPSG的过滤方式

绑定表项包含:IP地址、MAC地址、VLAN ID、入接口。静态绑定表项中指定的信息均用于IPSG过滤接口收到的报文。而对于动态绑定表,IPSG依据该表项中的哪些信息过滤接口收到的报文,由用户设置的检查项决定。常见的几种检查项如表2所示:

表1-2 IPSG的过滤方式

IPSG的实现过程

IPSG的实现过程如下图所示,非法主机仿冒合法主机的IP地址发送报文到达Device后,因报文和绑定表不匹配被Device丢弃。


IPSG实现原理图

IPSG的典型应用

基于静态绑定表的IPSG

静态绑定表需要手工创建,因此该方式适用于局域网络中主机数较少且主机被分配固定IP地址的情况。如图所示,手工将PC1和PC2的IP地址、MAC地址、VLAN ID、入接口信息加入IPSG的绑定表,把DeviceA的所有接口都加入VLAN10,并在VLAN10上应用IPSG功能。这样就实现了只有真正来自PC1和PC2的IP报文允许通过DeviceA接入网络,而其他外来人员电脑即使接入空余接口也无法接入内网。

基于静态绑定表的IPSG组网图

基于动态绑定表的IPSG

基于动态绑定表的IPSG适用于局域网络中主机较多,或者主机使用DHCP动态获取IP地址的情况。如图所示,在DeviceA接口的VLAN 10下开启DHCP Snooping功能,将连接DHCP服务器的接口配置为“信任”模式,两者同时生效设备即能够生成DHCP Snooping动态绑定表。主机能通过合法的DHCP服务器获取IP地址,并与主机的MAC地址、VLAN ID、入接口信息形成动态绑定表。私自配置静态IP地址的主机将无法访问网络。


基于动态绑定表的IPSG组网图


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 6:37:18

Keil5环境下SPI驱动初始化问题全面讲解

SPI驱动初始化避坑指南:从Keil5调试到STM32实战的完整路径你有没有遇到过这样的场景?代码写完,编译通过,下载运行——结果SPI通信毫无波形输出。MOSI、MISO静如止水,逻辑分析仪上一片死寂;或者好不容易传出…

作者头像 李华
网站建设 2026/4/19 0:40:10

JavaScript 中的闭包与事件处理

在 JavaScript 开发中,闭包(Closure)是一个非常强大的概念,它允许我们捕获并记住其周围的作用域,即使函数是在该作用域之外被执行的。今天我们将探讨如何使用闭包来解决一个常见的 UI 交互问题,并结合实例进行说明。 问题背景 假设我们有一个主页面,上面有6个按钮,每…

作者头像 李华
网站建设 2026/4/19 17:19:19

multisim14.3下载安装全流程视频配套文字版教程

从零构建电子仿真实验室:Multisim 14.3 安装与实战全解析你有没有过这样的经历?想验证一个简单的运放电路,却因为没有示波器、信号源而卡住;调试电源纹波时反复打样,每块PCB都像在“抽奖”;或者作为学生&am…

作者头像 李华
网站建设 2026/4/18 4:04:31

Python中的可变默认参数陷阱

在Python编程中,函数或方法的默认参数是非常有用的特性,它们可以简化代码,减少重复输入。然而,当我们使用可变对象作为默认参数时,可能会遇到一些意想不到的问题。本文将通过一个B+树的例子来说明这个陷阱,以及如何避免它。 问题背景 假设我们正在实现一个B+树的数据结…

作者头像 李华
网站建设 2026/4/21 10:25:55

CSS边框尺寸的陷阱

在编写网页时,我们常常会遇到一些看似简单的问题,却因为细节上的疏忽而导致结果与预期不符。今天我们要讨论的是一个关于CSS中边框(border)尺寸的问题。 问题描述 有这样一个简单的情况:一位开发者编写了一个HTML文档,并在其中定义了一个400像素宽和高的div元素,设置了…

作者头像 李华
网站建设 2026/4/21 8:29:47

PyCharm激活码永久免费?警惕陷阱,推荐合法授权方式

Sonic数字人口型同步模型技术解析:轻量级AI驱动的说话视频生成 在短视频内容爆炸式增长的今天,一个现实问题摆在创作者面前:如何以低成本、高效率生产大量自然流畅的“口播”视频?传统依赖3D建模与动画师手动调帧的方式早已不堪重…

作者头像 李华