• Linux防火墙工具之firewall X


    CentOS7 的防火墙配置跟以前版本有很大区别,CentOS7这个版本的防火墙默认使用的是firewall,与之前的版本Centos 6.x使用iptables不一样

    一、iptables防火墙
    1、基本操作

    # 查看防火墙状态
    
    service iptables status
    
    # 停止防火墙
    
    service iptables stop
    
    # 启动防火墙
    
    service iptables start
    
    # 重启防火墙
    
    service iptables restart
    
    # 永久关闭防火墙
    
    chkconfig iptables off
    
    # 永久关闭后重启
    
    chkconfig iptables on 

     

    2、开启80端口

    vim /etc/sysconfig/iptables
    # 加入如下代码
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
    保存退出后重启防火墙
    
    service iptables restart

    二、firewall防火墙
    1、查看firewall服务状态

    systemctl status firewalld

    出现Active: active (running)切高亮显示则表示是启动状态。

    出现 Active: inactive (dead)灰色表示停止,看单词也行。
    2、查看firewall的状态

    firewall-cmd --state


    3、开启、重启、关闭、firewalld.service服务

    # 开启
    service firewalld start
    # 重启
    service firewalld restart
    # 关闭
    service firewalld stop


    4、查看防火墙规则

    firewall-cmd --list-all 


    5、查询、开放、关闭端口

    # 查询端口是否开放
    firewall-cmd --query-port=8080/tcp
    # 开放80端口
    firewall-cmd --permanent --add-port=80/tcp
    # 移除端口
    firewall-cmd --permanent --remove-port=8080/tcp
    #重启防火墙(修改配置后要重启防火墙)
    firewall-cmd --reload

    批量开房或限制端口

    #批量开放端口,如从9002到9005这之间的端口我们全部要打开
    
    ## 开放
    firewall-cmd --zone-public --add-port=9002-9005/tcp --permanent
    firewall-cmd --reload
    
    ## 限制
    firewall-cmd --zone=public --remove-port=9002-9005/tcp --permanent
    firewall-cmd --reload

    # 参数解释
    1、firwall-cmd:是Linux提供的操作firewall的一个工具;
    2、--permanent:表示设置为持久;
    3、--add-port:标识添加的端口;

    CentOS7 默认使用firewalld防火墙,如果想换回iptables防火墙,可关闭firewalld并安装iptables。

    1、关闭firewall:

    停止firewall
    systemctl stop firewalld.service
    
    禁止firewall开机启动
    systemctl disable firewalld.service
    
    查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
    firewall-cmd --state

    2.安装iptables-services

    yum install iptables-services

    3.修改防火墙配置文件

    vi /etc/sysconfig/iptables

    默认的文件为:

    在修改之前使用telnet命令查看端口是否开放。

    1.启动telnet。控制面板-->程序和功能-->打开或关闭windows功能-->勾选Telnet的两个选项。
    2.打开cmd窗口,输入telnet,如果端口关闭或者无法连接,则显示不能打开到主机的链接,链接失败;端口打开的情况下,链接成功,则进入telnet页面(全黑的),证明端口可用。

    (1)telnet IP 端口。

    (2)telnet 域名 端口。

    如果成功连接会进入的界面

    连接失败

    添加端口80、8080、3306、3690端口:

    esc :wq! 退出保存修改。

    注意:添加在端口22上面或者下面,不要放在最后,不然不起作用。

    4.重启防火墙使配置生效

    systemctl restart iptables.service

    刚刚yum install iptables.service之后系统如果没有重启,iptables.service是找不到的,会报unit not fount。耽误时间的小坑!

    设置防火墙开机启动:

    systemctl enable iptables.service

    需求:

    1.需要指定的ip地址可以访问指定端口

    #允许ip192.168.0.1访问9001端口
    firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.1" port protocol="tcp" port="9001" accept"
    #重新载入一下防火墙设置,使设置生效
    firewall-cmd --reload
    #查看已设置规则
    firewall-cmd --zone=public --list-rich-rules

    2.

    #限制IP为192.168.0.0的地址禁止访问9001端口即禁止访问机器
    firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.0" port protocol="tcp" port="9001" reject"
    firewall-cmd --reload

    3.

    #删除已设置规则
    firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address=" 192.168.0.0" port protocol="tcp" port="9001" accept"
    firewall-cmd --reload

    注意点:

    1.添加或删除端口规则之后,  需要重启防火墙使之生效

    firewadd-cmd --reload

    2.如设置未生效,可尝试直接编辑规则文件,删掉原来的设置规则,重新载入一下防火墙即可

    vi /etc/firewalld/zones/public.xml
  • 相关阅读:
    操作系统的安装与启动基本原理
    Arch linux安装
    18 个最佳代码编辑器/IDE推荐
    2011年排名前七位的Linux操作系统。
    十大流行linux
    Java中浮点型数据Float和Double进行精确计算的问题
    Inside JVM 内存模型
    java常见面试题及答案
    Java内存模型
    虚拟机性能监控与故障处理工具
  • 原文地址:https://www.cnblogs.com/xingxia/p/linux_firewall.html
Copyright © 2020-2023  润新知