zoukankan      html  css  js  c++  java
  • linux 如何关闭防火墙

    linux下如何关闭防火墙?如何查看防火墙当前的状态是开启还是关闭?

    从配置菜单关闭防火墙是不起作用的,索性在安装的时候就不要装防火墙


    查看防火墙状态:
    /etc/init.d/iptables status

    暂时关闭防火墙:
    /etc/init.d/iptables stop

    禁止防火墙在系统启动时启动
    /sbin/chkconfig --level 2345 iptables off

    重启iptables:
    /etc/init.d/iptables restart

    题外话:
    BT或者骡子速度慢用不着关防火墙,只要把相应端口开放就可以了
    在文件
    /etc/sysconfig/iptables
    在系统原始配置的:RH-Firewall-1-INPUT规则链增加类似这样的行:
    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 39764 -j ACCEPT
    -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 39764 -j ACCEPT
    如果发现原有-j REJECT一类的语句,上面两句要放在它的前面

    重启后生效
    开启: chkconfig iptables on
    关闭: chkconfig iptables off   或者 /sbin/chkconfig --level 2345 iptables off

    2) 即时生效,重启后失效

    service 方式
    开启: service iptables start
    关闭: service iptables stop

    iptables方式

    查看防火墙状态:
    /etc/init.d/iptables status

    暂时关闭防火墙:
    /etc/init.d/iptables stop

    重启iptables:
    /etc/init.d/iptables restart

    Linux防火墙配置

    一、比较安全的防火墙设计:真正的非军事区域
    真正的非军事区域是比较安全可靠的防火墙设计,这种设计的内部和外部都有防火墙,在这两者之间可以放任何因特网可访问的设备。
    因特网流量仅能访问非军事区域内的服务器,并且只能访问非军事区内的服务器正在监听的端口。这种情况下,即使web服务器被攻破了,黑客也只能困在两个防火墙之间。


    二、选择防火墙
    硬件防火墙的好处是不言而喻的了,可惜高高在上的价格还是让人不好接受。这里介绍软件防火墙:
    netfilter:Linux上的不二选择,很多情况下已经被嵌入到各个Linux系统中了。大家容易误解iptable是Linux上的防火墙,其实iptable是配置netfilter的。
    通常默认已经安装了,如果没有安装,则用傻瓜的yum或apt-get来安装就ok了

    三、Linux防火墙基础知识


    netfilter主页:http://www.netfilter.org/

    iptables既用表也用链,表是处理的块,对包的不同操作就是在表中进行的,不同的表处理不同的链,链是规则的集合。有4个内建的表:网络地址转换表,轧表、过滤表和原始表,每个表处理不同的链。

    下面列出的是过滤表:

    Filter table这是用iptables命令修改规则时需要的默认表,防火墙的大部分的实现都是在这里实现的。

    • INPUT      当有访问本地系统的数据包时,此链被处理。
    • FORWARD 当有通过本地系统的数据时,此链被处理。
    • OUTPUT   当有本地系统产生的数据包时,此链被处理。


    目标是当一个包符合一个给定的规则时应该采取的行动。 目标是用 j <target> 文法进行说明

    • ACCEPT  包由TCP/IP协议栈的区域部分接受并处理。
    • DROP包丢弃且不通知发送端。
    • RETURN在前一个链中,紧接着最近被处理的那个规则后的规则处继续处理。


    四、配置(环境CentOS 5.3 )

    1、防火墙必须工作在一个安装好的系统上,所以系统必须要升级强化
    考虑到服务器原有的文件中可能会有有危险性的文件,所以如果该系统只是用做防火墙,推荐全盘格式化后,安装全新的最小化的系统,并升级加固。
    2、查看防火墙是否安装。使用命令  chkconfig  --list ,将列出所有的服务及其开启时的运行等级:

                chkconfig --list | grep iptables
               iptables        0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭


    说明iptable会在等级  2~5运行。你也可以使用命令 chkconfig  --level 2345  iptables on    命令设置该服务默认启动。

    3、删除规则和链
    很多Linux发行版默认netfilter服务是开启的,但规则是空的。 可以用iptables -L  命令查看当前状态,如果是下面这样,就是空的:
    Chain INPUT (policy ACCEPT)
    target     prot opt source               destination        

    Chain FORWARD (policy ACCEPT)
    target     prot opt source               destination        

    Chain OUTPUT (policy ACCEPT)
    target     prot opt source               destination        

    Chain RH-Firewall-1-INPUT (0 references)
    target     prot opt source               destination
          
    大家注意到我的记录的组后两行是之前没提到的,这个是发行版中创建的非默认的链,可以用命令
    iptables -X RH-Firewall-1-INPUT  删除该自定义链。

    4、注意
    在下面的配置中一定要非常小心,在开始其他所有工作之前,首先创建一个规则,容许管理员接入。这是因为一旦将所有的规则都配置为DROP ,SSH连接也会被禁止,这样连修改的机会也没了。
    5、其他常识
    我用的是CentOS,防火墙被安装为服务,系统自动提供了一个iptables的管理脚本
    /etc/init.d/iptables 。这里面提供了几个选项:start 、 stop、restart、condrestart、status、panic、save  。
    要注意如果 使用命令 service iptables stop 、 service iptables start 、 service iptables restart  这几个命令会消除当前活跃的规则集,并从配置文件中重新载入。所以需要使用service iptables save 命令保存当前活跃的规则集.
    默认的配置文件路径:/etc/sysconfig/iptables
    6、配置

      • 首先设置防火墙的规则允许管理通信访问,允许到防火墙的SSH连接,使用下面的命令:
                    iptables -A INPUT -p tcp -s 192.168.92.0/24 --dport 22 -j ACCEPT
                    s指出只能容许192.168.92.0、24这个内部网段的ip才能访问。如果你想容许访问80,11211等类似端口,也可以参考这个命令。当然了这只是容许了进入的包,还要容许出去的包。
      • 容许出去
                    你可以使用  iptables -P OUTPUT ACCEPT 。 这种方法很简单,但我们有更安全的方法。
                    iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
                    这个命令允许全部的应答通信通过,只要他是对被允许的会话的应答。
     
                    如果你想设置允许从防火墙发出的数据到远端的syslog服务器(比如:192.168.92.3:514)的syslog通信量通过,可以使用该命令:
                    iptables -A OUTPUT -p udp -d 192.168.92.3 --dport 514
                    因为该协议是udp协议,并且是单向的会话,不需要进入,只是出去。
     
      • 将几个默认链设为DROP状态
                    之所以放在最后,是因为我在测试时,一使用命令iptables -P INPUT DROP ,我就不能再访问服务器了,所以我就把这不放在最后了。
                  iptables -P INPUT DROP
                  iptables -P FORWARD DROP
                  iptables -P OUTPUT DROP
      • 保存当前规则
                  service iptables save 
      • 提示:
              
    对链或规则本身进行操作的iptable命令使用大写字母表示:
    -A 附加 、-D 删除规则 、-I 插入 、-R 替换 、 -L 列表 、-F 充溢 、-N 新建 、-X 删除链
    用于详细说明规则的选项用小写字母:
    -s 源地址、-p 协议 、 -d 目的地址 、-j 跳 、 -i 入界面 、 -o 出界面
  • 相关阅读:
    Redis
    Redis
    Redis
    Redis
    Redis
    Redis
    Distributed
    Sentinel
    Archi
    Redis
  • 原文地址:https://www.cnblogs.com/helloyb/p/2881053.html
Copyright © 2011-2022 走看看