Iptables防火墙
文章平均质量分 62
Jiangxl~
CSDN博客专家、51CTO专家博主、阿里云博客专家、华为云享专家、DevOps运维领域优质创作者、
2021年度博客之星运维与安全领域TOP1,InfoQ签约作者、阿里云社区签约作者。博客包括:Python、前端、Kubernetes、Docker、CI/CD、DevOps、Prometheus、Zabbix、MQ、Redis、MySQL、WEB集群、自动化运维、阿里云、ELK、Linux、等相关使用及进阶知识。查看博客过程中,如有任何问题,皆可随时沟通。
展开
-
DNAT目标地址转换基本概念以及应用
所谓的DNAT目标地址转换指的是修改请求包中的目标地址,很多情况下只有一个公网地址,但是内网服务器有几百台,想要通过一个公网地址访问到内网的所有服务器,就需要用到DNAT目标地址转换的功能了,接收到用户发送的数据包后,修改数据包中的目标地址,根据来源转发到具体的某台内网服务器中,如下图所示。DNAT地址转换的应用场景:无论使用哪种类型的地址转换,防火墙主机一定要开始IP转换的功能。2.通过DNAT目标地址转换实现IP地址/端口映射案例描述:防火墙规则如下。...原创 2022-07-11 09:11:05 · 3011 阅读 · 0 评论 -
SNAT源地址转换基本概念以及应用
所谓的SNAT源地址转换的意思指的是修改数据包中的源地址信息,典型的应用场景就是带动局域网主机上网,如下图所示,公司有很多台电脑,都需要上网,这时就可以在防火墙中配置一个SNAT地址转换,某个网段进入防火墙后通过SNAT修改源地址信息,修改为防火墙的公网地址,由防火墙去互联网环境中请求数据,最后返回给公司电脑,带动局域网上网。SNAT源地址转换的应用场景:SNAT策略只能用在nat表的POSTROUTING链,使用iptables编写SNAT策略时,需要结合–to-source IP地址来指定修改后的源地址原创 2022-07-11 09:10:06 · 2056 阅读 · 0 评论 -
Iptables防火墙常见的典型应用场景
需求如下:防火墙配置规则如下:查看设置的防火墙规则:1.对所有的地址开放本机的tcp(80、22、8080-9090)端口的访问。2.允许对所有的地址开放本机的基于ICMP协议的数据包访问。3.其他未被允许的端口禁止访问。...原创 2022-07-11 09:08:27 · 952 阅读 · 0 评论 -
Iptables防火墙iprange模块扩展匹配规则
iprange模块可以同时设置多个IP或者设置IP的某一段连续的范围,通过iprange模块可以对多个来源地址同时设置策略。iprange模块的参数:可以在参数前面加!号表示去反。1)编写防火墙规则在INPUT链的filter表中添加对应的规则。2)查看添加的规则禁止192.168.20.10-192.168.20.19的源地址请求的ICMP协议数据报文进入本机。3)测试效果登陆192.168.20.10这个服务器中ping192.168.20.20,发现ping不通,登陆192.168.20.21这个原创 2022-07-11 09:06:22 · 1631 阅读 · 0 评论 -
Iptables防火墙如何自定义链表
为什么需要自定义链呢?默认的四表五链不满足基本使用吗?其实并不是,四表五链完全满足使用,但是当我们同一类程序有很多个防火墙规则时,例如都写在INPUT链中,那么当我们要对其中的一条规则进行调整了,就会发现上下有关联性,修改起来不是那么容器,因为这个INPUT链中还有其他的服务规则。基于这种情况,我们就可以去自定义一张新的链,在这个链中,只定义这一类程序的防火墙规则。自定义链的规则优先级:1)创建一个自定义链2)在自定义的链中添加防火墙规则添加了一条防火墙规则,来自192.168.20.21源地址的客户端禁原创 2022-07-09 10:01:48 · 881 阅读 · 0 评论 -
Iptables防火墙state模块扩展匹配规则
state模块也就是conntrack连接追踪的概念,主要作用就是源端到目标端所经过的路由跟踪记录,通过连接跟踪,就可以分析出源端到目标端所经过的地址,然后判断出有哪些是异常的,哪些是正常的。连接追踪,第一次建立的请求时NEW状态,基于NEW状态之后,在建立的连接是ESTABLISHED状态,RELATED是相关的连接,INVALID是无效的连接。一个典型的场景:当本机的80端口向其他客户端发起了请求,但是并不是ESTABLISHED状态,而是NEW状态,此时一定是有问题的,WEB 80端口不会向客户端发起原创 2022-07-09 10:00:23 · 858 阅读 · 0 评论 -
Iptables防火墙tcp-flags模块扩展匹配规则
tcp-flags模块的作用是判断TCP协议数据报文标志位的返回值的,在TCP的三次握手中,第一次握手客户端向服务器发送syn=1的数据报文,第二次握手服务端向客户端发送sync和ack=1的报文,第三次握手客户端向服务端发送ack=1的报文。tcp-flags模块就是来判断发送报文中指定的标志位是否等于1,并且该条报文中只包含指定的标志位,否则就拒绝通行,例如我们指定的标志位是SYN,那么该条报文中就只能包含SYNC,如果再包含ACK,那么就不放行,并且标志位的值要为1。tcp-flags模块使用的命令格原创 2022-07-09 09:59:29 · 881 阅读 · 0 评论 -
Iptables防火墙limit模块扩展匹配规则
limit模块的作用是针对报文的速率进行限制,限制的单位有秒、分钟、小时、天等,例如一分钟内只接收10个请求报文,多余的报文则会被丢弃。limit模块的常用参数:查看效果,可以看到前5个数据包都可以正常接收,那是因为limit默认初始包就是5个,因此没有任何问题,从第六个数据包开始后,每隔6秒才会正常处理一个数据包,因为1分钟限制10次数据包的接收,那就表示6秒收一个,效果如下图所示。也可以理解为是一开始可以快速通过5个数据报文,后面的数据报文是每分钟通过10个。实现思路和1)中一模一样,只不过就是调整一原创 2022-07-09 09:58:22 · 1363 阅读 · 0 评论 -
Iptables防火墙connlimit模块扩展匹配规则
connlimit模块的作用是限制请求报文对特定服务的并发连接数限制的,例如Telnet服务,默认情况下没有并发连接数的限制,可以允许n个客户端同时连接,如果应用了connlimit模块,可以对并发连接数进行限制。connlimit模块常用参数:1)编写具体的防火墙规则2)查看设置的规则3)测试效果同时登陆两个ssh没问题,第三个时就提示无法连接了。...原创 2022-07-09 09:56:18 · 855 阅读 · 0 评论 -
Iptables防火墙icmp模块扩展匹配规则
在前面做icmp协议的DROP动作规则时,其他主机确实无法ping通本机了,但是本机也同样无法ping通别的主机,那是因为拒绝动作是在INPUT链完成的,ping是有请求和回应的,INPUT链已经把icmp协议拒绝了,无法回应,就导致本机也无法ping通其他主机。icmp模块常用的参数:可以在参数前面加!号表示去反。1)编写防火墙规则2)查看设置的防火墙规则3)测试效果其他主机无法ping通本机,本机依旧可以ping通其他主机。...原创 2022-07-09 09:55:30 · 1132 阅读 · 0 评论 -
Iptables防火墙time模块扩展匹配规则
time模块的作用是根据时间范围来匹配报文,例如在上午的8点30到下午18点30关于浏览淘宝的报文都拒绝。time模块的常用参数:可以在参数前面加!号表示去反。time模块默认使用的实际UTC时间,UTC时间比我们正常的时间慢8小时。1)编写防火墙规则在周一到周五的8点到18点时间段,所有发往taobao.com的TCP 80端口的报文都会被拒绝。2)查看设置的防火墙规则淘宝网的地址有很多,写入防火墙后,会将解析出来的多个IP地址都写入到表中,如下图所示。3)测试效果在周一到周五的早上8点到晚上18点的原创 2022-07-09 09:54:30 · 786 阅读 · 0 评论 -
Iptables防火墙iprange模块扩展匹配规则
iprange模块可以同时设置多个IP或者设置IP的某一段连续的范围,通过iprange模块可以对多个来源地址同时设置策略。iprange模块的参数:可以在参数前面加!号表示去反。1)编写防火墙规则在INPUT链的filter表中添加对应的规则。2)查看添加的规则禁止192.168.20.10-192.168.20.19的源地址请求的ICMP协议数据报文进入本机。3)测试效果登陆192.168.20.10这个服务器中ping192.168.20.20,发现ping不通,登陆192.168.20.21这个原创 2022-07-08 09:26:33 · 716 阅读 · 3 评论 -
Iptables防火墙string模块扩展匹配规则
String模块的作用是来匹配请求报文中指定的字符串,经常应用于拦截用户访问某些网站的场景,将防火墙当做路由器使用,例如上班时间不允许用户访问淘宝网站等等场景。String模块的常用参数:可以在参数前面加!号表示去反。案例:当用户请求的数据报文中包含taobao.com,则拒绝通行,其余的正常放行。1)首先来准备含有taobao.com数据报文的WEB网站。2)编写防火墙规则,拒绝数据包中包含taobao.com内容的数据包。3)查看设置的防火墙规则。4)测试效果,发现hahaha的页面可以正常访问,原创 2022-07-08 09:25:28 · 1448 阅读 · 0 评论 -
Iptables防火墙基本匹配条件应用
**需求:**仅允许 192.168.20.21 访问 192.168.20.20 的80端口,其余的来源客户端都拒绝访问。1)实现该需求的防火墙规则如下注意第二条拒绝所有的时候一定要使用-A参数追加到最后一行,否则所有的来源都将不可访问。2)查看设置的防火墙规则INPUT链中一共有2条规则,第一条规则的动作是允许,允许192.168.20.21访问192.168.20.20的tcp 80端口,第二条规则的动作是拒绝,拒绝全部IP访问本机的80端口。3)测试结果只有来源地址为192.168.20.21的原创 2022-07-08 09:23:06 · 2051 阅读 · 0 评论 -
Iptables防火墙基本匹配应用
所谓的规则就是由运维配置的一条条防火墙策略,只有满足策略的源才会被防火墙放行,一条规则通常是由条件+动作来组合的。Iptables防火墙定义规则时的命令格式以及常用参数`:命令格式:常用参数`:查看filter表的规则详细信息。2.2.设置一条防火墙规则设置一条防火墙规则,禁止所有来源ping本机。ping属于ICMP协议,禁ping属于来源客户端ping目标主机,需要在INPUT链的filter表中添加一条防火墙规则,禁止ICMP协议进入。规则解释:在INPUT链的filter表中添加了一条对于IC原创 2022-07-08 09:19:00 · 643 阅读 · 0 评论 -
Iptables防火墙的四表五链概念以及使用技巧
在防火墙中,用户想要成功进入内网环境,就需要发送请求报文,请求报文要和防火墙设置的各种规则进行匹配和判断,最后执行相应的动作(放行或者拒绝),一个防火墙中通常针对不同的来源设置很多种策略,多个策略形成一个链,其实也可以理解成是分组的概念,在Iptables防火墙中针对不同的链路共分为五种不同的链。如下图所示,当数据报文进入链之后,首先匹配第一条规则,如果第一条规则通过则访问,如果不匹配,则接着向下匹配,如果链中的所有规则都不匹配,那么就按照链的默认规则处理数据报文的动作。Iptables有五种不同的链,分原创 2022-07-08 09:17:02 · 3215 阅读 · 2 评论 -
Iptables防火墙的基本概念以及执行原理
iptables工作流程:1.防火墙是层层过滤的,实际上当一个请求进到防火墙后,会按照配置的防火墙规则,从上到下顺序的进行匹配,从前到后进行过滤。2.如果匹配上其中的某一条规则,明确表示是阻止或者是通过,数据包就不会再向下匹配新的规则。3.如果规则中没有明确表明是阻止还是通过,也就是没有匹配到任何规则,那么数据包就会向下匹配,直到匹配到默认规则得到明确的阻止或者通过为止。4.防火墙的默认规则只有当所有规则都匹配完后,没有合适的规则,才能去匹配默认规则。......原创 2022-07-08 09:14:18 · 1381 阅读 · 3 评论