• linux学习随笔2之防火墙


    centos7默认使用的防火墙是firewalld

    查看所有打开的端口: firewall-cmd --zone=public --list-ports
    

    更新防火墙规则: firewall-cmd --reload
    重新启动防火墙 :service firewalld restart
    拒绝所有包:firewall-cmd --panic-on ####xshell等工具慎用
    取消拒绝状态: firewall-cmd --panic-off
    查看是否拒绝: firewall-cmd --query-panic
    添加端口规则:firewall-cmd --zone=public --add-port=80/tcp --permanent    (--permanent永久生效,没有此参数重启后失效)
    查询端口是否有效:firewall-cmd --zone=public --query-port=80/tcp
    删除端口:firewall-cmd --zone= public --remove-port=80/tcp --permanent
    
    iptables用于过滤数据包,属于网络层防火墙.
    firewall能够允许哪些服务可用,那些端口可用.... 属于更高一层的防火墙。
    firewall的底层是使用iptables进行数据过滤,建立在iptables之上。
    

     

    1、安装iptable iptable-service
        #先检查是否安装了iptables     service iptables status
        #安装iptables     yum install -y iptables
        #升级iptables(安装的最新版本则不需要)    yum update iptables 
        #安装iptables-services    yum install iptables-services
    
    2、禁用/停止自带的firewalld服务
    #停止firewalld服务:systemctl stop firewalld
    #禁用firewalld服务:systemctl mask firewalld
    

      

    3、设置现有规则
    #查看iptables现有规则 iptables -L -n
    #先允许所有规则,防止断开工具链接 iptables -P INPUT ACCEPT
    #清空所有默认规则 iptables -F
    #清空所有自定义规则 iptables -X
    #所有计数器归0 iptables -Z
    #允许来自于lo接口的数据包(本地访问)  iptables -A INPUT -i lo -j ACCEPT
    #开放22端口 iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    #开放21端口(FTP) iptables -A INPUT -p tcp --dport 21 -j ACCEPT
    #开放80端口(HTTP) iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    #开放443端口(HTTPS) iptables -A INPUT -p tcp --dport 443 -j ACCEPT
    #允许ping iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT
    #允许接受本机请求之后的返回数据 RELATED,是为FTP设置的 iptables -A INPUT -m state --state  RELATED,ESTABLISHED -j ACCEPT
    #其他入站一律丢弃 iptables -P INPUT DROP
    #所有出站一律绿灯 iptables -P OUTPUT ACCEPT
    #所有转发一律丢弃 iptables -P FORWARD DROP
    

      

    4、其他规则设定
    #如果要添加内网ip信任(接受其所有TCP请求)iptables -A INPUT -p tcp -s 45.96.174.68 -j ACCEPT
    #过滤所有非以上规则的请求 iptables -P INPUT DROP
    #要封停一个IP,使用下面这条命令:iptables -I INPUT -s ***.***.***.*** -j DROP
    #要解封一个IP,使用下面这条命令: iptables -D INPUT -s ***.***.***.*** -j DROP
    

      

    5、保存规则设定
    #保存上述规则 service iptables save
    

      

    6、开启iptables服务 
    #注册iptables服务 相当于以前的chkconfig iptables on
    systemctl enable iptables.service
    #开启服务 systemctl start iptables.service
    #查看状态 systemctl status iptables.service
    

      

    7、映射端口(如将mysql默认的3306端口映射成1306对外提供服务)
    iptables -t mangle -I PREROUTING -p tcp --dport 1306 -j MARK --set-mark 883306 
    iptables -t nat -I PREROUTING -p tcp --dport 1306 -j REDIRECT --to-ports 3306 
    iptables -I INPUT -p tcp --dport 3306 -m mark --mark 883306 -j ACCEPT

     注:iptables文件目录在 /etc/sysconfig/iptables

  • 相关阅读:
    Python-文件处理
    自动化测试框架(一)
    Turbine Netflix
    java基础笔记-日常问题总结不定期更新
    集合类库上(list,queue)
    日期相关类
    迭代与JDB
    团队组建——日渐消瘦队~
    结对学习感想
    实验一《Java开发环境的熟悉》_实验报告
  • 原文地址:https://www.cnblogs.com/isuben/p/6962782.html
Copyright © 2020-2023  润新知