一、防火墙基础知识

iptables/netfilter:网络防火墙,连接追踪(状态检测)

netfilter:工作内核中,让规则能够生效的网络框架(framework)

iptables:防火墙规则编写工具,工作与用户空间,编写规则并且发送到netfilter

所有的规则都在hook_function的函数中

PREROUTING:mangle、nat

INPUT:filter、mangle

OUTPUT:filter、nat、mangle

FORWARD:filter、mangle

POSTROUTING:mangle、nat

过滤:筛选

NAT:Network Address Translation(地址转换)

DNAT(目标地址转换)

SNAT(原地址转换)

mangle

raw

四表:filter、nat、mangle、raw

五链:PREROUTING、INPUT、FORWARD、OUTPUT、POSTROUTING

表和链的对应关系:

filter:INPUT、FORWARD、OUTPUT

nat:PREROUTING、OUTPUT、POSTROUTING

mangle:PREROUTING、INPUT、FORWARD、OUTPUT、POSTROUTING

规则:检查条件,处理机制

防火墙的策略:通(默认为堵,只对能识别的进行放行)

堵(默认为通,只对能识别的进行阻截)

检查条件:

IP:SIP,DIP

TCP:SPORT,DPORT,Flags(ACK,SYN,FIN,RST,PSH,URG)

UDP:SPORT,DPORT

ICMP:ICMP-TYPE

扩展机制:

time,string,state(connection-tracking)连接追踪

处理机制

DROP,REJECT,ACCEPT,SNAT,DNAT,RETURN,FORWARD,REDIRECT(端口转发),LOG

二、iptables工具使用说明

iptables [-t table] -N chain

创建一条自定义的规则链

iptables [-t table] -X [chain]

删除一条自定义的空规则链,如果不为空可以先用-F清空再删除

iptables [-t table] -E old-chain-name new-chain-name

修改自定义规则链的名称

iptables [-t table] -P chain target

为链指定默认策略,指定默认规则

iptables [-t table] {-F|-L|-Z} [chain [rulenum]] [options...]

-F:清空链中的规则

规则有编号,在链中自上而下,从1开始;

-L:list,列出表中的所有规则;

  -n:数字格式显示IP和Port

  -v:显示详细信息

  pkts bytes target prot opt in out source destination

    pkts:packets,被本规则所匹配到的报文的个数

    bytes:被本规则所匹配到的所有报文的大小之和,单位字节

    target:目标,即处理机制

    prot:协议,一般为{TCP|UDP|ICMP}

    opt:可选项

    in:数据包的流入接口

    out:数据包的流出接口

    source:源地址

    destination:目标地址

  -vv:显示更详细信息

  -vvv:显示更更详细信息

  -x:exactly:精确值,不执行单位换算

  --line-numbers:显示个规则的行号

-Z:zero,清零

iptables [-t table] {-A|-D} chain rule-specification

-A:append,附加一条规则

  rule-specification

  匹配条件 -j 处理机制

  匹配条件:

   通用匹配:

   -s|--src|--source: 匹配原地址,可以IP,也可以网络地址;可以使用!取反, ! 192.168.1.0/24

    -d|--dst|--destination:匹配目标地址,可以IP,也可以网络地址;可以使用!取反, ! 192.168.1.0/24

    -p:匹配协议,通常只是用{TCP|UDP|ICMP}三者之一

    -i:数据报文流入的接口,通常只用于INPUT,FORWARD和 PREROUTING

     -o:数据报文流出的接口,通常只用于OUTPUT,FORWARD和POSTROUTING

删除规则:

iptables [-t table] -D chain rulenum

插入规则:

iptables [-t table] -I chain [rulenum] rule-specification

替换指定规则:

iptables [-t table] -R chain rulenum rule-specification

只显示指定链上的规则添加命令:

iptables [-t table] -S [chain [rulenum]]

保存规则:

  service iptables save

  规则会被保存至/etc/sysconfig/iptables文件中

  start时也会读取此文件中的内容以设置规则

  保存规则

  # iptables-save > /path/to/some_rulefile

  重新生效规则

  # iptables-restore < /path/to/some_rulefile

Linux防火墙简介及iptables的基本使用的更多相关文章

  1. Linux防火墙简介 – iptables配置策略

    Linux防火墙简介 – iptables配置策略 Netfilter/iptables简介 要想真正掌握Linux防火墙体系,首先要搞清楚Netfilter和iptables的关系,Netfilte ...

  2. LINUX防火墙firewall、iptables

    (1) 重启后永久性生效: 开启: systemctl enable iptables.service'.ln -s '/usr/lib/systemd/system/iptables.service ...

  3. Linux防火墙firewall和iptables的使用

    防火墙是整个数据包进入主机前的第一道关卡. Linux中有两种防火墙软件,ConterOS 7.0以上使用的是 firewall,ConterOS 7.0以下使用的是 iptables,本文将分别介绍 ...

  4. Linux 防火墙:Netfilter iptables

    一.Netfilter 简介 (1) Netfilter 是 Linux 内置的一种防火墙机制,我们一般也称之为数据包过滤机制,而 iptables 只是操作 netfilter 的一个命令行工具(2 ...

  5. 7、linux防火墙的使用(iptables)

    7.1.说明: CentOS 7 系统默认的防火墙是 Filewalld.不过,现在应该还有很多用户习惯使用 iptables.本文以 CentOS 7 为例, 说明在 CentOS 7 中如何安装并 ...

  6. Linux 防火墙 开放 端口 iptables

    查看状态:iptables -L -n 方法1.使用iptables开放如下端口/sbin/iptables -I INPUT -p tcp --dport 8000 -j ACCEPT保存/etc/ ...

  7. linux iptables 防火墙简介

    iptables防火墙简介 Netfilter/Iptables(以下简称Iptables)是unix/linux自带的一款优秀且开放源代码的安全自由的基于包过滤的防火墙工具,它的功能十分强大,使用非 ...

  8. linux 防火墙 iptables 目录

    linux iptables 防火墙简介 Linux 防火墙:Netfilter iptables 自动化部署iptables防火墙脚本

  9. linux 防火墙基本使用

    写在最前面 由于工作后,使用的Linux就是centos7 所以,本文记录是是centos7的防火墙使用. 从 centos7 开始,系统使用 firewall 进行防火墙的默认管理工具. 基本使用 ...

随机推荐

  1. 【转】tomcat7性能调优

    注意:调优tomcat需要了解使用的tomcat是什么版本,随着tomcat版本发展有新参数引入,同时有旧参数废弃.本文档以tomcat7为例进行调优 一. 线程池(Thread Pool)优化 编辑 ...

  2. Android事件分发机制(上)

    Android事件分发机制这个问题不止一个人问过我,每次我的回答都显得模拟两可,是因为自己一直对这个没有很好的理解,趁现在比较闲对这个做一点总结 举个例子: 你当前有一个非常简单的项目,只有一个Act ...

  3. EL和JSTL专题

    EL简介 EL全名为Expression Language,它原本是JSTL 1.0为方便存取数据所自定义的语言.当时只能在JSTL标签中使用,如下: <c:out value="${ ...

  4. 关于GridView的第一个item图片加载不出来问题

    首先感谢csdn里的id   大神了没  的博客 地址:http://blog.csdn.net/wenyiqingnianiii/article/details/39291667 原因在positi ...

  5. 排序系列 之 直接插入排序算法 —— Java实现

    直接插入排序算法 基本思想: 把n个待排序的元素看成一个有序表和一个无序表,开始时有序表中只有一个元素,无序表中有n-1个元素:排序过程即每次从无序表中取出第一个元素,将它插入到有序表中,使之成为新的 ...

  6. HTTP2试用小记

    原文:https://www.clarencep.com/2016/11/17/upgrade-nginx-to-support-http2/ 这两天把公司的网站升级到了全站https. 顺便瞄到了H ...

  7. opensuse 13.1 安装配置从0开始

    主要目的为自己留作备份,仅作参考! 1. 输入法 托盘->输入法->配置 去掉除英语和Sunpinyin之外的输入法,配置Sunpinyin,使用双拼方案,重启fcitx. 另外需要禁用笔 ...

  8. UE4 UriEncode 问题

    当Uri 路径中带中文字符时,需要进行编码 否则会照成不可预见错误: FString temp = FGenericPlatformHttp::UrlEncode(queryStr); FString ...

  9. 深入理解css系列:清除浮动

    如果出现div嵌套,内层元素浮动,而外层包裹的父元素div未设置高度的时候,那么会出现外层不能被撑开的情况. HTML标签代码: <div class="wrap"> ...

  10. android Intent的常用flags

    首先,我们常见的由MainActivity跳转到另外一个Main1Acticity的代码: Intent mIntent=new Intent(MainActivity.this, Main1Acti ...