zoukankan      html  css  js  c++  java
  • 防火墙

    一、防火墙概述

    1、防火墙分类

    a、硬件防火墙:

    如思科的ASA防火墙,H3CSepath防火墙等

    (物理机器就是个防火墙,自带操作系统)

    b、软件防火墙:

    iptables

    二、iptables匹配流程

    入站:input    目标是网关

    出站:output    源是网关

    转发:forword  目标不是网关

    路由选择前:Prerouting  进路由前

    路由选择后:Postrouting  出路由后

     

    链是什么??

    防护墙一共有四表五链,五个链就是防火墙。

    链就是一堆规则组名;

    INPUT里面也有防火墙规则,控制的就是入站这段的防火墙规则。

    出站:OUTPUT,控制的就是出站这段的防火墙规则

    转发:FORWARD,控制的就是转发网关这段的防火墙规则

    路由选择前:PREROUTING,控制的就是进网关前这段的防火墙规则

    路由选择后:POSTROUTING,控制的就是出网关后这段的防火墙规则

    规则就是如何处理数据包。

    链就是代表这每一段,而这段链包含一组规则,规则就是当数据包经历这一段的时候我如何控制它;总共有五个链,就有五个规则。

    防火墙无法卸载

    因为防火墙不在应用层,而是在kernel

    我们使用service iptables status不是关闭防火墙,而是把规则清了,没有任何限制了。

    三、查看防火墙规则命令

    iptables -L          #默认是看filter表,里面只有INPUT  FORWARD  OUTPUT

    iptables -t filter -L    #指定看filter

    iptables -n

    iptables -nv

     

    查看路由网关:route -n

     

    nat

    iptables -t nat -L

    PREROUTING  POSTROUTING  OUTPUT

    #一般只有对路由前和路由后操作,才动NAT表;OUTPUTfilter表里限制

    四、链表结构关系图

     

    五、封锁命令

    iptables -I INPUT -p icmp -j DROP  #INPUT链插入限制所有的icmp协议都丢包

     

    所有的协议都是icmp规则;

    iptables -F  #清空规则

    iptables -I OUTPUT -p icmp -j DROP   #OUTPUT链插入限制所有的icmp协议都丢包

    iptables -I FORWARD -p icmp -j DROP  #FORWARD链插入限制所有的icmp协议都丢包

    上面链默认都允许通过,下面做限制通过

    上面链默认都拒绝通过,下面做允许通过

    iptables -P FORWARD DROP   #直接修改链规则,直接所有拒绝

    关闭大链,xshell不掉

    iptables -I OUTPUT -s 192.168.154.133 -d 192.168.154.1 -p tcp --sport 58888 -j ACCEPT

    #OUTPUT限制源没有意义,都是从自己这发出去。OUTPUT只能限制目标的端口。

    #-p是协议, --sport定端口

    iptables -I INPUT -s 192.168.154.1 -d 192.168.154.133 -p tcp --dport 58888 -j ACCEPT

    #INPUT限制目标没有意义,都在找自己的。

    #-p是协议,--dport定端口;别人来找我,源端口是随机的,只能限制目标端口。

    限制端口的前提,要先限制协议。

     

    六、常见的匹配条件汇总表

    service iptables stop 清空所有规则

     

     

    LINUX /etc/sysctl.conf

    sysctl -p重启配置文件

    七、隐现匹配

     

     

    八、显示匹配

     

     

    netstat -rn

    ip route

    route -n

    看网关

    SNAT 对源做NAT(源网络地址转换)  在出路由口做

    在出网段做SNAT  为的是让对方能从公网转发回来。

    SNAT是私网能上公网,从一个网关出去数据包;SNAT做转换为的是让百度发回来;因此我们家庭数据包出家庭出完的一霎那,加个家庭公网IPSNAT

    iptables -t nat -A POSTROUTING -s 192.168.200.0/24(左边进的网段) -o eth1 -j SNAT --to-soutce 右(出)网卡地址

    -i eth0 入网卡  -o eth1出网卡

    ##目标地址转换用DNAT  ##是在进路由口做DNAT

    要在进目标之前做DNAT转换,-d为百度公网路由IP  --dport 找自己的端口号, -jDNAT类型  --to-destination 百度web服务器的私网IP   冒号(:)后加端口号

    iptables -t nat -A PREROUTING -i eth1 -d 百度公网IP -p tcp --dport 80 -j DNAT --to-destination 私网ip8080

  • 相关阅读:
    ASP.NET应用程序与页面生命周期
    Git源码管控规范
    redis cluster
    jwt token and shiro
    openapi and light-4j
    ps 证件照制作
    js eval 动态内容生成
    pdnovel 看书 读书 听书
    crawler 使用jQuery风格实现
    websocket聊天体验(二)
  • 原文地址:https://www.cnblogs.com/kakajiang/p/10009745.html
Copyright © 2011-2022 走看看