大白话之 Iptables

背景

今天在安装traefik的时候遇见了很神奇的问题,80端口没有任何程序在监听,但是访问的话会返回it works,想来想去可能是iptables的问题,由于Iptables每次都是现查,所以觉得还是理解不到位,总结一波。

首先你要明白这东西说破天就是个防火墙。符合什么样条件的可以怎么样。

假如我给你一个需求,让你设计一个防火墙最简单的防火墙,限制ip是否可以访问,你怎么设计呢?

你首先你肯定要有一个地方存储ip,和ip是否可以进入吧

ip动作
192.168.0.1可以
192.168.0.2不可以

看没看见,这玩意就是一张表,iptables就是 ip+tables。

从tables你可以看出来肯定不止一张表,对的,就是有多张表4张表。filter,nat,mangle,raw。

每张表的作用不一样,我上面是最简单的需求过滤ip,真正的防火墙肯定还有一些别的功能。

表名作用
filter很明显就是过滤
nat网络地址转换功能,比如把访问80端口的转到90端口
mangle拆解报文,做出修改,并重新封装 的功能,比如加些header
raw不再让iptables做数据包的链接跟踪处理

我之前写过一篇文章

大白话netfilter
最后总结的就是,说白了,netfilter就是在网络层和传输层中设立了几个监测点来操作数据,至于怎么操作那是你的事,我只负责帮你设置监测点。

在这里插入图片描述

一共有五个监测点,还是接着上面的需求,让你设计一个防火墙最简单的防火墙,在5个监测点限制ip是否可以访问,你怎么设计呢?

ip监测点动作
192.168.0.1pre可以
192.168.0.2pre不可以
192.168.0.1input可以
192.168.0.2input不可以
192.168.0.1output可以
192.168.0.2output不可以

看没看见,你肯定是多加了一个字段监测点,那链是什么呢?如果我们按照监测点进行分类就分为了 pre、input、output三块,我们拿pre来说

ip监测点动作
192.168.0.1pre可以
192.168.0.2pre不可以

这就是一个链,这怎么是链啊?你想一下,现在只是配置了2条规则如果配置了10000条呢?你想从10000条规则里找到192.168.0.1这一条是不是要遍历这10000条,这10000条就组成了1个链。

所以我就说上面一张表里存在3个链,相当于说上面表被应用到了3个监测点。

继续说回真正的iptables的链,iptables的4张表不是都可以应用到5个检测点上,也就是说5个监测点上的功能是不一样的。

监测点
preraw、mangle、nat
inputmangle、filter、nat(cenos7)
forwardmangle、filter
outputraw、mangle、nat、filter
premangle、nat

我们举例一个分析一下,比如说pre这个监测点为什么没有filter呢?
filter主要功能就是过滤,prerouting是在路由之间判断是访问本机的还是转发的,如果过滤禁止访问本机的应该在input监测点来做,如果是过滤禁止转发的应该在forward监测点来做,还没有路由是不能做filter的。

所以你用下面这张图找找感觉
在这里插入图片描述

总结

剩下的就是一些命令了,我就不写了,那个教程很多,用的时候自己查就好,我一般都喜欢先把框架捋清楚再去纠结细节。

你可以想象成A城到B城中间有5个监测点,这五个监测点的功能不完全一样,比如监测点A有过滤功能、转发功能、美容功能,每个功能都是一个链,比如过滤功能,记录者A城的良民a可以通过、良民b拒绝,良民c直接给杀了,再比如美容功能、良民a来了给换一身漂亮的衣服,良民d来了给衣服扒光。再比如转发功能,良民a来了直接送往某个神秘的地方

就是这么个事情。

在这里插入图片描述

参考

朱双印
https://blog.youkuaiyun.com/qq_34556414/article/details/108623774

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值