IPTABLES

Iptables是基于内核的防火墙,也就是说它是在内核中生效的,用户无法直接对其进行操作。所以Iptables就在内核中开了个口,便于我们进行操作。这些口的名字就是表,不要小看了Iptables中的表,防火墙中的规则都是通过表来设置实现的,在表下又定义了规则链来控制数据包。Iptables中有的文件所在,一个         是/etc/sysconfig/iptables它是保存规则的文件,在Iptables中添加了规则会立即生效,但是不会保存,再重启就没有了,所以一定要记得保存规则;另一个是/etc/sysconfig/iptables-config它是向Iptables脚本提供配置文件的文件。

Iptables自带的有三个表:Filter、Nat、Mangle;

自带的链有五个:Input、Output、Forward、Prerouting、Postroouting。

主要知识点

那么Iptables的表和链具体怎么工做呢?

表:

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

nat则涉及到网络地址转换,包括的规则链有,prerouting,postrouting和output;

mangle表则主要应用在修改数据包内容上,用来做流量×××的,默认的规则链有:INPUT,OUTPUT,NAT,POSTROUTING,PREROUTING;

链:

input匹配目的IP是本机的数据包,也就是进入本机的数据包请求;

output匹配源IP是本机的数据包,也就是本机出去的数据包;

forward匹配流经本机的数据包,也可以看做是由本机转发的数据包;

prerouting就是处理还没有进行路由选择的数据包;

postrouting处理已经进行了路由选择后的数据。

Iptables的工作过程大致是这样的:当本机接到数据请求的时候,先判定其属于哪个表的管理范围,而后确定此数据符合表中哪条链的规则,如果确定符合某规则,就由此规则中我们指定好的动作来处理,如果数据请求不属于任何表的管理范围,那么就正常接收数据包。

主要参数及用法

-A 附加规则,默认是附加到尾部

-I 插入规则,默认是插入到首部

-D 删除规则,其后也可附带数字,表示删除第几条规则

-R 替换规则,其后同样可附带数字,表示替换第几条规则

-F 清空链内的规则,全部清空,后若跟数字代表清空第几条

-N 新建用户自定义的链

-X 删除链,这里只是删除自己建的空链

-E 重命名链

-P 指定默认规则

-Z 清空计数器,每条规则都有来两个计数器,一个是被匹配到的所有数据包的个数;一个是被匹配到的所有数据包的大小

-T 指定要操作的表,默认的表是Filter

-L 查看,列出Iptables的规则;还有一些子选项:-n 以纯数字方式显示;-v显示详细规则的计数器,-v越多显示越详细;--ilne-numbers 排序显示

-s 指定源地址

-d 指定目的地址

-p 匹配协议,如tcp、udp、icmp等。-p选项还支持各种匹配:先指定协议,后跟类型如 --sport源端口、--dport目的端口等;还有一种显示扩展,用-m来指定,如iprange(ip的扩展)limit(指定速率)string(指定匹配的字符串)time(指定时间限制)muitipost(指定协议宽口) 等

-i 数据包的流入接口,作用在Input、Forward、Prerouting

-o 数据包的流出接口,作用在Output、Forward、Postrouting

-j 处理动作,基本动作有:accept 就受、drop拒绝、reject直接拒绝、snat源地址转换、dnat目标地址转换

Iptables的语法:

iptables [-t 表名] 参数命令 (可附带子命令) 链名 匹配条件 -j 动作

这里要注意的是 表名一定要小写,链名一定要大写。

参数具体用法:

iptables -t指定表 filter -A加规则 INPUT链 -s 源IP -d 目的地址 -j 动作

#iptables -F 删除所有链

# iptables -A INPUT -d 192.168.1.1 -p tcp --dpor 80 -j DROP  拒绝别人访问本机192.168.1.1的80端口,其中-s省略了就表示所有主机,DROP表示拒绝

#iptables -A INPUT -s 192.168.2.1 -d 192.168.1.1 -p icmp --icmp-type 8 -j DROP  拒绝192.168.2.1ping本机,其中协议是icmp类型是8代表的是ping中的请求。

#iptables -A INPUT -p tcp --dport 22 -j ACCEPT

#iptables -A Output -p tcp --sport 22 -j ACCEPT这两条规则定义了ssh

转载于:https://blog.51cto.com/gdbonnie/924311

学习iptables相关推荐

  1. 系统学习------IPtables包过滤防火墙

    文章目录 防火墙基本概念 根据逻辑分类: 主机防火墙 网络防火墙 根据物理分类 物理防火墙 软件防火墙 IPtables IPtables基础 链的概念 表的概念 表链关系 规则概念 规则操作 : 增 ...

  2. centos Iptables学习笔记

    一.防火墙,iptables和netfilter定义 防火墙:是由软件和硬件设备组合而成的一种隔离技术,它工作于网络或主机的边缘(通信报文的进出口),对于进出本网络或主机的数据包根据事先定义的检测规则 ...

  3. 学习使用iptables

    原文:https://linuxgeeks.github.io/2017/03/10/094107-%E5%AD%A6%E4%B9%A0%E4%BD%BF%E7%94%A8iptables/ 基础知识 ...

  4. 快速入门linux系统的iptables防火墙 1 本机与外界的基本通信管理

    概述 iptables是一种运行在linux下的防火墙组件,下面的介绍可以快速的学习iptables的入门使用. 特点(重要) 它的工作逻辑分为 链.表.规则三层结构. 数据包通过的时候,在对应表中, ...

  5. iptables基础——链与表

    1.防火墙相关概念 此处先描述一些相关概念. 1)从逻辑上讲,防火墙可以大体分为主机防火墙和网络防火墙. 主机防火墙:针对于单个主机进行防护. 网络防火墙:往往处于网络入口或边缘,针对于网络入口进行防 ...

  6. 9个常用iptables配置实例

    2019独角兽企业重金招聘Python工程师标准>>> iptables命令可用于配置Linux的包过滤规则,常用于实现防火墙.NAT.咋一看iptables的配置很复杂,掌握规律后 ...

  7. linux iptables详解

    1. 引言 CentOS 内置了一个非常强劲的防火墙,统称为 iptables,但更正确的名称是 iptables/netfilter.iptables 是一个用户空间的模块.作为用户,你在命令行就是 ...

  8. 图文并茂详解iptables 防火墙工作原理及知识点

    防火墙相关概念 iptables相关概念以及工作原理 iptables中四表五链的原理及规则 iptables中的基本命令详解 ------------------防火墙相关概念----------- ...

  9. iptables详解(1):iptables概念

    防火墙相关概念 此处先描述一些相关概念. 从逻辑上讲.防火墙可以大体分为主机防火墙和网络防火墙. 主机防火墙:针对于单个主机进行防护. 网络防火墙:往往处于网络入口或边缘,针对于网络入口进行防护,服务 ...

最新文章

  1. 【python教程入门学习】Pandas库下载和安装
  2. c++预处理命令 #include用法
  3. 在spring中该如何使用DTO,以及DTO和Entity的关系
  4. MMKV集成与原理,详细学习指南
  5. Spring 框架基础(02):Bean的生命周期,作用域,装配总结
  6. 动态规划——雇佣员工(hdu1158)
  7. Java:注解和反射
  8. Siebel Admin: How to find the Component that associated with Application
  9. ibatis Clob对象处理
  10. Java中的list集合排序方法
  11. APISpace 全国行政区查询API
  12. SLAM从入门到放弃——学习SLAM 学习机器人 书籍推荐
  13. 电脑怎么设置计算机系统,电脑定时开关机如何设置?
  14. 一款令我相见恨晚的工具Utools
  15. 浅谈傅里叶——5. 短时傅里叶的缺点与卷积的基本概念
  16. Mybatis-Plus整理知识点01
  17. IE文档模式的切换,Quirks模式
  18. 什么是 Android Jetpack?
  19. 基于jquery实现table内部数据排序
  20. 解压专家Oka for Mac(压缩解压软件)中文版

热门文章

  1. java多线程编程核心技术 2
  2. 【系统】lsof 命令简介
  3. jquery 提交数据
  4. 3级城市选择(数据库版)
  5. hdu 1232 经典并查集应用
  6. C# 中关于汉字与16进制转换的代码
  7. linux sar 历史负载,sar 查看历史负载
  8. mysql 楼层_MySQL 8.0.0 发布!
  9. Spark案例实战教程
  10. 互联网大数据对教育的重要性