zoukankan      html  css  js  c++  java
  • CentOS 7防火墙服务FirewallD指南

    CentOS 7防火墙服务FirewallD指南

    作者:chszs,未经博主同意不得转载。经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs

    防火墙是一种位于内部网络与外部网络之间的网络安全系统。

    一项信息安全的防护系统。按照特定的规则,同意或是限制传输的数据通过。防火墙通常工作在网络层。也即IPv4或IPv6的IP包上。

    是否同意包通过防火墙,取决于防火墙配置的规则。这些规则既能够是内建的,也能够是用户自己定义的。

    每一个包要进出防火墙,均须要满足防火墙配置的规则。

    每一条规则均有一个目标动作,具有同样动作的规则能够分组在一起。对于Linux系统。最经常使用的防火墙有:FirewallD或iptables。Linux的发行版种类极多,可是公认的仍然是这两种。

    1、什么是FirewallD

    FirewallD即Dynamic Firewall Manager of Linux systems,Linux系统的动态防火墙管理器。

    FirewallD是一个服务。用于配置网络连接。从而哪些内外部网络的数据包能够同意穿过网络或阻止穿过网络。

    FirewallD同意两种类型的配置:永久类型和执行时类型。

    执行时类型的配置在防火墙被重新启动后会丢失对应的规则配置;而永久类型的配置即使遇到系统重新启动,也会保留生效。

    对应于上面两种类型的配置,FirewallD对应的有两个文件夹:针对执行时类型配置的文件夹/usr/lib/firewall;以及针对永久类型配置的文件夹/etc/firewall.在RHEL/CentOS 7或Fedora 18的默认服务能够看到。

    防火墙栈的总体图例如以下:
    这里写图片描写叙述

    2、什么是iptables

    iptables是还有一种服务,它能够决定是否同意、删除或返回IP数据包。iptables服务管理IPv4数据包,而ip6tables则管理IPv6数据包。此服务管理了一堆规则表,当中每一个表分别用于维护不同的目的,比方过滤表(filter table)为防火墙规则,NAT表供新连接查询使用,mangle表用于数据包的转换等。

    更进一步,每一个表还具有规则链,规则链能够是内建的或是用户自己定义的,它表示适用于一个数据包的规则集合,从而决定数据包应该执行哪些目标动作。比方同意ALLOWED、堵塞BLOCKED或返回RETURNED。

    iptables服务在RHEL/CentOS 6/5、Fedora、ArchLinux、Ubuntu等Linux发行版中是系统默认的服务。

    3、FirewallD服务的基本操作

    对于CentOS/RHEL 7或Fedora 18以上版本号的系统,要管理FirewallD服务。使用例如以下命令。

    启动FirewallD服务

    # systemctl firewalld start
    

    停止FirewallD服务

    # systemctl firewalld stop
    

    检查FirewallD服务的状态

    # systemctl status firewalld
    

    检查FirewallD服务的状态

    # firewall-cmd --state
    

    可能会返回running。表示正在执行。

    还能够禁用FirewallD服务。关闭那些规则。

    禁用FirewallD服务

    # systemctl disable firewalld
    

    启用FirewallD服务

    # systemctl enable firewalld
    

    屏蔽FirewallD服务

    # systemctl mask firewalld
    

    还能够通过创建一个firewall.service到/dev/null的符号连接来屏蔽防火墙服务。

    反屏蔽FirewallD服务

    # systemctl unmask firewalld
    

    这是反屏蔽FirewallD服务,它会移除屏蔽FirewallD服务时创建的符号链接。故能又一次启用服务。

    检查是否已安装防火墙

    # yum install firewalld firewall-config
    

    4、iptables服务的基本操作

    在RHEL/CentOS 6/5/4系统和Fedora 12-18系统中。iptables是默认的防火墙,假设服务不存在,能够这样安装:

    # yum install iptables-services
    

    然后就能够对iptables服务进行启动、停止、重新启动等操作了。

    启动iptables服务

    # systemctl start iptables
    

    # service iptables start
    

    停止iptables服务

    # systemctl stop iptables
    

    # service iptables stop
    

    禁用iptables服务

    # systemctl disable iptables
    

    # service iptables save
    # service iptables stop
    

    启用iptables服务

    # systemctl enable iptables
    

    # service iptables start
    

    检查iptables服务的状态

    # systemctl status iptables
    

    # service iptables status
    

    在Ubuntu及其它Linux发行版中。ufw是用于管理iptables防火墙服务的工具。

    ufw提供了一个简易的界面让用户能够非常方便的处理iptables防火墙服务。

    启用ufw iptables防火墙服务

    $ sudo ufw enable
    

    禁用ufw iptables防火墙服务

    $ sudo ufw disable
    

    检查ufw iptables防火墙服务的状态

    $ sudo ufw status 
    

    可是。假设想列出iptables包括的全部规则链列表,应使用例如以下命令:

    $ iptables -L -n -v
    

    5、理解网络区

    在CentOS/RHEL 7系统中。基于用户对网络中设备和通信所给与的信任程度,防火墙可用于将网络划分成不同的区域,区域类型例如以下:

    • drop(丢弃)
      不论什么接收的网络数据包都被丢弃,没有不论什么回复。仅能有发送出去的网络连接。
    • block(限制)
      不论什么接收的网络连接都被 IPv4 的 icmp-host-prohibited 信息和 IPv6 的 icmp6-adm-prohibited 信息所拒绝。

    • public(公共)
      在公共区域内使用,不能相信网络内的其它计算机不会对您的计算机造成危害,只能接收经过选取的连接。
    • external(外部)
      特别是为路由器启用了伪装功能的外部网。您不能信任来自网络的其它计算机,不能相信它们不会对您的计算机造成危害。只能接收经过选择的连接。

    • dmz(非军事区)
      用于您的非军事区内的电脑,此区域内可公开訪问,能够有限地进入您的内部网络,只接收经过选择的连接。
    • work(工作)
      用于工作区。

      您能够基本相信网络内的其它电脑不会危害您的电脑。只接收经过选择的连接。

    • home(家庭)
      用于家庭网络。

      您能够基本信任网络内的其它计算机不会危害您的计算机。

      只接收经过选择的连接。

    • internal(内部)
      用于内部网络。您能够基本上信任网络内的其它计算机不会威胁您的计算机。只接受经过选择的连接。

    • trusted(信任)
      可接受全部的网络连接。

    对于区域的改动。可使用网络管理器NetworkManager搞定。

    5、理解直接接口

    FirewallD包括了一个名为直接接口(direct interface)的概念,意思是能够直接通过iptables、ip6tables和ebtables的规则。直接接口适用于应用程序,不适用于用户。

    假设不熟悉iptables,那么使用直接接口是非常危急的。由于可能会导致防火墙被入侵。

    FirewallD保持对所添加规则项的追踪,所以能质询FirewallD。发现由使用直接port模式的程序造成的更改。要使用直接port。添加–direct选项到firewall-cmd命令来使用。

    6、改用iptables服务

    在CentOS/RHEL 7系统中,要用iptables和ip6tables服务取代FirewallD服务,须要以root身份执行下面命令,先禁用FirewallD:

    # systemctl disable firewalld
    # systemctl stop firewalld
    

    然后安装iptables-services程序包,以root身份输入下面命令:

    # yum install iptables-services
    

    iptables-services程序包包括了iptables和ip6tables服务。然后。以root身份执行iptables和ip6tables命令:

    # systemctl start iptables
    # systemctl start ip6tables
    # systemctl enable iptables
    # systemctl enable ip6tables
    

    7、启动图形化防火墙设置工具

    用命令行启动图形化防火墙配置工具。则以root用户身份输入下面命令:

    # firewall-config
    

    能够看到例如以下界面:
    这里写图片描写叙述

  • 相关阅读:
    mysql给数据库字段赋值为随机数
    利用lList集合中的subList进行分页
    redis中分页缓存数据
    ios账号第三方登录,判断是否是Ios账号
    通过ip查询ip地址
    MySQL
    排序算法
    139. 单词拆分
    138. 复制带随机指针的链表
    137. 只出现一次的数字 II
  • 原文地址:https://www.cnblogs.com/cynchanpin/p/7169012.html
Copyright © 2011-2022 走看看