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. 前端ajax调用后端下载Excel模板流,解决输出乱码等问题

    JavaScript方法function importTemplate() { $.ajax({ url: "/importTemplate", type: "get&q ...

  2. KingbaseES file_dw 介绍

    file_dw简介 ​ file_fdw模块提供外部数据包装器file_fdw, 它能被用来访问服务器的文件系统中的数据文件,或者在服务器上执行程序并读取它们的输出. 数据文件或程序输出必须是能够被C ...

  3. KingbaseES 基于SQL的函数过程

    什么是SQL函数? SQL函数包体是一些可执行的SQL语言.同时包含1条以上的查询,但是函数只返回最后一个查询(必须是SELECT)的结果. 除非SQL函数声明为返回void,否则最后一条语句必须是S ...

  4. SPEL表达式注入分析

    环境依赖 <dependencies> <dependency> <groupId>org.springframework</groupId> < ...

  5. #期望dp#洛谷 6835 [Cnoi2020]线形生物

    题目 分析 设\(f[i]\)表示由点\(i\)走到点\(i+1\)的期望步数, \(dp[i]\)表示由点1走到点\(i+1\)的期望步数, 那么\(dp\)为\(f\)的前缀和,最后答案为\(dp ...

  6. RabbitMQ 09 主题模式

    主题模式 主题模式结构图: 主题模式实际上就是一种模糊匹配的模式,可以将routingKey以模糊匹配的方式去进行转发. 可以使用*或#来表示: *:任意的一个单词. #:0个或多个单词. 定义配置类 ...

  7. 直播回顾 | 点击率提升400%,Ta是怎么做到的?

    Discovery第18期直播已于3月30日圆满结束,本期直播邀请天眼查做客直播间,从天眼查与华为Push用户增长服务合作历程切入,聚焦用户增长,分享提升应用活跃度和渠道ROI的经验与见解.一起来回顾 ...

  8. .NET Aspire预览5版本 发布

    2024年4月11日发布了.NET Aspire预览5版本,这个版本引入了对AWS的支持,并对Azure功能进行了改进.重点内容包括拆分Aspire.Hosting和Aspire.Hosting.Az ...

  9. BTC的数据结构

    区块链是一个个block所构成的链,或者链表状的数据结构,在比特币中或者区块链中,一个重要的组成部分是哈希指针 指针 在程序运行过程中,需要用到数据.最简单的是直接获取数据,但当数据本身较大,需要占用 ...

  10. ABP -Vnext框架一步一步入门落地教程——ABP Vnext框架代码安装和启动(一)

    兄弟们,人生需要指引,而复制是成功最快的方式,让我们开始行动吧 --codesoft 教程介绍 ABP-Vnext框架我们之前摸了无数次,好象初恋的女孩,一直在靠近,一直在努力,一直不敢盯着她的眼睛说 ...