前言

在早期的 Linux 系统中,默认使用的是 iptables 设置防火墙。只管新型
firewalld 防火墙已经被投入使用多年,然则大量的企业在生产环境中依然出于种种原因而继续使用 iptables。考虑到 iptables 在当前生产环境中还具有顽强的生命力,我以为照样有需要再好好地解说一下这项手艺。

iptables 简介

1、什么是iptables?

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

2、iptables特点

iptables 是基于内核的防火墙,功效异常壮大;iptables
内置了filternatmangle三张表。所有规则设置后,立刻生效,不需要重启服务

iptables 组成

iptables的结构是由表(tables)组成,而tables是由链组成,链又是由详细的规则组成。因此我们在编写iptables规则时,要先指定表,再指定链。tables的作用是区分差别功效的规则,而且存储这些规则。

注重:raw表:用于处置异常,包罗的规则链有:prerouting,output; 一样平常使用不到。

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

1、三张表先容:

  • filter

卖力过滤数据包,包罗的规则链有:inputoutputforward

  • nat

用于网络地址转换(IP、端口),包罗的规则链有:preroutingpostroutingoutput

  • mangle

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

优先级:mangle > nat > filter

2、五条链:

  • input

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

  • output

出口数据包 , 一样平常不在此链上做设置

  • forward

匹配流经本机的数据包

  • prerouting

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

  • postrouting

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

iptables 处置数据包流程:

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

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

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

  4. 若是数据包是要转发出去的,且内核允许转发,数据包就会如图所示向右移动,经由 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』,专注分享Linux/Unix相关内容,包罗Linux运维、Linux系统开发、网络编程、以及虚拟化和云盘算等手艺干货。后台回复『学习』,送你一套学习Linux的系列书籍,期待与你相遇。