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 ...
 【大多数进行数据匹配的参数,都可以使用 !取反;】

Linux基础:Day05的更多相关文章

  1. Linux基础练习题(二)

    Linux基础练习题(二) 1.复制/etc/skel目录为/home/tuer1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限. [root@www ~]# cp -r ...

  2. 大数据每日干货第四天(linux基础之一目录结构与常用命令)

           为了和qq空间同步,也写的第四天,前面几天明天会发布,本来打算把每天学的东西记录下来,通过朋友给的建议要发的话稍微系统化下,从大数据需要的linux基础,到离线数据分析包括hadoop. ...

  3. Linux课程实践一:Linux基础实践(SSH)

    一.SSH服务 1. 安装SSH (1)查看是否已经安装过ssh服务 rpm -qa |grep ssh (2)进行安装 sudo apt-get install openssh-server Ubu ...

  4. 还是不想改报告,伊阿忆啊哟-Linux基础继续

    hi 虽然今天是最最美好的周六(前不着工作日后不着工作日),但老子还要来改报告,但额就是不想改,你拿我有啥办法啊... 争取完结Linux基础 一.Linux常用命令(三) 4.帮助命令 4.1 帮助 ...

  5. 原来今天是感恩节-Linux基础继续&MySQL和PHP

    hi 原来今天是感恩节.虽然一直没有过这个节日的习惯,但仅仅是听到感恩的消息,都能想到一幅幅画面.愿大家安好! 下午开题会议还是有所收获,悄悄的,就变向那个不喜欢自己的人了. 一.Linux基础(二) ...

  6. 买错的电影票,含着泪也得看-LAMP搭建&Linux基础

    hi 没说过,上周五室友过生请客,在龙湖里吃嗨了喝爽了,回去的路上侃侃而谈.说好的这周一起去看年内最后的大片,火星救援的,谁知道老子眼神不好,买错了电影的时间...把周六的约定提前到了今儿个下午,ma ...

  7. Linux基础3(文件权限)

    文件权限 1.普通权限 (登陆用户对文件或目录的读写执行的权限) 普通权限对管理员用户无效 文件和目录 都有4中类型的用户u 所有者 : 文件.目录的创建者g 所属组 : 文件.目录属于的用户组o 其 ...

  8. Linux课程实践一:Linux基础实践(基础操作)

    一.软件源维护 1. 基本操作 (1)查看源列表 sudo vim /etc/apt/sources.list deb:二进制软件安装包 deb-src:源码包 (2)备份软件源列表 sudo cp ...

  9. 实践一:Linux基础实践

    一.Linux基础实践 1.1 1. 掌握软件源的维护方法,配置系统使用软件源镜像.掌握通过软件源来查找,安装,卸载,更新软件的方法. 这部分内容在许多学长学姐的报告里都有很详细的讲解,我在此就不赘述 ...

  10. Linux基础精华

    Linux基础精华 (继续跟新中...) 常用命令: Linux shell 环境 让你提升命令行效 率的 Bash 快捷键 [完整版] 设置你自己的liux alias Linux的Find使用 L ...

随机推荐

  1. django学习笔记 多文件上传

    习惯了flask 再用django 还是不太习惯  好麻烦 配置文件也忒多了 不过还是要学的 之前只能一个一个文件长传,这次试试多个文件 不适用django的forms创建表单 直接在html中使用 ...

  2. MATLAB神经网络(4) 神经网络遗传算法函数极值寻优——非线性函数极值寻优

    4.1 案例背景 \[y = {x_1}^2 + {x_2}^2\] 4.2 模型建立 神经网络训练拟合根据寻优函数的特点构建合适的BP神经网络,用非线性函数的输入输出数据训练BP神经网络,训练后的B ...

  3. 032.核心组件-kube-proxy

    一 kube-proxy原理 1.1 kube-proxy概述 Kubernetes为了支持集群的水平扩展.高可用性,抽象出了Service的概念.Service是对一组Pod的抽象,它会根据访问策略 ...

  4. let和var在for循环中的不同表现

    var声明变量: var只有函数作用域,没有块级作用域 //函数作用域的表现 function test(){ var i =10; console.log(i); } test(); console ...

  5. yarn报错error An unexpected error occurred:****ETIMEDOUT

    起因 在一个美好的下午,我敲击键盘输入quasar create Tangerine_Reception 我自豪的使用yarn作为包管理器,本以为万事无忧,不用担心出现npm的种种异常了...... ...

  6. 聊聊count(*)

    count(*) 的实现方式 MyISAM 引擎把一个表的总行数存在了磁盘上,因此执行 count(*) 的时候会直接返回这个数,效率很高 InnoDB 引擎就麻烦了,它执行 count(*) 的时候 ...

  7. 创建 VuePress + GithubPages + TravisCI 在线文档

    目录 最终效果 思路 总体 过程 用到的东西 相关 创建Github仓库 创建Github仓库 SSH密钥链接Github 生成SSH密钥 Github添加SSH密钥 测试SSH密钥 配置VuePre ...

  8. 面向对象第三单元博客(JML)

    // demo/Graph.java package demo; ​ import java.util.ArrayList; ​ public class Demo { /*@ public norm ...

  9. Linux软件安装之JDK的安装

    JDK的安装 1.1. 下载JDK,此处版本是1.8u131,实际操作以自己具体版本为准 先查看Linux系统是多少位(32位/64位):getconf LONG_BIT 然后去官网下载JDK [jd ...

  10. canvas绘制流星雨特效

    源码: <!DOCTYPE html><html> <head> <meta charset="utf-8"> <meta n ...