本文共 2449 字,大约阅读时间需要 8 分钟。
硬件防火墙:在硬件级别实现部分防火墙功能,另一部分功能基于软件实现,性能高,成本高。如:思科ASA 华为防火墙 天融信防火墙 等。
软件防火墙:应用软件处理逻辑运行于通用硬件平台之上的防火墙,性能低,成本低。如:iptables firewall(CentOS7独有的)等。位于Linux内核中的包过滤功能体系
称为Linux防火墙的“内核态”位与/usr/sbin/iptables,用来管理防火墙规则的工具
称为Linux防火墙的 “用户态”
-------上述2种称呼都可以表示Linux防火墙
1:防火墙关联端口----服务 端口开相应的服务就开2:基于IP----源IP、目标IP3:协议----TCP、UDP、ICMP极少数会过滤MAC(局域网)
主要是网络层、针对IP数据包
体现在对包内的IP地址、端口等信息的处理上
英文 | 中文 |
---|---|
filter | 过滤数据包 |
nat | 网络地址转换(端口映射、地址映射等。) |
mangle | 用于对特定数据报的修改。 |
raw | 优先级最高,设置raw时一般是为了不再让iptables做数据报的链接跟踪处理,提高性能。 |
英文 | 中文 |
---|---|
PREROUTING | 数据包进入路由表之前,对数据包做路由选择前应用此链路中的规则,所有的数据包进来的时候都先由这个链处理 |
INPUT | 通过路由表后目的为本机,进来的数据报应用此规则链上的策略 |
FORWARD | 通过路由表后,目标地址不为本机,做转发数据报时应用此规则链上的策略 |
OUTPUT | 由本机产生的外出的数据包向外转发时,应用此规则链中的策略 |
POSTROUTING | 数据报做路由选择后发送后到网卡接口之前应用此链中的规则,所有的数据包出来的时候都先由这个链处理 |
filter |
nat |
mangle |
raw |
raw→mangle→nat >filter
入站: PREROUTING→INPUT
出站: OUTPUT→POSTROUTING 转发: PREROUTING>FORWARD→POSTROUTING五链顺序:PREROUTING— > INPUT— – > FORWARD- - - - >OUTPUT---- >POSTROUT ING
按顺序依次检查,匹配即停止(LOG策略例外)
若找不到相匹配的规则,则按该链的默认策略处理 规则链之间的优先顺序(分三种情况):第一种情况:入站数据流向
从外界到达防火墙的数据包,先被PREROUTING规则链处理(是否修改数据包地址等),之后会进行路由选择(判断该数据包应该发往何处),如果数据包的目标主机是防火墙本机(比如说Internet用户访问防火墙主机中的web服务器的数据包),那么内核将其传给INPUT链进行处理(决定是否允许通过等),通过以后再交给系统上层的应用程序(比如Apache/Nginx服务器)进行响应。
第二种情况:转发数据流向
来自外界的数据包到达防火墙后,首先被PREROUTING规则链处理,之后会进行路由选择,如果数据包的目标地址是其它外部地址(比如局域网用户通过网关访问QQ站点的数据包),则内核将其传递给FORWARD链进行处理(是否转发或拦截),然后再交给POSTROUTING规则链(是否修改数据包的地址等)进行处理。
第三种情况:出站数据流向
来自外界的数据包到达防火墙后,首先被PREROUTING规则链处理,之后会进行路由选择,如果数据包的目标地址是其它外部地址(比如局域网用户通过网关访问QQ站点的数据包),则内核将其传递给FORWARD链进行处理(是否转发或拦截),然后再交给POSTROUTING规则链(是否修改数据包的地址等)进行处理。
第三种情况:出站数据流向
防火墙本机向外部地址发送的数据包(比如在防火墙主机中测试公网DNS服务器时),首先被OUTPUT规则链处理,之后进行路由选择,
iptables [-p table] 链管理 chain
-t table : filter,nat,mangle,raw (默认为 filter)链管理
命令 | 作用 |
---|---|
-F | 清空规则链 |
-N | 创建新的自定义规则链 |
-X | drop 删除用户自定义的规则链 |
-P | Policy 为指定链设置默认策略;iptables -t filter -P FORWARD DROP |
-E | 重命令自定义链 |
规则管理i
命令 | 作用 |
---|---|
-A | 将新规则添加到指定的链上 |
-I | 将新规则插入到指定的位置 |
-D | 删除链上的指定规则 |
-R | 替代指定链上的规则 |
查看:
命令 | 作用 |
---|---|
-L | 列表,列出指定链上的指定的规则 |
-n -v –line-numbers -x 等参数
匹配条件: 基本匹配:命令 | 作用 |
---|---|
-s | 原地址IP |
-d | 目的IP |
-p | 协议{tcp |
-i | 数据报文的流入接口 |
-o | 数据报文的流出接口 |
扩展匹配 | -m match_name |
–dport PORT | 目标端口,可以是单个端口 |
–sport PORT | 源端口 |
-p | udp |
–icmp | -type |
0 | echo-reply |
8 | echo-request |
目标:
命令 | 作用 |
---|---|
-j TARGET | jump至指定的TARGET |
TACCEPT 接受 | |
DROP | 丢弃 |
REJECT | 拒绝访问 |
RETURN | 返回调用链 |
转载地址:http://ofdaf.baihongyu.com/