防火墙

Posted jerry0070

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了防火墙相关的知识,希望对你有一定的参考价值。

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了。   

 

        

 

以上是关于防火墙的主要内容,如果未能解决你的问题,请参考以下文章

防火墙知识点详解

怎样设置关闭或启用防火墙?

怎么设置网络防火墙

网络防火墙怎么设置

iptables防火墙指南

华为USG6000硬件防火墙设置问题