iptables使用详解

前言

最近买了一个VPS,并在上面搭了DOCKER,然后再DOCKER中安装Mysql。但只要将网络端口映射到宿主机上,那么外部网络就可以直接访问该数据。属实吓人。为此,我们需要使用防火墙。

说到防火墙,CentOS有FirewallD,Ubuntu有ufw 。它们的用法和语法不尽相同,但有一点却是一致的,那就是他们底层都使用了iptables。 所以为了在不同发行版的linux下都能安全管理我们的服务器,教练,我想学这个iptables

由于FirewallD和ufw本质都是基于iptables的,那么它们都会在iptables中添加一些规则,甚至定义一些链,为了不跟往后我们自己定义的规则相冲突,第一件事,便是停止并卸掉FirewallD和ufw对应的服务。

停掉FirewallD

sudo systemctl stop firewalld //停止FirewallD
sudo systemctl disable firewalld //让FirewallD 不要随系统启动而启动

停掉ufw

sudo ufw disable //停止并在系统启动时不启动ufw

iptables是啥

iptables是一个linux下的防火墙工具,它能帮助我们基于规则进行网络流量控制。它可以做到,但不限于以下功能:

  • 允许/拒绝某种协议的链接建立,比如TCP,UDP
  • 允许/拒绝 来自某个ip的访问
  • 允许/拒绝某个端口被访问

表、链、规则

规则(rule)

来自192.168.2.31的访问,就要将其拒绝,这即是一条规则

链(chain)

往往我们的安全策略不只一条规则,除了
来自192.168.2.31的访问,就要将其拒绝 这条规则之外,我们还有其它规则,比如:
来自192.168.43.22的访问,也要将其拒绝

甚至,我们可能还有多个互斥的规则,这多个规则,哪个规则先执行? 这就涉及到链这个概念。简单来讲,链就是将多个规则从上大小串起来的一个集合单位。规则按从上倒下依次进行匹配。

表(table)

链条可以有多个。将多个链条再规整在一起的集合,叫做表。

总览

在iptables中,有四张表:

  • filter:这里面的链条,规则,可以决定一个数据包是否可以到达目标进程端口
  • mangle: 这里面的链条,规则,可以修改数据包的内容,比如ttl
  • nat:这里面的链条,规则,可以修改源和目标的ip地址,从而进行包路由。
  • raw:这里面的链条,规则,能基于数据包的状态进行规则设定

上述四张表中,会内置一些链,且每个链,都有默认包处理策略,默认策略一般在链中的所有规则都没匹配时生效。
filter表中的链有:

- INPUT:对路由策略分派过来的包到达目标进程端口之前进行匹配并处理,后续会讲到细节
- FORWARD:对路由策略分派过来的包进行路由转发,后续会讲到细节
- OUTPUT:判断,从本地的目标进程端口处理好的包如何返回/要不要返回给请求方

mangle表中的链有:

PREROUTING:包在到达网口时,进行规则匹配
INPUT:含义同filter
FORWARD: 含义同filter
OUTPUT: 含义同filter
POSTROUTING: 包离开网口的时候匹配

nat表中的链有:

PREROUTING:含义同mangle
OUTPUT:含义同filter
POSTROUTING:含义同mangle

raw表中的链有:
PREROUTING:含义同mangle
OUTPUT:含义同filter

注意,虽然不同的表中有同名的链,但他们并不是同一个链,并且一个链只能引用同一个表中的链,不能跨表引用。,平时我们的防火墙策略配置,即是在上述各个表的各个链中配置具体的规则

规则生效顺序

虽然一个链中的规则是从上到下依次匹配,但多个表中的多个链,甚至同名链的之间的匹配优先顺序是啥?这就要看下图了

PREROUTING 链

PREROUTING 链是最先生效的,当数据包到达网口时,即开始工作。同时由于其在raw, mangle, nat表中都存在,其执行的优先顺序是:raw(PREROUTING) ----> mangle(PREROUTING)----> mangle(nat)

PRER

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值