Linux-iptables初识

了解

  1. iptables是与Linux内核集成的IP信息包过滤系统。如果Linux系统连接到因特网或LAN、服务器或连接LAN和因特网的代理服务器,则该系统有利于在Linux系统上更好的控制IP信息包过滤和防火墙配置。
  2. netfilter/iptables IP信息包过滤系统是一种强大的工具,可用于添加、编辑和去除规则,这些规则是在做信息包过滤决定时,防火墙所遵守和组成的规则。这些规则存储在专用的信息包过滤表中,而这些表集成在Linux内核中。在信息包过滤表中,规则被分组放在我们所谓的链(chain)中。虽然netfilter/iptables IP信息包过滤系统被称为单个实体,但它实际上由两个组建netfilter和iptables组成。
    * netfilter组件也称为内核空间(kernelspace),是内核的一部分,由一些信息包过滤表组成,这些表包含内核用来控制信息包过滤处理的规则集。
    * ipitables组件是一种工具,也是用户空间(userspace),它使插入、修改和除去信息包过滤表中规则变得容易。
  3. iptables包含4个表,5个链。其中表是按照对数据包的操作区分的,链是按照不同的Hook点来区分的,表和链实际上是netfilter的两个维度。
    * 四个表:filter、nat、mangle、raw,默认表是filter(没有指定表的时候就是filter表)
    filter:一般的过滤功能
    nat:端口映射、地址映射等
    mangle:用于对特定数据包的修改
    raw:优先级最高,设置raw时一般是为了不再让iptables做数据包的链接跟踪处理,提高性能
    优先级:raw>mangle>nat>filter
    * 五个链:PREROUTING、
    PREROUTING:数据包进入路由表之前
    INPUT:通过路由表后,目的地为本机
    FORWARD:通过路由表后,目的地不是本机
    OUTPUT:由本机产生,向外转发
    POSTROUTING:发送到网卡接口之前

基本命令

1.查看iptables的四张表

cat /proc/net/ip_tables_names

2.查看iptables表中的规则

iptables -t nat/raw/mangle/filter –L

3.查看iptables中共有哪些target

cat /proc/net/ip_tables_targets

4.清空链中的rule。清空所选链。这等于把所有规则一个个的删除

iptables –t raw/mangle/nat/filter –F

5.删除每个非内建的链

iptables –t /raw/mangle/nat/filter –X

6.查看链中的rule

iptables –t /raw/mangle/nat/filter –L

7.查看iptables的帮助文件

iptables --help

表与链

1.Filter

iptables -L | more

当不指定表明的时候,默认指filter表。more与|连用:可用“空格”翻页,上下箭头翻行
Filter表中的INPUT、FORWARD、OUTPUT三个链
2.NAT
当内网要公布web服务器时,可以使用prerouting链做dnat映射
当内网用户想上网时,可以用postrouting链做snat映射
该NAT表中链有PREROUTING、POSTROUTING、OUTPUT
3.Mangle
主要作用是修改封包的内容。修改IP包头的TTL值,这样也可以保护我们的主机,比如我们将Linux主机送出的封包内的TTL值该为128,让Cracker误以为是Windows系统。另外,TTL(生存周期,每经过一个路由器将减少1.mangle可以修改此值设定TTL要被增加的值,比如–ttl-inc 。假设一个进来的包的TTL是53,那么当它离开我们这台机子时,TTL应是多少呢?是56,原因同–ttl-dec。使用这个选项可以使我们的 防火墙更加隐蔽,而不被trace-routes发现,方法就是设置–ttl-inc 1。原因应该很简单了,包每经过一个设备,TTL就要自动减1,但在我们的防火墙里这个1又被补上了,也就是说,TTL的值没变,那么trace- routes就会认为我们的防火墙是不存在的)。修改IP包头的DSCP值,在网络应用中,有时候需要对某些特定通信协议会有特殊的需求,例如在网络电话的应用环境里,我们会希望VOIP的封包都要能在不延迟的情况下传输出去。因此就有了QOS(Quality of Service)机制
Mangle表中有链PREROUTING、INPUT、FORWARD、OUTPUT、POSTROUTING
4.Raw
Raw表只使用在PREROUTING、OUTPUT链上,因为优先级最高,从而可以对收到的数据包在连接跟踪前处理。一旦用户使用了RAW表,在某个链上,RAW表处理完后,将跳过NAT表和ip_conntrack处理,即不再做地址转换和数据包的链接跟踪处理了
RAW表可以应用在那些不需要做nat的情况下,以提高性能。如大量访问web服务器,可以让80端口不再让iptables做数据包的链接跟踪处理,以提高用户的访问速度

Filter表基本实验

1.清空指定表中的所有规则

iptables -F     #清空filter表中的所有链(默认不指定则表明filter表,可以使用-t参数指定表)

2.不允许本机telnet到其他机子

iptables -A OUTPUT -p tcp --dport 23 -j DROP    

3.不允许别人ping通自己

iptables -A INPUT -p icmp --icmp-type 8 -j DROP

4.指定telnet禁止的具体的源与目的

iptables -A INPUT -p tcp -s 192.168.100.20/24 -d 192.168.100.55/24 -dport 23 -j DROP

往input输入链中添加一条过滤防火墙规则:凡是来源主机是192.168.100.20,telnet到目的主机192.168.100.55的数据包就丢弃
5.保存和恢复规则集

$iptables-save > /etc/fwdump        #保存规则集到指定文件
$iptables-restore < /etc/fwdump    #恢复规则集
$cat /etc/rc.local
/sbin/iptables-restore < /etc/fwdump  

转载于:https://www.cnblogs.com/cherishry/p/5677108.html

Linux-iptables初识相关推荐

  1. linux iptables常用命令之配置生产环境iptables及优化

    在了解iptables的详细原理之前,我们先来看下如何使用iptables,以终为始,有可能会让你对iptables了解更深 所以接下来我们以配置一个生产环境下的iptables为例来讲讲它的常用命令 ...

  2. Linux iptables防火墙设置与NAT服务配置

    Linux iptables防火墙设置与NAT服务配置 - 摘要: linux教程,NAT服务器,iptables防火墙设置与NAT服务配置, 防火墙是指设置在不同网络或网络安全域之间的一系列部件的组 ...

  3. linux iptables 数据流程详解 4表5链的关系

    目录 iptables基础 iptables和netfilter的关系: iptables传输数据包的过程 iptables的规则表和链: 规则表: 1.Filter表--三个链:INPUT.FORW ...

  4. 去掉一个linux的ip,linux – iptables删除除一个IP之外的所有传入ICMP请求

    目前,我有类似的东西: iptables -A INPUT -p ICMP --icmp-type 8 -j DROP iptables -A INPUT -s x.x.x.x -p ICMP --i ...

  5. Linux iptables用法与NAT

    1.相关概念 2.iptables相关用法 3.NAT(DNAT与SNAT) 相关概念 防火墙除了软件及硬件的分类,也可对数据封包的取得方式来分类,可分为代理服务器(Proxy)及封包过滤机制(IP ...

  6. linux防火墙ddos,Linux iptables防火墙详解 + 配置抗DDOS***策略实战

    Linux iptables防火墙详解 + 配置抗DDOS***策略实战 Linux 内核中很早就实现了网络防火墙功能,在不同的Linux内核版本中,使用了不同的软件实现防火墙功能. 在2.0内核中, ...

  7. Linux IPTables:如何添加防火墙规则

    摘要:本文介绍了如何使用"iptables -A"命令添加 iptables 防火墙规则. 本文分享自华为云社区<Linux IPTables:如何添加防火墙规则(使用允许 ...

  8. Linux iptables 防火墙常用规则

    2019独角兽企业重金招聘Python工程师标准>>> 米扑博客 总结了 Linux iptables 防火墙常用规则,分享出来. iptables 安装 yum install i ...

  9. 初次远程做Linux Iptables规则注意事项

    在远程putty到linux主机上首次做iptables规则时需按以下步骤,以免造成远程断开再也登不了远程linux主机的麻烦. 1.清除原有filter规则. [root@linux ~]# ipt ...

  10. Linux Iptables 语法大全

    Linux Iptables 语法还是比较重要的,让我们来看看有些值得我们关注. 1. 对链的操作 建立一个新链 (-N). 删除一个空链 (-X). 改变一个内建链的原则 (-P). 列出一个链中的 ...

最新文章

  1. CentOS系统安装(上):图形/文本界面安装
  2. 3D建模如何学习,小白6个月入门工作?3D建模要学多久才能接外包私活?
  3. android执行lua脚本的方法,从Android应用程序调用Lua脚本
  4. 谁将掌控中国的金融?(上)
  5. 关于解决“用系统U盘安装win7却提示‘缺少所需的CD/DVD驱动器设备驱动程序’”的问题
  6. FusionCharts图表右键菜单的各种典型示例
  7. iOS多线程之5.GCD的基本使用
  8. I2C总线协议/地址详解
  9. bat脚本打开cmd执行命令
  10. 字节(B)、千字节(KB)、兆字节(MB)、积 (GB)字节之间的换算
  11. 关于央行新推数字货币的综述
  12. mysql多表查询分页面_mysql多表联合查询分点经验给大家
  13. 【图解版】B2C电商平台解决方案
  14. 超强悍抓包工具和万能视频下载工具
  15. 企业微信怎么输入服务器id,微信企业号的agentid怎么查看?如何获取?
  16. WPF 使用 Composition API 做高性能渲染
  17. 具有中国风的传统颜色(炫酷)
  18. BZOJ 4466 [Jsoi2013]超立方体【模拟
  19. 熬夜给女朋友搭建了一个网站~
  20. 宋棠敏——瘦-腰-瘦-腿-瘦-肚-子

热门文章

  1. 什么作用计算机辅助工艺,什么是CAPP技术(计算机辅助工艺过程设计)
  2. Android ListView示例教程
  3. python hash函数_Python hash()函数
  4. Qt程序移植到其他电脑上无法运行的解决方法
  5. C++进阶教程之动态内存
  6. 基于OpenCV的计算机视觉入门(1)图片操作入门
  7. 【leetcode】523. Continuous Subarray Sum
  8. 《构建之法》第十一、十二章学习总结
  9. java多线程总结一:线程的两种创建方式及比较
  10. AutoLISP恢复系统变量到默认值