zoukankan      html  css  js  c++  java
  • centos7 iptables和firewalld学习记录

    centos7系统使用firewalld服务替代了iptables服务,但是依然可以使用iptables来管理内核的netfilter

    但其实iptables服务和firewalld服务都不是真正的防火墙,只是用来定义防火墙规则功能的管理工具,将定义好的规则交由内核中的netfilter(网络过滤器来读取)从而实现真正的防火墙功能

    在iptables命令中设置数据过滤或处理数据包的策略叫做规则,将多个规则合成一个链。

    常见的控制类型

    ACCEPT 允许通过

    LOG  记录日志信息,然后传给下一条规则继续匹配

    REJECT  拒绝通过,必要时给出提示

    DROP  直接丢弃,不给出任何回应。

    规则链则依据处理数据包的位置不同而进行分类

    PREROUTING进行路由选择前处理数据包

    INPUT  处理入站数据包

    OUTPUT  处理出站数据包

    FORWARD  处理转发的数据包

    POSTROUTING  在进行路由选择后处理数据包

    iptables中的规则表是用于容纳规则链,规则表默认是允许状态的,那么规则链就是设置被禁止的规则,而反之如果规则表是禁止状态的,那么规则链就是设置被允许的规则。

    raw表:确定是否对该数据包进行状态跟踪

    mangle表:为数据包设置标记

    nat表:修改数据包中的源,目标IP地址或端口

    filter表:确定是否放行该数据包(过滤)

    规则表的先后顺序:raw-mangle-nat-filter

     规则链的先后顺序:

    入站顺序:PREROUTING-INPUT

    出站顺序:OUTPUT-POSTROUTING

    转发顺序:PREROUTING-FORWARD-POSTROUTING

    注意事项

    没有指定规则表则默认指filter表。

    不指定规则链则指表内所有的规则链。

    在规则链中匹配规则时会依次检查,匹配即停止(LOG规则除外),若没匹配项则按链的默认状态处理。

    基本的命令参数

    iptables命令用于管理防火墙的规则策略,格式为:“iptables [-t 表名] 选项[链名][条件]  [-j 控制类型]”不指定表,默认netfilter

     

    禁止所有的ping操作

    iptables -I INPUT -p icmp -j DROP

    firewalld防火墙

    区域规则

     

    firewall-cmd

    很多人因为防火墙的设置太繁杂,所以经常直接systemctl stop firewalld关闭防火墙。

    其实这样是不安全的,关闭防火墙之后,不法分子就可以轻易的攻击服务器了。

    下面我以开启http为例子,展示如何让http能通过防火墙

    firewall-cmd --list-all获取当前的防火墙规则

    我的是dmz

    firewall-cmd --add-service=http

    如果是success,那么服务器上的http服务就能通过防火墙了。但是只是暂时的。

    firewall-cmd --permanent --zone=dmz --add-service=http

    如果是开放某个端口

    firewall-cmd --permanent --zone=dmz --add-port=xxx/tcp

  • 相关阅读:
    C++中使用stringstream进行类型转换操作
    代理模式
    观察者模式 VS 责任链模式
    10.模板方法模式
    2.里氏替换原则
    单一职责原则
    规格模式
    策略模式的扩展——策略枚举
    策略模式 VS 桥梁模式
    原型模式【下】
  • 原文地址:https://www.cnblogs.com/lgh344902118/p/7169006.html
Copyright © 2011-2022 走看看