zoukankan      html  css  js  c++  java
  • Centos 的防火墙(firewalld,iptables)

    Centos系统防火墙介绍

    概述:
      1.Filewalld(动态防火墙)作为redhat7系统中变更对于netfilter内核模块的管理工具;
      2.iptables service 管理防火墙规则的模式(静态):用户将新的防火墙规则添加进 /etc/sysconfig/iptables 配置文件当中,再执行命令 /etc/init.d/iptables reload 使变更的规则生效。在这整个过程的背后,iptables service 首先对旧的防火墙规则进行了清空,然后重新完整地加载所有新的防火墙规则,如果加载了防火墙的模块,需要在重新加载后进行手动加载防火墙的模块;
      3.firewalld 管理防火墙规则的模式(动态):任何规则的变更都不需要对整个防火墙规则列表进行重新加载,只需要将变更部分保存并更新到运行中的 iptables 即可;还有命令行和图形界面配置工具,它仅仅是替代了 iptables service 部分,其底层还是使用 iptables 作为防火墙规则管理入口。

      Centos7以前的系统版本默认使用iptables服务来管理防火墙,Centos7系统及以后使用firewalld服务替代了iptables服务,但是依然可以使用iptables来管理内核的netfilter。其实iptables服务和firewalld服务都不是真正的防火墙,只是用来定义防火墙规则功能的管理工具,将定义好的规则交由内核中的netfilter(网络过滤器来读取)从而实现真正的防火墙功能。

      参考:https://blog.csdn.net/xiazichenxi/article/details/80169927

    FireWalld服务

    介绍:

    1. 工具名称:firewalld
    2. firewalld的服务名称:firewalld
    3. firewalld的操作工具:firewall-cmd

    使用:

    1.安装firewalld:

    yum -y install firewalld 
    #需要安装图形化界面时,安装firewalld-config
    yum -y install firewalld-config

    2.配置开机启动:

    #开机启动
    systemctl enable firewalld 
    #禁止启动
    systemctl disable firewalld 

    3.启动firewalld:

    #启动firewalld
    systemctl start firewalld 
    #停止firewalld
    systemctl stop firewalld 
    #重启firewalld
    systemctl restart firewalld 
    

    4.配置文件

    #直接修改配置文件 
    /lib/firewalld/  用于默认和备用配置 
    /etc/firewalld/ 用于用户创建和自定义配置文件 覆盖默认配置 
    /etc/firewalld/firewall.conf 全局配置
    

    Firewall-Cmd常用命令

    #帮助命令
    firewall-cmd --version 查看firewalld版本
    firewall-cmd --help 查看firewall-cmd用法
    man firewall-cmd
    
    #查看状态
    firewall-cmd --state #查看firewalld的状态
    systemctl status firewalld #查看firewalld的状态,详细
    
    firewall-cmd --reload 重新载入防火墙配置,当前连接不中断
    firewall-cmd --complete-reload 重新载入防火墙配置,当前连接中断
    
    #添加服务或者端口
    firewall-cmd --get-services 列出所有预设服务
    firewall-cmd --list-services 列出当前服务
    firewall-cmd --permanent --zone=public --add-service=smtp 启用服务
    firewall-cmd --permanent --zone=public --remove-service=smtp 禁用服务
    firewall-cmd --zone=public --list-ports 
    firewall-cmd --permanent --zone=public --add-port=8080/tcp 启用端口, --permanent 表示永久有效的配置, --zone表示配置的是公共区域
    firewall-cmd --permanent --zone=public --remove-port=8080/tcp 禁用端口
    运行时配置和永久配置
    firewall-cmd –zone=public –add-service=smtp 运行时配置,重启后失效
    firewall-cmd –permanent –zone=public –add-service=smtp 永久配置,不影响当前连接,重启后生效
    firewall-cmd –runtime-to-permanent 将运行时配置保存为永久配置
    #区域命令 firewall-cmd --get-zones 查看所有可用区域 firewall-cmd --get-active-zones 查看当前活动的区域,并附带一个目前分配给它们的接口列表 firewall-cmd --list-all-zones 列出所有区域的所有配置 firewall-cmd --zone=work --list-all 列出指定域的所有配置 firewall-cmd --get-default-zone 查看默认区域 firewall-cmd --set-default-zone=public 设定默认区域


     Iptables服务

    如果想使用iptables配置防火墙规则,要先安装iptables并禁用firewalld

    1.安装iptables
    yum install iptables-services
    
    2.配置文件路径:
    /etc/sysconfig/iptables
    
    3.查看防火墙开启的端口详情列表:
    iptables -vnL
    
    4.重启iptables
    service iptables restart
    #重启防火墙使配置文件生效
    systemctl restart iptables.service
    
    5.关闭iptables
    service iptables stop
    systemctl stop iptables.service
    
    6.设置iptables防火墙为开机启动项
    systemctl enable iptables.service
    systemctl disable iptables.service
    开机启动方式:
    vi /etc/rc.local
    添加命令: iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
    
    7.添加开放端口
    配置文件[/etc/sysconfig/iptables]开启端口:
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
    添加80和3306端口
    -A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
    -A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT
    
    动态命令开启端口:
    iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
    

      

  • 相关阅读:
    去除inline-block出现间距的几种方法
    vscode插件和快捷键
    es6三个点运算符
    jq返回顶部
    jq版轮播图
    js动态操作DOM
    js中的闭包
    es6之箭头函数
    in和hasOwnProperty的区别
    改变this指向的三种方法
  • 原文地址:https://www.cnblogs.com/kancy/p/10412094.html
Copyright © 2011-2022 走看看