• firewalld防火墙详解


    firewalld简述
    firewalld:防火墙,其实就是一个隔离工具:工作于主机或者网络的边缘
    对于进出本主机或者网络的报文根据事先定义好的网络规则做匹配检测,
    对于能够被规则所匹配的报文做出相应处理的组件(这个组件可以是硬件,也可以是软件):
    • 主机防火墙
    • 网络防火墙
     
     
    功能(也叫表)
    filter:过滤,防火墙
    nat:network address translation,网络地址转换
    mangle:拆分报文,做出修改,在封装起来
    raw:关闭nat表上启用的连接追踪功能
     
    链(内置):
    PREROUTING
    INPUT
    FORWARD
    OUTPUT
    POSTROUTING
     
    数据报文的流向
    流入:PREROUTING --> INPUT
    流出:OUTPUT --> POSTROUTING
    转发:PREROUTING --> FORWARD --> POSTROUTING
     
    各功能可以在哪些链上实现
    filter: INPUT,FORWARD,OUTPUT
    nat:PREROUTING(DNAT),OUTPUT,INPUT,POSTROUTING(SNAT)
    mangle: PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING
    raw:PREROUTING,OUTPUT
     
    路由发生的时刻(PREROUTING,POSTROUTING)
    报文进入本机后:
      判断目标主机
    报文发出之前:
      判断经由哪个借口送往下一跳
     
    添加规则时的考量点
    (1)要实现什么功能:判断添加在哪张表上;
    (2)报文流经的路径:判断添加在哪个链上;
    firewalld优先级
    策略应用优先级:raw, mangle, nat, filter
    策略常用优先级:filter,nat,mangle,raw
    链管理
    -F: flush,清空规则链:省略链,表示清空指定表上的所有的链
    -N: new,  创建新的自定义规则链:
    -X: drop, 删除用户自定义的空的规则链-P: Policy, 为指定链这是默认策略,对filter表中的链而言,默认策略通常有ACCEPT,DROP,REJECT;
    规则管理
    -A:append,将新规则追加于指定链的尾部
    -I:insert,将新规则插入至指定链的指定位置
    -D:delete,删除指定链上的指定规则:
    查看防火墙策略
    -L:list, 列出指定链上的所有规则:
    -n:number,以数字格式显示地址和端口号
    -v:verbose,显示详细信息
      -vv,-vvv
    --line-numbers:显示规则编号:
    匹配条件
    -s, source:检查报文中源ip地址是否符合此处指定的地址范围
    -d, destination:检查报文中ip地址是否符合此处指定的地址范围
    -p, protocol(udp|tcp|icmp):检查报文中的协议
    -i, input-interface:数据报文的流入接口:仅能用于PREROUTING,INPUT,FORWARD链上
    -o, out-interface:数据报文的流出接口:仅能用于POSTROUTING,OUTPUT,FORWARD链上
     -j target:jump至指定的target
     ACCEPT:接受
     DROP:丢弃
     REJECT:拒绝
     RETURN:返回调用链
     REDIRECT:端口重定向
     LOG:记录日志
     MARK:做防火墙标记
     DNAT:目标地址转换
     SNAT:源地址转换
     MASQUERADE:地址伪装
     ....
     自定义链:由自定义链中的的规则进行匹配
     
    例子
    filter表:
    清空所有策略:                                        iptables -F
    清空自定义链:                                        iptables -X
    自定义一个链                                        iptables -N old_forward
    修改自定义链的名字                                    iptables -E old_forward new_forward
    把filter中forward链的默认策略打成drop                  iptables -P FORWARD DROP               
    查看filter表中的策略并且显示行数:                      iptables -L -n --line-number   
    删除filter表中forward链中的第9条策略:                 iptables -t filter -D FORWARD 9



    限制所有主机(0.0.0.0)拒绝ping本主机                    iptables -t filter -A INPUT -s 0.0.0.0 -d 192.168.254.24 -p icmp -j REJECT   
    显示所有主机(0.0.0.0)拒绝通过ens33网卡ping本主机       iptables -t filter -A INPUT -d 192.168.254.24 -i ens33 -p icmp -j REJECT
     nat表:
       #源地址为192.168.250.0网段的ip地址经过防火墙都转换成192.168.31.100这个ip地址(SNAT:源地址转换)
        iptables -t nat -A POSTROUTING -s 192.168.250.0/24 -j SNAT --to-source 192.168.31.100
       
        #访问目标地址为192.168.31.200这个机器并且是tcp协议80号端口的都转发给192.168.250.1(DNAT目标地址转换)
        iptables -t nat -A PREROUTING -d 192.168.31.200 -p tcp --dport 80 -j DNAT --to-destination 192.168.250.1:80

        #访问目标地址为192.168.31.200这个机器并且是tcp协议80号端口的都转发给192.168.31.100的9999号端口(DNAT目标端口地址转换)
        iptables -t nat -A PREROUTING -d 192.168.31.200 -p tcp --dport 80 -j DNAT --to-destination 192.168.31.100:9999

    人生一世,草木一秋。 众生无我,苦乐随缘。
  • 相关阅读:
    HTML5的结构
    关于本Blog
    Luogu2568 GCD
    CH5102 Mobile Service
    Luogu3146 [USACO16OPEN]248
    Mobile Service
    23、Echarts拓扑图、D3拓扑图
    22、startAngle: 85-88、ECharts之仪表盘、仪表盘镂空且导入外来图片、品牌车、不等距折线图、图片右侧空白再出图片、心电图、多数据单环、单数据单环、单数据双环、饼图效果、经纬度、10年经济指标(无局部放大)
    21、angular1之分页组件(包含在复杂弹窗组件里,分页组件包含勾选、过滤、拖拽、翻页记忆、请求服务、转圈服务、简单弹窗组件、插槽ng-transclude)
    19、angular1全局方法、五种服务类型、过滤、重要指令(ng-)、单选框|复选框|下拉框三者联合案例展示、下拉表格嵌套、子组件向父组件传值、directive自定义标签、获取不到新value、[].forEach|$.each|angular.forEach用法示例、undefined+1、ui.router路由模块、ui.router实际执行步骤、jqLite的API参考、前端路由、类
  • 原文地址:https://www.cnblogs.com/hao6/p/12863567.html
Copyright © 2020-2023  润新知