首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    一直在用的ipTables,你真的懂吗?

    可能很多人向我一样, 用了这么多年的iptables但是连他是什么都不知道吧,更别提作用。 今天在学习kubernetes中, 在service和pod的流量转发中知道了ipvs(这个后续在介绍)。 然后通过ipvs延申学习, 发现自己一直用的时iptables, 但是自己确实云里雾里, 都不知道他是干什么的。 下面的笔记就简单的来学习一下吧。 **概念: ** iptables作为Linux系统中的一个重要组件,长期以来一直是网络管理员进行流量(ip信息包)过滤和防火墙配置的主要工具。 既然是既然iptables是防火墙配置的主要工具, 同样他的作用是流量过滤, 那么防火墙我们知道是监控和控制进出网络的流量。 它的过滤级别是实例级别(以服务器为例, 就是一个服务器实例)。 所以, 当一个网络包要进入服务器实例的时候, 首先防火墙会拦下它, 然后按照过滤规则来筛选。 下面用一张图来解释

    01

    实现 Linux 系统防火墙(包过滤、状态防火墙、NAT)

    最大的难点在于内核驱动的编写,在此之前我也没有做过Linux内核模块的代码编写,所以刚开始做起来非常吃力,这要求代码编写者有非常好的C语言基础,能非常熟练地应用C语言的结构体、指针、函数指针及内存动态申请和释放等。 最困难的一点就是Bug的排查太过于困难了。每次编译运行的时候都提心吊胆,害怕跑起来哪里出错了,一旦出错,比如解引用了空指针或者没有及时释放分配的内存导致内存泄漏,动辄就会导致内核程序崩溃,只能重新启动虚拟机(重启虚拟机太浪费时间了),因为是内核程序,所以内核崩溃故障的定位和排查也不容易(到现在这个程序其实还不太稳定)。

    01
    领券