防火墙,顾名思义,用来防火的么,那么最重要就是决定哪些属于火,哪些不属于火….
linux的防火墙,可以分为3类:
1:各层的表头信息
链路层:
链路层有很多信息,但是,最重要肯定是我们的MAC地址信息,我们可以通过MAC地址信息来决定这个数据是不是属于“火”,到底该放行,还是阻挡
网络层:
网络层有很多数据可以,例如:
字段 | 说明 |
Header Length | IP包头的长度 |
Differentiated 服务 | 差别服务判断,执行QOS时可能会用到,一般正常值为0 |
Total Length | 数据包不包含链路层头部的整体长度 |
Flag | 标明该数据是否被分割,或者设置数据包可不可以被分割 |
Time to Live | 数据包的存活时间 |
Protocol | 上层协议,TCP06,UDP17,ICMP01 |
Soure | 来源主机的IP地址 |
Destination | 目标主机的IP地址 |
例如,如果我们不想让互联网上的主机ping我们的主机,我们可以通过IP包头中的Protocol字段来判断到达服务器的数据包是否为ICMP包
网络传输层:
以TCP数据包为例
字段 | 说明 |
Source Port | 来源端应用程序所使用额端口号 |
Destination Port | 目的端应用程序所使用的端口号 |
Header Length | TCP包头的整体长度 |
Flags | TCP包头内的链接控制标志,请务必参阅相关的TCP/IP书籍,这是TCP包头中很重要的东西 |
2:数据包所承载的数据内容
除了上边的限制,我们还可以通过数据包包含的内容进行限制
3;链接状态
有时候我们不允许别人访问我们的主机,但是我们又需要访问别人,因为访问别人肯定会有返回的数据包,这就和我们的第一条(不允许任何人访问我们的主机)相反,这时候我们就可以同过链接的状态来判断,此类“相关”的数据包我们是允许的通过的
Latest posts by Zhiming Zhang (see all)
- aws eks node 自动化扩展工具 Karpenter - 8月 10, 2022
- ReplicationController and ReplicaSet in Kubernetes - 12月 20, 2021
- public key fingerprint - 5月 27, 2021