zoukankan      html  css  js  c++  java
  • CentOS 7 :Failed to start IPv4 firewall with iptables.

    用iptables开启防火墙报错: Failed to start  IPv4 firewall with iptables.

    转载于:https://blog.csdn.net/ls1645/article/details/78750561

        错误原因:因为centos7.0默认不是使用iptables方式管理,而是firewalld方式。CentOS6.0防火墙用iptables管理。

            解决办法有两个:使用firewalld方式。或者关闭firewalld,然后安装iptables。

    一、关闭firewalld,安装iptables过程:

    停止并屏蔽firewalld:

      

      systemctl stop firewalld

      systemctl mask firewalld

    安装iptables-services:

      

      yum install iptables-services

    设置开机启动:

      systemctl enable iptables

    停止/启动/重启 防火墙:

    systemctl [stop|start|restart] iptables

    #or

    service iptables [stop|start|restart]

    保存防火墙配置:

    service iptables save

    #or

    /usr/libexec/iptables/iptables.init save

         按照上述命令配置后的界面:

    二、从iptables切换回firewalld

        1、先看firewalld的状态:inactive

         

        2、安装firewalld

       3、切换到firewalld,切换过程与切换iptables一样

    /************下面是iptables的一些命令*******************************/

    查询防火墙状态:

    [root@localhost ~]# service  iptables status

    停止防火墙:

    [root@localhost ~]# service  iptables stop 

    启动防火墙:

    [root@localhost ~]# service  iptables start 

    重启防火墙:

    [root@localhost ~]# service  iptables restart 

    永久关闭防火墙:

    [root@localhost ~]# chkconfig  iptables off 

    永久关闭后启用:

    [root@localhost ~]# chkconfig  iptables on

    开启端口:

    [root@localhost ~]# vim/etc/sysconfig/iptables

    /**********下面是firewalld的一些命令*****************************/

    #systemctl statusfirewalld  //查看状态,看电脑上是否已经安装firewalld

    #yum installfirewalld  //安装firewalld防火墙

    #systemctl startfirewalld.service   //开启防火墙

    #systemctl stop firewalld.service  //关闭防火墙

    #systemctl enable firewalld.service //设置开机自动启动

    #systemctl disable firewalld.service  //设置关闭开机制动启动

    #firewall-cmd--reload  //在不改变状态的条件下重新加载防火墙

    启用某个服务

    #firewall-cmd --zone=public --add-service=https  //临时

    #firewall-cmd --permanent --zone=public --add-service=https  //永久

    开启某个端口

    #firewall-cmd--permanent --zone=public --add-port=8080-8081/tcp  //永久

    #firewall-cmd  --zone=public --add-port=8080-8081/tcp   //临时

    查看开启的端口和服务

    #firewall-cmd--permanent --zone=public --list-services   //服务空格隔开 例如 dhcpv6-client https ss  

    #firewall-cmd--permanent --zone=public --list-ports //端口空格隔开  例如 8080-8081/tcp 8388/tcp 80/tcp

    #systemctl restartfirewalld.service  //修改配置后需要重启服务使其生效

    #firewall-cmd--zone=public --query-port=8080/tcp //查看服务是否生效(例:添加的端口为8080)

    /**********下面是systemctl的一些命令*******************************/

            观察iptables和firewalld使用的两组命令,发现三个常用的命令:service、chkconfig、systemctl。那么它们分别是做什么的呢?(去网上搜索了一下给出了答案)

            systemctl命令是系统服务管理器指令,它实际上将 service 和 chkconfig 这两个命令组合到一起。

    任务

    旧指令

    新指令

    使某服务自动启动

    chkconfig --level 3 httpd on

    systemctl enable httpd.service

    使某服务不自动启动

    chkconfig --level 3 httpd off

    systemctl disable httpd.service

    检查服务状态

    service httpd status

    systemctl status httpd.service(服务详细信息) 

    systemctl is-active httpd.service(仅显示是否 Active)

    显示所有已启动的服务

    chkconfig --list

    systemctl list-units --type=service

    启动某服务

    service httpd start

    systemctl start httpd.service

    停止某服务

    service httpd stop

    systemctl stop httpd.service

    重启某服务

    service httpd restart

    systemctl restart httpd.service

    总结:

            记是记不住的,实操才可以,熟能生巧。

            抓住一个问题,深入去挖,往往能挖出一片,从而扫清一片盲点。深挖能出清泉。

    参考文章: 

    https://www.vkilo.com/rhel-7-iptables-service.html

    http://blog.csdn.net/Joe68227597/article/details/75207859 

    http://www.linuxidc.com/Linux/2012-06/63111.html

    http://man.linuxde.net/systemctl

  • 相关阅读:
    14.3 Go iris
    14.2 Go性能优化
    14.1 Go数据结构
    13.3 Go章节练习题
    13.2 Go练习题答案
    13.1 Go练习题
    12.1 Go nsq
    11.3 Go 开发博客
    11.2Go gin
    11.1 Go Http
  • 原文地址:https://www.cnblogs.com/MisterZZL/p/9534288.html
Copyright © 2011-2022 走看看