iptables

科普

在这里插入图片描述

原理

【iptable原理】
【原理讲的明明白白,他这一篇真的够了 真的】
【原理+实操】

常用

1、防火墙操作端口

【更多firewall实操】
【看看配置参数】
firewall-cmd --add-port=8000/tcp --permanent
firewall-cmd --reload

2、nftables

【1】 【nat转发,配配】

应用

跳板机的工作原理和简单的跳板机实现

机制

在这里插入图片描述

  • 每个"链"中的规则都存在于哪些"表"中
PREROUTING      的规则可以存在于:raw表,mangle表,nat表。

INPUT          的规则可以存在于:mangle表,filter表,(centos7中还有nat表,centos6中没有)。

FORWARD         的规则可以存在于:mangle表,filter表。

OUTPUT         的规则可以存在于:raw表mangle表,nat表,filter表。

POSTROUTING      的规则可以存在于:mangle表,nat表。
把具有相同功能的规则的集合叫做"表",所以说,不同功能的规则,我们可以放置在不同的表中进行管理
	filter表:负责过滤功能,防火墙;内核模块:iptables_filter

	nat表:network address translation,网络地址转换功能;内核模块:iptable_nat

	mangle表:拆解报文,做出修改,并重新封装 的功能;iptable_mangle

	raw表:关闭nat表上启用的连接追踪机制;iptable_raw

优先级:
	raw --> mangle --> nat --> filter
	
表(功能)<-->   链(钩子):

raw     表中的规则可以被哪些链使用:PREROUTING,OUTPUT

mangle  表中的规则可以被哪些链使用:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING

nat     表中的规则可以被哪些链使用:PREROUTING,OUTPUT,POSTROUTING(centos7中还有INPUT,centos6中没有)

filter  表中的规则可以被哪些链使用:INPUT,FORWARD,OUTPUT
  • SNAT、DNAT、MASQUERADE、REDIRECT 这几个都在nat表
MASQUERADE理解为动态的、自动化的SNAT 只能存在于POSTROUTING链与INPUT链中

SNAT规则也可以定义在INPUT链中,我们可以这样理解,发往本机的报文经过INPUT链以后报文就到达了本机,如果再

不修改报文的源地址,就没有机会修改了

DNAT规则只配置在PREROUTING链与OUTPUT链中

REDIRECT规则只能定义在PREROUTING链或者OUTPUT链中

4张表中都可以有output链

5个链都可以放在 mangle 表中
  • 实战网络防火墙
1、添加路由表
2、可以使用"白名单机制" 在filter表 FORWARD 链上(将链的默认策略设置为ACCEPT,通过在链的最后设置REJECT规则实现白名单机制)
3、应着重考虑方向性,双向都要考虑
  • 应该将更容易被匹配到的规则放置在前面
  • -i 和 -o
从本机发出的报文是不可能会使用到-i选项的,因为这些由本机发出的报文压根不是从网卡流入的,而是要通过网卡发出的
-o选项用于匹配报文将从哪个网卡流出
-i选项只能用于PREROUTING链、INPUT链、FORWARD链,那么-o选项只能用于FORWARD链、OUTPUT链、POSTROUTING链
FORWARD链属于"中立国",它能同时使用-i选项与-o选项
  • SNAT 、DNAT
只是用于配置SNAT的话,我们并不用 手动的进行DNAT设置,iptables会自动维护NAT表,并将响应报文的目标地址转换回来

firewall

  • iptables的缺点:

iptables service 管理防火墙规则的模式:用户使用命令添加防火墙的规则,如果想让规则永久保存,还需要再执行命令 service iptables reload 使变更的规则保存到配置文件里。在这整个过程的背后,iptables service 会对防火墙的规则列表全部重读一次,加载到内核.
如果我们把这种哪怕只修改一条规则也要进行所有规则的重新载入的模式称为静态防火墙的话

  • 引入firewall

那么 firewalld 所提供的模式就可以叫做动态防火墙,它的出现就是为了解决这一问题,任何规则的变更都不需要对整个防火墙规则列表进行重新加载,只需要将变更部分保存并更新到运行中的 iptables 即可。

  • firewalld 和 iptables 之间有什么关系?

firewalld 提供了一个 daemon 和 service,还有命令行和图形界面配置工具,它仅仅是替代了 iptables service 部分,其底层还是使用 iptables 作为防火墙规则管理入口。firewalld自身并不具备防火墙的功能,而是和iptables一样需要通过内核的netfilter来实现,也就是说firewalld和iptables一样,他们的作用都是用于维护规则,而真正使用规则干活的是内核的netfilter,只不过firewalld和iptables的结构以及使用方法不一样罢了。

  • 什么是区域(zone)?

过滤规则集合:zone
一个zone就是一套过滤规则,数据包必须要经过某个zone才能入站或出站。不同zone中规则粒度粗细、安全强度都不尽相同。可以把zone看作是一个个出站或入站必须经过的安检门,有的严格、有的宽松、有的检查的细致、有的检查的粗略。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值