ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

iptables

2019-09-09 19:54:59  阅读:176  来源: 互联网

标签:iptables chain 流量 链表 table 数据包


iptables
  ip 的 tables ip的表格;
  iptables只是netfilter的前端管理工具;netfilter是linux内核提供的数据流量管理模块;
  iptables/netfilter数据流量管理框架;

  普遍人问IPtables就是一个防火墙;

  作用:流量过滤;(防火墙:1、流浪过滤 2、接VPN)

1、网络防火墙
  首先,网络防火墙一般处在外网出口处;
  主要对于内外网交互的流量进行监控与过滤;

2、主机防火墙(并不提到360、xx管家)
  主机有内核空间和用户空间,netfilter的过滤模块运行在内核空间,但是它又无法提供数据匹配,所以我们需要使用函数来调用netfilter模块,匹配数据流量;
  5个钩子:匹配数据流量:就有我们所说的 Chain (钩子)
    PREROUTING
    INPUT
    FORWARD
    OUTPUT
    POSTROUTING

  3种流量:

    1、到达主机的流量
    2、通过主机的流量
    3、主机发起的流量

  4张表来决定行为:
    1、raw 保持连接--建议不要开启这个表的功能
    2、mangle 做数据包修改
    3、nat nat映射,包括SNAT DNAT
    4、filter 数据包过滤(默认启用)

    那些表,可以关联那些“钩子”呢?
    raw -- OUTPUT PREROUTING
    mangle -- PREROUTING INPUT FORWARD OUTPUT POSTROUTING
    nat -- POSTROUTING OUTPUT PREROUTING
    filter -- OUTPUT INPUT FORWARD
    【对于数据包的行为,就决定了这个数据包要经过那个链】

  *注意:写策略的时候,需要关联钩子,策略是属于“钩子”的,而钩子只做策略匹配,但不能进行数据操作;
  所以,我们需要再关联表,每一种表决定了一种行为操作;

  表 包含链 -- 链 包含 策略;

3、iptables的用法:
  iptables [-t table] {-A|-D} chain rule-specification
  iptables [-t table] -I chain [rulenum] rule-specification
  iptables [-t table] -R chain rulenum rule-specification
  iptables [-t table] -D chain rulenum
  iptables [-t table] -S [chain [rulenum]]
  iptables [-t table] {-F|-L|-Z} [chain [rulenum]] [options...]
  iptables [-t table] -N chain
  iptables [-t table] -X [chain]
  iptables [-t table] -P chain target
  iptables [-t table] -E old-chain-name new-chain-name

  -t 指定 表
  -A -I 添加策略 -A在最下面添加,-I 在最上面添加
    建议:工作的时候一定要用 -A 不要用 -I
  -D 删除策略
  -R 替换链表 需要指定所替换的编号
    iptables -t filter -R INPUT 2 -s 1.1.1.1 -d 2.2.2.2 -j ACCEPT
  -S 显示链表的所有用法
  -P 指定链表的默认行为
    iptables -t filter -P INPUT DORP
    建议:写白名单
  -N 自己定义链表;
    如果策略过多,我们需要将策略分类,这就用自己定义链表来分类;
    让后再将自己定义的链表调用在其他可以匹配数据流量的链表上;
    【如何去调用呢?】
  -X 也是清除自定义的链表
    iptables -t filter -X [chain]
  -v 可以查看策略匹配的数据包
  -vv 详细查看数据包匹配情况 -vvv
    iptables -t filter -L -v
  -Z 将数据包计数归零;
  -L --list显示所选chain上面所有规则rule
  -F 清空制定chain上面所有规则
  -E 替换chain的名称;
------------------------------------------
  -p udp icmp tcp esp ah
  -s
  -d
  -j jump DROP ACCEPT REJECT SNAT DNAT MARK
  -i 进入的网卡
  -o 出去的网卡
  -c 设置收发数据包的警告值
  -n 不做解析
  --line-number 显示策略行号
  -f TCP协议的标签 -- syn ack fin rst pus ...
  【大多数进行数据匹配的参数,都可以使用 !取反;】

标签:iptables,chain,流量,链表,table,数据包
来源: https://www.cnblogs.com/4443056bdH/p/11493811.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有