1.iptables 基础规则

1.1.Linux 包过滤防火墙

netfilter

位于 Linux 内核中的包过滤功能体系

称为 Linux 防火墙的 “内核态”

iptables

位于 /sbin/iptables,用来管理防火墙规则的工具

称为 Linux 防火墙的 “用户态”

1.2.包过滤的工作层次

主要是网络层,针对 IP 数据包,体现在对包内IP地址、端口等信息的处理上

1.3.iptables 的表、链结构

规则链

  规则的作用:对数据包进行过滤或处理

  链的作用:容纳各种防火墙规则

  链的分类依据:处理数据包的不同时机

默认包括 5 种规则链

INPUT:处理入站数据包
OUTPUT:处理出站数据包
FORWARD:处理转发数据包
POSTROUTING链:在进行路由选择后处理数据包(在做 NAT 时有用)
PREROUTING链:在进行路由选择前处理数据包(在做 NAT 时有用)

规则表

  表的作用:容纳各种规则链

  表的划分依据:防火墙规则的作用相似

默认包括 4 个规则表

raw 表:确定是否对该数据包进行状态跟踪(PREROUTING、OUTPUT)
mangle 表:为数据包设置标记(PREROUTING、POSTROUTING、INPUT、OUTPUT、FORWARD)
nat 表:修改数据包种的源、目标 IP 地址或端口(PREROUTING、POSTROUTING、OUTPUT)
filter 表:确定是否放行该数据包(过滤)(INPUT、FORWARD、OUTPUT)

1.4.数据包过滤的匹配流程

规则表之间的顺序:raw -> mangle -> nat -> filter

规则链之间的顺序

入站:PREROUTING -> INPUT
出站:OUTPUT -> POSTROUTING
转发:PREROUTING -> FORWARD -> POSTROUTING

规则链内的匹配顺序

  按顺序依次检查,匹配即停止(LOG 策略例外)

  若找不到相匹配的规则,则按该链的默认策略处理(默认策略是允许,如果修改为拒绝,就成白名单了)

访问的是服务器自身,则经过 input 到 output 走

2.iptables 基本语法

语法:iptables [-t 表名] 选项 [链名] [条件] [-j 控制类型]

eg:iptables -t filter -I INPUT -p icmp -j REJECT #禁 ping

注意

  不指定表名时,默认指 filter 表

  不指定链名时,默认指表内的所有链

  除非设置链的默认策略,否则必须指定匹配条件

  选项、链名、控制类型使用大写字母,其余均为小写

2.1.数据包常见控制类型

ACCEPT:允许通过
DROP:直接丢弃,不给出任何回应
REJECT:拒绝通过,必要时会给出提示
LOG:记录日志信息,然后传给下一条规则继续匹配

2.2.iptables 管理选项

添加新的规则:
-A:在链的末尾追加一条规则
-I:在链的开头(或指定序号后一行)插入一条规则
eg:
iptables -t filter -A INPUT -p tcp -j ACCEPT
iptables -I INPUT -p udp -j ACCEPT
iptables -I INPUT 2 -p icmp -j ACCEPT

查看规则列表:
-L:列出所有的规则条目
-n:以数字形式显示地址、端口等信息
-v:以更详细的方式显示规则信息
--line-numbers:查看规则时,显示规则的序号
eg:iptables -n -L INPUT(iptables -nL INPUT)

删除、清空规则:
-D:删除链内指定序列号(或内容)的一条规则
-F:清空所有的规则(-t:指定清空某个规则表的规则)
eg:
iptables -D INPUT 3
iptables -t nat -F

设置默认策略:
-P:为指定的链设置默认规则
eg:iptables -t filter -P OUTPUT ACCEPT(默认策略要么是 ACCEPT,要么是 DROP)

9、iptables 防火墙的更多相关文章

  1. CentOS系统配置 iptables防火墙

    阿里云CentOS系统配置iptables防火墙   虽说阿里云推出了云盾服务,但是自己再加一层防火墙总归是更安全些,下面是我在阿里云vps上配置防火墙的过程,目前只配置INPUT.OUTPUT和FO ...

  2. 关闭SELinux和iptables防火墙

    1.关闭SELinux: 编辑SELinux配置文件: [root@Redis selinux]# vim /etc/selinux/config 修改SELINUX配置项为disable SELIN ...

  3. CentOS 7.0,启用iptables防火墙

    CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止fir ...

  4. 编译内核实现iptables防火墙layer7应用层过滤 (三)

    在前面的两篇文章中我们主要讲解了Linux防火墙iptables的原理及配置规则,想博友们也都知道iptables防火墙是工作在网络层,针对TCP/IP数据包实施过滤和限制,属于典型的包过滤防火墙.以 ...

  5. [CentOs7]iptables防火墙安装与设置

    摘要 CentOS 7.0默认使用的是firewall作为防火墙,如果改为iptables防火墙,如何操作? 关闭firewall: systemctl stop firewalld.service ...

  6. iptables防火墙作为基本需求的配置

    企业中使用iptables防火墙:(一般不要在命令中输入规则) # Firewall configuration written by system-config-firewall# Manual c ...

  7. [moka同学摘录]iptables防火墙规则的添加、删除、修改、保存

    文章来源:http://www.splaybow.com/post/iptables-rule-add-delete-modify-save.html 本文介绍iptables这个Linux下最强大的 ...

  8. linux 的iptables防火墙

    .a文件就是*.o文件的集合, 是object文件的归档文件, 所以, 用nm -A  ???.a看到的 symbolic符合名称都是 相应的,  包含的  .o文件.... linux 2.4内核中 ...

  9. 使用iptables防火墙限制web的访问PV

    使用iptables防火墙限制web的访问PV #!/bin/bash while true;do awk '{print $1}' /tmp/test/access.log| grep -v &qu ...

  10. Netfilter/iptables防火墙

    http://os.51cto.com/art/201107/273443.htm [51CTO独家特稿]Linux系统管理员们都接触过Netfilter/iptables,这是Linux系统自带的免 ...

随机推荐

  1. 基于vivado中AXI的模型分析

    基于vivado中AXI的模型分析 1.底层代码 `timescale 1 ns / 1 ps module myip_v1_0_S00_AXI # ( // Users to add paramet ...

  2. 国民经济行业分类与代码(GB/T 4754-2017、GB/T 4754-2011、GB/T 4754-2002)数据下载

    2002_2011_2017国民经济行业分类与代码mysql数据四级分类文件.rar 内容:其中包含2002.2011.2017三年国民经济行业分类和代码的MySQL文件,每一个表的格式如下:例如第一 ...

  3. Final Countdown 题解

    Problem Link 简要题意 把一个数不断减一直到变成零,每个数位变化一次需要一秒. 比如 \(300\) 变成 \(299\) 需要 \(3\) 秒. 求把一个数变成零要多少秒. 思路 对于每 ...

  4. #矩阵乘法,斐波那契#洛谷 2544 [AHOI2004] 数字迷阵

    题目 分析 oeis找规律得到第一列和第二列的通项公式,然后矩阵乘法 代码 #include <cstdio> #include <cctype> #include <c ...

  5. java深入理解浅拷贝和深拷贝

    目录 简介 拷贝接口 使用clone导致的浅拷贝 使用clone的深拷贝 不要overridden clone 总结 简介 拷贝对象是java中经常会遇到的问题.java中存在两种类型,基础类型和引用 ...

  6. 深入了解图片Base64编码

    title: 深入了解图片Base64编码 date: 2024/4/8 10:03:22 updated: 2024/4/8 10:03:22 tags: Base64编码 图片转换 HTTP请求 ...

  7. Docker 13 网络

    Linux 网络 查看本地网络信息: [root@sail ~]# ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueu ...

  8. 开源数据库OpenGauss的SQL解析源码分析

    开源数据库 OpenGauss 的 SQL 解析源码分析 OpenGauss 数据库体系概述 openGauss 是关系型数据库,采用客户端/服务器,单进程多线程架构:支持单机和一主多备部署方式,同时 ...

  9. 【我与openGauss的故事】如何管理数据库安全(第一部分)

    前言 2021 年 6 月 10 日国家颁布数据安全法对我们国家来说具有重大意义 信息安全法 梳理几点重要意义: (一) 对数据的有效监管实现了有法可依,填补了数据安全保护立法的空白,完善了网络空间安 ...

  10. os.path.splitext

    os.path.splitext是Python标准库中的一个函数,它可以将一个文件路径拆分成两部分:文件名和文件扩展名.例如: 点击查看代码 import os file_path='avercrop ...