Linux学习99 Linux防火墙iptables高级实战演练

一、回顾

  1、iptables/netfilter

    a、netfilter:raw,mangle,nat,filter

      PREROUTING --> INPUT

      PREROUTING --> FORWARD --> POSTROUTING

      OUTPUT --> POSTROUTING

    b、filter:INPUT,FORWARD,OUTPUT

    c、nat:PREROUTING,INPUT,OUTPUT,POSTROUTING

  2、iptables:

    a、[-t table] COMMAND [chain] rule-specification

      -m matchname [per-match-options]

      -t targetname [per-target-options]

      [options]

    b、匹配条件

      (1)、基本匹配条件:-s,-d,-p,-m,-i,-o

      (2)、扩展匹配条件:

        1)、隐式扩展:

          -p tcp:--dport,--sport,--tcp-flags,--syn

          -p udp:--dport,--sport

          -p icmp:--icmp-type

        2)、显示扩展

          multiport:--sports,--dports

          iprange:--src-range,--dst-range

          time:--timestart,--timestop,--weekdays,--monthdays,--datestart,--datestop

          string:--algo {bm|kmp},--string

          connlimit:--connlimit-upto,--connlimit-above

          limit:--limit,--limit-burst

          state:--state

            NEW,ESTABLISHED,RELATED,INVALID,UNTRACKED

    c、target

      (1)、-j:

        ACCEPT/DROP

        REJECT:--reject-with

        LOG:--log-level,--log-prefix

        自定义链:

          RETURN

    d、iptables-save/iptables-restore

二、iptables(3)

  1、接下来我们来讲网络防火墙功能,我们Linux何种情况下可以作为网络防火墙来工作呢?想象一个场景,我们说过对于任何一个局域网来说我们都需要网关设备,假如我们一个局域网中有很多客户端主机,假如我们这儿有一个网关设备,我们任何非本地网络通信的报文都要经由他来负责转发的。这个设备可能是一个硬件的路由器。我们路由器在报文路由时源mac和目标mac都会进行修改,而我们的源IP和目标IP是不会改变的。

  2、我们linux做网关设备一般是这样的。首先我们需要开启默认转发功能。然后我们需要有两张网卡,一张网卡作为内部网关,另一张网卡接入外部网络。

  3、假如我们现在有一个主机有三个网卡。一块连接内网。一块连接A网络。一块连接B网络。假如我们内网一客户端 172.16.0.67发一报文,只要到网关就表示非本地通信了,我们前提是打开我们主机的核心转发功能,打开核心转发后报文就在本地内核中转了一圈,因为他不与本地进程通信因此他不会到达我们的用户空间,他只是在内核空间中走了一遭。然后他会根据我们的路由条目转发至某一个

 

Linux学习99 Linux防火墙iptables高级实战演练

上一篇:iOS.UIKit.09.UINavigationBar


下一篇:Linux网络客户端