zoukankan      html  css  js  c++  java
  • Docker容器必备技能 -- iptables

    Iptables

    介绍

    linux的包过滤功能,即linux防火墙,它由netfilter 和 iptables 两个组件组成。
    netfilter 组件也称为内核空间,是内核的一部分,由一些信息包过滤表组成,这些表包含内核用来控制信息包过滤处理的规则集。
    iptables 组件是一种工具,也称为用户空间,它使插入、修改和除去信息包过滤表中的规则变得容易(服务于四层或四层以下)。

    四表五链(只介绍常用的filter和nat)

    filter表

    filter表主要是过滤数据包的,IPTABLES几乎所有的数据包过滤都在此表中实现的,filter表也是IPTABLES中默认的表,此表中还包含三个链如下:

    1 INPUT链
    2   过滤所有的目标地址是本机的数据包
    3 FORWORD链
    4   过滤所有从本机路过的数据包
    5 OUTPUT链
    6   过滤所有从本机出去的数据包

     nat表

    nat表主要是用于做网络地址转换的(NAT),在iptables中可以做SNAT(源地址转换),DNAT(目标地址转换),PANT(即跟SNAT差不多,不一样的是SNAT的源地址是固定的,而PNAT的源地址是不固定的,当使用ppp或pppoe的方式连接互联网的时候一般适应这个) nat表中包含两个链如下:

    1 PREROUTING链
    2   在数据包到达防火墙的时候改变目标地址 DNAT应用于此链.
    3 OUTPUT链
    4   可以改变本地产生的数据包的目标地址
    5 POSTROUTING链
    6    在数据包离开防火墙的时候改变源地址,SNAT应用于次链

     注意:防火墙的默认规则是最后匹配

    iptables工作流程图

    常用命令

    查看

    iptables -L -n # 查看默认filter表规则详情

    iptables -t filter -L -n --line-number| grep -C 10 INPUT

    添加(所有操作目前只在内存里面,重启就丢失)

    # -A 规则添加到末尾
    iptables -t filter -A INPUT -p tcp --dprot 180 -j DROP

    # -I 默认每次插到首行
    iptables -t filter -I INPUT -p tcp --dport 800 -j DROP
    # -I INPUT 8 也可以指定插到第几行
    iptables -t filter -I INPUT -p tcp --dport 800 -j DROP

    # -i 流量的入口 -s 源地址
    iptables -t filter -A INPUT -i eth0 -s 10.0.0.104 -j DROP

    # ! -s 排除某ip
    iptables -t filter -A INPUT -p tcp -i eth0 ! -s 10.0.0.1 -j DROP

    # 排除指定网段
    iptables -t filter -A INPUT -i eth0 -p tcp ! -s 10.0.0.0/24 -j DROP

    删除

    iptables -F # 清空所有规则,但不包括默认规则

    iptables -t filter -D INPUT -p tcp --dport 180 -j DROP

    iptables -t filter -D INPUT

     默认规则的配置(最后匹配)

    iptables -P INPUT DROP
    加油,你们是最棒的!
  • 相关阅读:
    C/C++ Qt 选择夹TabWidget组件应用
    C/C++ Qt TreeWidget 单层树形组件应用
    C/C++ Qt TreeWidget 嵌套节点操作技巧
    C/C++ Qt ToolBar 菜单栏组件应用
    C/C++ Qt 标准Dialog对话框组件应用
    C/C++ Qt ListWidget 列表框组件应用
    C/C++ Qt QChart 绘图组件应用
    C/C++ Qt 自定义Dialog对话框组件应用
    基于地图开发控件GMap.Net 使用 (六) 中文显示详细街道数据信息
    OpenXml 域变量更新
  • 原文地址:https://www.cnblogs.com/Wshile/p/12524525.html
Copyright © 2011-2022 走看看