iptables系列教程|iptables入门篇(代码片段)

author author     2022-12-10     172

关键词:

前言

在早期的 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的系列书籍,期待与你相遇。

iptables系列教程|iptables实战篇(代码片段)

iptables实战篇实战1服务器禁止pingiptables-AINPUT-picmp--icmp-type8-s0/0-jDROP//禁止任何人ping通本机除了上面禁止PING的方法,我们还可以通过修改内核配置实现,如下:echonet.ipv4.icmp_echo_ignore_all=1>>/etc/sysctl.confsysctl-p//如果允许PING,则... 查看详情

iptables入门篇

一、iptables简介1.1什么是iptables?iptables是Linux防火墙工作在用户空间的管理工具,是netfilter/iptablesIP信息包过滤系统是一部分,用来设置、维护和检查Linux内核的IP数据包过滤规则。1.2主要特点1)列出数据包过滤器规则集的内容2... 查看详情

iptables系列教程|iptables语法规则(代码片段)

iptables命令基本语法iptables[-ttable]command[链名][条件匹配][-j目标动作]以下是对iptables命令的拆分讲解:-ttable用来指明使用的表,有三种选项:filter,nat,mangle。若未指定,则默认使用filter表。command参数指定iptables对我们提交的规则... 查看详情

iptables系列教程|iptables语法规则(代码片段)

iptables命令基本语法iptables[-ttable]command[链名][条件匹配][-j目标动作]以下是对iptables命令的拆分讲解:-ttable用来指明使用的表,有三种选项:filter,nat,mangle。若未指定,则默认使用filter表。command参数指定iptables对我们提交的规则... 查看详情

iptables系列:如何配置ubuntu14.04中的iptables防火墙

IPTables基本命令在向大家介绍复杂防火墙规则之前,还是先上一些简单的料,让大家对IPTables最为基本的命令有一些简单了解。首先要说明的是IPTables命令必需以root权限运行,这意味着你需要使用root身份登录或者能够有权限使用s... 查看详情

iptables系列:如何配置ubuntu14.04中的iptables防火墙

IPTables基本命令在向大家介绍复杂防火墙规则之前,还是先上一些简单的料,让大家对IPTables最为基本的命令有一些简单了解。首先要说明的是IPTables命令必需以root权限运行,这意味着你需要使用root身份登录或者能够有权限使用s... 查看详情

iptables教程

Iptables教程1. iptables防火墙简介Iptables也叫netfilter是Linux下自带的一款免费且优秀的基于包过滤的防火墙工具,它的功能十分强大,使用非常灵活,可以对流入、流出、流经服务器的数据包进行精细的控制。iptables是Linux2.4及2.6... 查看详情

iptables从入门到放弃

...算机都必备的工具防火墙,在Linux中我们使用的防火墙是iptables,他的功能极其强大,如果不考虑性能问题iptables可以基本上可以完成大多数的网络访问控制。组成      iptabl 查看详情

iptables快速入门

iptables简介在生产实践过程中,为了保证生产安全,通常需要进行数据加密,例如通过网络层面上将应用隔离成内网和公网应用,内网再分成生产、测试、开发、DMZ等区域,然后进行不同的策略更改,例如将重要应用添加防火墙... 查看详情

iptables教程

iptables防火墙简介Iptables也叫netfilter是Linux下自带的一款免费且优秀的基于包过滤的防火墙工具,它的功能十分强大,使用非常灵活,可以对流入、流出、流经服务器的数据包进行精细的控制。iptables是Linux2.4及2.6内核中集成的模... 查看详情

iptables教程

1. iptables防火墙简介Iptables也叫netfilter是Linux下自带的一款免费且优秀的基于包过滤的防火墙工具,它的功能十分强大,使用非常灵活,可以对流入、流出、流经服务器的数据包进行精细的控制。iptables是Linux2.4及2.6内核中集成... 查看详情

iptables从入门到应用

...049            iptables从 查看详情

iptables入门到进阶

Iptables入门到进阶一、前言Firewall(防火墙):隔离工具;PacketsFilterFirewall(包过滤防火墙);工作于主机或网络的边缘,对经由的报文根据预先定义的规则(匹配条件)进行检测,对于能够被规则匹配到的报文实行某预定义的... 查看详情

iptables教程(代码片段)

iptables是一个配置Linux内核防火墙的命令行工具。初学者刚看到iptables,会感到很复杂,原因是iptables功能实在是太强大了。本文会从基本概念、使用上做介绍,读者看完后再去看iptables命令就能理解其含义了。本文环境:PC:Ubuntu18... 查看详情

iptables进阶

这篇主要讲述iptables模块。因为iptables模块太多,所以仅仅能慢慢补充,用到哪个加哪个==========================================================================================================iptables-AINPUT[-mstate][--模块參数状态] -m:一些 查看详情

iptables系列之基础原理

...核中的过滤框架,规则生效的位置框架    iptables:附加在netfilter上,生成防火墙规则,真正实现数据报文过滤,NAT,mangle等规则生成的工具防火墙:工作在主机或者网络的边缘,对于进出的报文进行检查监控,并... 查看详情

iptables技术入门

1-概述___netfilter/iptables:IP信息包过滤系统,实际由两个组件netfilter和iptable组成。1.1-netfiler/iptables关系:netfilter组件也称为内核空间(kernelspace),是内核的一部分,由一些信息包和过滤表组成,这些表包含内核用来控制信息包过滤... 查看详情

[linux系列|iptables]iptables详解②(代码片段)

一.  iptables扩展模块1.  multiport模块     使用multiport模块可以添加对个不连续的端口,最多可以添加15组。语法:-m  multiport  <--sport|--dport|--ports>端口1[,端口2,端口3....,端口n]示例:192.168.122.1... 查看详情