iptables系列教程(一)| iptables入门篇

网友投稿 2224 2022-05-30

前言

在早期的 Linux 系统中,默认使用的是 iptables 配置防火墙。尽管新型 的 firewalld 防火墙已经被投入使用多年,但是大量的企业在生产环境中依然出于各种原因而继续使用 iptables。考虑到 iptables 在当前生产环境中还具有顽强的生命力,我觉得还是有必要再好好地讲解一下这项技术。

iptables 简介

1、什么是iptables?

iptables 是 Linux 防火墙工作在用户空间的管理工具,是 netfilter/iptablesIP 信息包过滤系统是一部分,用来设置、维护和检查 Linux 内核的 IP 数据包过滤规则。

iptables 是基于内核的防火墙,功能非常强大;iptables 内置了filter,nat和mangle三张表。所有规则配置后,立即生效,不需要重启服务。

iptables 组成

iptables的结构是由表(tables)组成,而tables是由链组成,链又是由具体的规则组成。因此我们在编写iptables规则时,要先指定表,再指定链。tables的作用是区分不同功能的规则,并且存储这些规则。

关注微信公众号【开源Linux】,后台回复『10T』,领取10T学习资源大礼包,涵盖Linux、虚拟化、容器、云计算、网络、Python、Go等书籍和视频

注意:raw表:用于处理异常,包括的规则链有:prerouting,output;一般使用不到。

iptables系列教程(一)| iptables入门篇

总体说来,iptables是由“三表五链”组成。

1、三张表介绍:

filter

负责过滤数据包,包括的规则链有:input,output和forward

nat

用于网络地址转换(IP、端口),包括的规则链有:prerouting,postrouting 和 output

mangle

主要应用在修改数据包、流量整形、给数据包打标识,默认的规则链有:INPUT,OUTPUT、 forward,POSTROUTING,PREROUTING

优先级:mangle > nat > filter

2、五条链:

input

匹配目标IP是本机的数据包

output

出口数据包 , 一般不在此链上做配置

forward

匹配流经本机的数据包

prerouting

修改目的地址,用来做 DNAT 。如:把内网中的 80 端口映射到互联网端口

postrouting

修改源地址,用来做 SNAT。如:局域网共享一个公网IP接入Internet。

iptables 处理数据包流程:

当一个数据包进入网卡时,它首先进入 PREROUTING 链,内核根据数据包目的 IP 判断是否需要转送出去。

当一个数据包进入网卡时,它首先进入 PREROUTING 链,内核根据数据包目的 IP 判断是否需要转送出去。

如果数据包就是进入本机的,它就会沿着图向下移动,到达 INPUT 链。数据包到了 INPUT 链后,任何进程都会收到它。

如果数据包就是进入本机的,它就会沿着图向下移动,到达 INPUT 链。数据包到了 INPUT 链后,任何进程都会收到它。

本机上运行的程序可以发送数据包,这些数据包会经过 OUTPUT 链,然后到达POSTROUTING 链输出。

本机上运行的程序可以发送数据包,这些数据包会经过 OUTPUT 链,然后到达POSTROUTING 链输出。

如果数据包是要转发出去的,且内核允许转发,数据包就会如图所示向右移动,经过 FORWARD 链,然后到达 POSTROUTING 链输出。

如果数据包是要转发出去的,且内核允许转发,数据包就会如图所示向右移动,经过 FORWARD 链,然后到达 POSTROUTING 链输出。

总结:整体数据包分两类:1、发给防火墙本身的数据包 ;2、需要经过防火墙的数据包

iptables 安装

1、关闭 firewall

systemctl stop firewalld //关闭firewalld服务 systemctl disable firewalld //禁止firewalld开机自启动

2、安装 iptables

yum -y install iptables-services

3、启动服务

systemctl start iptables //启动iptables systemctl start iptables //设置iptables开机自启动

4、配置文件位置

[root@LB-01 ~]# ll /etc/sysconfig/iptables -rw------- 1 root root 1027 May 12 18:40 /etc/sysconfig/iptables

最后给大家看下iptables配置实例:

小朋友你是否有很多问号

今天只是 iptables 入门篇,下个章节再为大家详细介绍iptables语法规则及企业实战案例。相信看完明天教程,多加练习后您不仅能看懂上面的配置实例,还可以利用iptables打造出铜墙铁壁级服务器~

结语

关注微信公众号【开源Linux】,后台回复『10T』,领取10T学习资源大礼包,涵盖Linux、虚拟化、容器、云计算、网络、Python、Go等书籍和视频

Linux NAT

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:DevOps和SRE
下一篇:华为云在亚太为亚太,增速最快
相关文章

 发表评论

暂时没有评论,来抢沙发吧~