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

    1.1防火墙的分类:

      (一)硬件防火墙:思科的ASA、h3c的sepath等

      (二)软件防火墙:iptables等

    1.2防火墙的规则:

      网关其实就是一个防火墙,网关只是帮忙做了转发。防火墙有四表五链。

    五连: 进路由前prerouting

        出路由后postrouting

        INPUT

        OUTPUT

        FORWARD

    1.3什么是链?

      就是一堆规则的组名。(注释:如上图--路由选择前到iptables之间的过程就是一个链。规则就是如何处理数据包,如上图方块就是规则)

     清空防火墙规则--------iptables -F 

     查看防火墙规则--------iptables -L(如果不-t指定,默认查看的是filter表)   (想查看更详细的规则  iptables -L -nv)

    三个链在filter表里、filter表里只有input、output、forward。

    nat表里有:进前链prerouting  出后链postrouting   FORWARD

    ------------------------------注释:附图-----------------------------

    -----------------注:ACCEPT允许;policy规则;source源;destination目标------------

    xshell走的是input、output链;与FORWARD链没有关系。

     禁用FORWARD链:iptables -P FORWARD DROP

     开启FORWARD链:iptables -P FORWARD ACCEPT

    1.5修改链规则

    关闭链的写法:iptables -I INPUT -p icmp -j DROP;修改forward对ping没有影响。

    (备注:-I是添加到第一行、-A是追加到末尾;-p是参数,要限制的协议;icmp是ping的协议) 

     ----这个时候INPUT处于DROP状态,如果service iptables stop三个链就都还原了。

     ----链下面有规则,iptables -F 清空所有的规则,但不清空链。

     ----例:想删除链下的某条规则:iptables -D INPUT 3

     ----给链加规则:iptables -P INPUT ACCEPT

    *******************************************************************************************************

    练习:在input里设规则,三个链都DROP,还不掉线??

    -s是源

    -d是目标

    -i是数据包进来的网卡

    -o是数据包出去的网卡

    进网卡和出网卡如果不一样的话就是转发链

    例:①iptables -I INPUT -s 192.168.40.1 -d 192.168.40.129 -p tcp --dport 22 -j ACCEPT

    (--代表此协议建立在上一个协议之上;dport是目标端口、sport源端口;-j后面是链规则)

    ②iptables -I OUTPUT -s 192.168.40.129 -d 192.168.40.1 -p tcp --sport 22 -j ACCEPT

    ③iptables -P INPUT DROP    xshell没有掉就成功了。

    ④iptables -P FORWARD DROP

    ⑤iptables -P OUTPUT DROP

     **************************************************************************************************

    练习:三台主机,1和3处在不同的网段,怎样设置实现主机1和主机3互通?

       思路:主机2当做网关,设置两个网卡。一个ip连接主机1的网关、一个ip连接主机3的网关。

         !!!!!本次操作三台机器的防火墙都要关掉,负责不成功。

    步骤:

        ①网关(主机2)需要两块网卡;所以得添加一块网卡,另一块网卡用vmnet1模式,并查看net1的网关(编辑--虚拟网络)。开机后dhcp自动获取下再修改(ifconfig)。---------以下主机2称作网关,不再解释。

        设置网关机的网卡配置:(两个网卡都不需要设置网关)

              cd /etc/sysconfig/network-scripts   

            cp ifcfg-eth0 ifcfg-eth1  --->复制一份eth1的配置文件

            vim ifcfg-eth1  (修改eth1的配置文件):修改网卡名为eth1、BOOTPROTO=none、手动配置ip及子网掩码,不配网关,其他不变。--------注:ip要和主机1或3在同一网段。

            同理修改eth0的网卡配置,不需要改名-----------注:ip要和主机1或主机3中剩下的一个处在同一网段。

            vim /etc/sysctl.conf           将ip_forward的值改为1,允许转发。

            /etc/init.d/network restart   重启网卡配置文件

            然后hostname -I就可以查看到两个ip地址了(例:vmnet8为192.168.10.11、vmnet1为192.168.14.14)。

       ②修改主机1的网卡配置文件(vmnet8模式):ip可自动获取也可手动配置,为了省事可以自动获取。GATEWAY=(主机2)和自己同一网段的ip(192.168.10.11)。

        /etc/init.d/network restart   重启网卡配置文件,就可以ping通主机3了。

       ③同理,修改主机3的网卡配置文件(vmnet1模式)。然后重启网卡配置文件就能ping通主机1了。   

            

  • 相关阅读:
    用require.js封装原生js轮播图
    最全状态码
    常用DOM结构方法总结
    CSS浮动、绝对、相对定位
    盒模型
    构造函数、原型和实例的关系
    Android测试网络是否连接
    Android第一天
    JQuery图片切换动画效果
    Hibernate增删查改语句
  • 原文地址:https://www.cnblogs.com/Jerry0070/p/9960434.html
Copyright © 2011-2022 走看看