在企业中,要实现所有的员工都能与互联网进行通信,每个人各使用一个公网地址是很不现实的。一般,企业有1个或几个公网地址,而企业有几十、几百个员工。要想让所有的员工使用这仅有的几个公网地址与互联网通信该怎么做呢?使用NAT技术!

在企业中,一般会有多个部门,像财务部、技术部、工程部等等。每个部门有每个部门的职责。像财务部这种重要的部门有些资料是不允许被其他员工知道的。怎样能清楚的区分不同的部门,以便于管理呢?使用VLAN技术

为了工作方便、增强工作效率,各部门经理必须能相互通信。但不允许员工之间相互通信。我们又该怎样做呢?使用ACL技术!

今天我们来学习如何使用NAT + VLAN +ACL管理企业网络。如下是试验环境:

环境介绍:

企业中只有一个公网地址,172.16.1.1/24
    企业中共有三个部门工程部、财务部、技术部。
    PC1  PC3  PC5 分别为三个部门的部门经理使用。
    PC1 的ip地址为192.168.1.2/24
    PC2 的ip地址为192.168.1.3/24
    PC3 的ip地址为192.168.2.2/24
    PC4 的ip地址为192.168.2.3/24
    PC5 的ip地址为192.168.3.2/24
    PC6 的ip地址为192.168.3.3/24
    试验目的:
    通过配置NAT使企业中所有的计算机都能通过唯一的公网地址与互联网通信。
    通过配置VLAN划分各个部门,并配置ACL实现每个部门经理之间能够通讯,普通员工之间不能相互通讯。

OK,知道目的了,让我们开始工作吧!

首先在R1 和 R2上做基本配置,(由于试验过程中要使用VLAN间路由,所以需要使用dot1Q 进行封装来配置子接口)
    R1
    Router>en
    Router#conf t
    Enter configuration commands, one per line.  End with CNTL/Z.
    Router(config)#host r1
    r1(config)#int s0/0
    r1(config-if)#ip addr 172.16.1.1 255.255.255.0
    r1(config-if)#no shut
    %LINK-5-CHANGED: Interface Serial0/0, changed state to up
    r1(config-if)#clock rate 64000
    %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/0, changed state to u
    r1(config-if)#exit
    r1(config)#int f0/0
    r1(config-if)#no ip addr
    r1(config-if)#no shut
    r1(config-if)#exit
    r1(config)#int f0/0.1                                  配置子接口,
    r1(config-subif)#encapsulation dot1Q 2     配置子接口必须使用dot1Q进行封装
    r1(config-subif)#ip addr 192.168.1.1 255.255.255.0
    r1(config-subif)#no shut
    r1(config-subif)#exit
    r1(config)#int f0/0.2                                 配置子接口
    r1(config-subif)#encapsulation dot1Q 3    配置子接口必须使用dot1Q进行封装
    r1(config-subif)#ip addr 192.168.2.1 255.255.255.0
    r1(config-subif)#no shut
    r1(config-subif)#exit
    r1(config)#int f0/0.3                                  配置子接口
    r1(config-subif)#encapsulation dot1Q 4      配置子接口必须使用dot1Q进行封装
    r1(config-subif)#ip addr 192.168.3.1 255.255.255.0

因为我们把R2当作公网使用,所以只需要在R2的S0/0口上配置ip就可以啦
    R2

Router>en
    Router#conf t
    Enter configuration commands, one per line.  End with CNTL/Z.
    Router(config)#host r2
    r2(config)#int s0/0
    r2(config-if)#ip addr 172.16.1.2 255.255.255.0
    r2(config-if)#no shut

基本配置完成了,接下来第一步,我们要让企业中的所有员工都能通过唯一的公网ip 172.16.1.1/24 与互联网相互通信。
    R1
    r1(config)#ip nat pool internet 172.16.1.1 172.16.1.1 netmask 255.255.255.0 定义全局地址池
    r1(config)#access-list 10 permit 192.168.0.0 0.0.255.255通过标准访问控制列表定义内部网络的上网条件
    r1(config)#ip nat inside source list 10 pool internet overload 建立全局地址池与标准访问控制列表之间的映射关系
    r1(config)#int s0/0
    r1(config-if)#ip nat outside  外网接口绑定(要想配置能实现应用必须在内外网接口上绑定)
    r1(config-if)#exit
    r1(config)#int f0/0
    r1(config-if)#ip nat inside   内网接口绑定

通过配置VLAN划分各个部门,并配置ACL以实现每个部门经理之间能够通讯,普通员工之间不能相互通讯。

Sw

Switch>en
    Switch#conf t
    Enter configuration commands, one per line.  End with CNTL/Z.
    Switch(config)#int f0/1
    Switch(config-if)#switchport mode trunk       配置Trunk链路

%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to down
    %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to up
    Switch(config-if)#exit
    Switch(config)#vlan 2                                   创建VLAN 2
    Switch(config-vlan)#name gongchengbu       vlan2为工程部
    Switch(config-vlan)#exit
    Switch(config)#vlan 3                                      创建VLAN 3
    Switch(config-vlan)#name caiwubu            VLAN3为财务部
    Switch(config-vlan)#exit
    Switch(config-vlan)#vlan 4                             创建VLAN 4
    Switch(config-vlan)#name jishubu             VLAN4为技术部
    Switch(config-vlan)#exit
    Switch(config)#int f0/2
    Switch(config-if)#switchport access vlan 2      给VLAN 2手工添加成员
    Switch(config-if)#exit
    Switch(config)#int f0/3
    Switch(config-if)#switchport access vlan 2
    Switch(config-if)#exit
    Switch(config)#int f0/4
    Switch(config-if)#switchport access vlan 3      给VLAN 3手工添加成员
    Switch(config-if)#exit
    Switch(config)#int f0/5
    Switch(config-if)#switchport access vlan 3
    Switch(config-if)#exit
    Switch(config)#int f0/6
    Switch(config-if)#switchport access vlan 4      给VLAN 3手工添加成员
    Switch(config-if)#exit
    Switch(config)#int f0/7
    Switch(config-if)#switchport access vlan 4
    Switch(config-if)#exit

定义访问控制列表
    定义访问控制列表时要细心,要把最特殊的访问控制列表放在最上面。(在此例中,允许一台特定主机而拒绝一个网段,所以要把拒绝主机放在上面)。
    注意:要想一个访问列表能够得到应用,必须在接口绑定。

R1

r1(config)#access-list 10 permit 192.168.2.2 0.0.0.0
    r1(config)#access-list 10 deny 192.168.2.0 0.0.0.255
    r1(config)#access-list 10 permit 192.168.3.2 0.0.0.0
    r1(config)#access-list 10 deny 192.168.3.0 0.0.0.255
    r1(config)#access-list 10 permit any
    r1(config)#int f0/0.1
    r1(config-subif)#ip access-group 10 out
    r1(config-subif)#exit
    r1(config)#access-list 11 permit 192.168.1.2 0.0.0.0
    r1(config)#access-list 11 deny 192.168.1.0 0.0.0.255
    r1(config)#access-list 11 permit 192.168.3.2 0.0.0.0
    r1(config)#access-list 11 deny 192.168.3.0 0.0.0.255
    r1(config)#access-list 11 permit any
    r1(config)#int f0/0.2
    r1(config-subif)#ip access-group 11 out
    r1(config-subif)#exit
    r1(config)#access-list 12 permit 192.168.1.2 0.0.0.0
    r1(config)#access-list 12 deny 192.168.1.0 0.0.0.255
    r1(config)#access-list 12 permit 192.168.2.2 0.0.0.0
    r1(config)#access-list 12 deny 192.168.2.0 0.0.0.255
    r1(config)#access-list 12 permit any
    r1(config)#int f0/0.3
    r1(config-subif)#ip access-group 12 out
    r1(config-subif)#exit

OK了,现在通过配置后所有的员工都能与互联网通讯。(由于主机较多就不一一列述)

PC>ping 172.16.1.2

Pinging 172.16.1.2 with 32 bytes of data:

Reply from 172.16.1.2: bytes=32 time=94ms TTL=254
    Reply from 172.16.1.2: bytes=32 time=94ms TTL=254
    Reply from 172.16.1.2: bytes=32 time=94ms TTL=254
    Reply from 172.16.1.2: bytes=32 time=90ms TTL=254

Ping statistics for 172.16.1.2:
        Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
    Minimum = 90ms, Maximum = 94ms, Average = 93ms

配置完成后,PC 1 、PC 3 和 PC5之间,即每个部门的部门经理之间能相互通信。

PC1  ping  PC3

PC1>ping 192.168.2.2

Pinging 192.168.2.2 with 32 bytes of data:

Reply from 192.168.2.2: bytes=32 time=125ms TTL=127
    Reply from 192.168.2.2: bytes=32 time=110ms TTL=127
    Reply from 192.168.2.2: bytes=32 time=110ms TTL=127
    Reply from 192.168.2.2: bytes=32 time=125ms TTL=127

Ping statistics for 192.168.2.2:
        Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
    Minimum = 110ms, Maximum = 125ms, Average = 117ms

PC1  PING   PC5

PC1>ping 192.168.3.2

Pinging 192.168.3.2 with 32 bytes of data:

Reply from 192.168.3.2: bytes=32 time=111ms TTL=127
    Reply from 192.168.3.2: bytes=32 time=120ms TTL=127
    Reply from 192.168.3.2: bytes=32 time=111ms TTL=127
    Reply from 192.168.3.2: bytes=32 time=105ms TTL=127

Ping statistics for 192.168.3.2:
        Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
        Minimum = 105ms, Maximum = 120ms, Average = 111ms

PC3  PING   PC5

PC3>ping 192.168.3.2

Pinging 192.168.3.2 with 32 bytes of data:

Reply from 192.168.3.2: bytes=32 time=125ms TTL=127
    Reply from 192.168.3.2: bytes=32 time=125ms TTL=127
    Reply from 192.168.3.2: bytes=32 time=109ms TTL=127
    Reply from 192.168.3.2: bytes=32 time=94ms TTL=127

Ping statistics for 192.168.3.2:
        Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
        Minimum = 94ms, Maximum = 125ms, Average = 113ms

PC2  PC4和 PC6之间,即普通员工之间是不能相互通信的。

PC 2  PING  PC4

PC2>ping 192.168.2.3

Pinging 192.168.2.3 with 32 bytes of data:

Request timed out.
    Request timed out.
    Request timed out.
    Request timed out.

Ping statistics for 192.168.2.3:
        Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),

PC2   PING  PC6

PC2>ping 192.168.3.3

Pinging 192.168.3.3 with 32 bytes of data:

Request timed out.
    Request timed out.
    Request timed out.
    Request timed out.

Ping statistics for 192.168.3.3:
    Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),

PC 4   PING   PC 6

PC4>ping 192.168.3.3

Pinging 192.168.3.3 with 32 bytes of data:

Request timed out.
    Request timed out.
    Request timed out.
    Request timed out.

Ping statistics for 192.168.3.3:
    Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),

通过以上所有的配置,我们达到了目的:所有的员工通过一个公网地址与互联网通讯;使各部门经理之间能相互通信,普通员工之间不能相互通信。

嘿嘿,还是很实用吧!
    本文出自 51CTO.COM技术博客

绝对实用 NAT + VLAN +ACL管理企业网络的更多相关文章

  1. 在ensp上模拟企业网络场景并Access接口加入相应VLAN

    模拟的企业网络大概描述: 公司内网是一个大的局域网,二层交换机S1放置在一楼,在一楼办公的部门有IT部和人事部:二层交换机S2放置在二楼,在二楼办公的部门有市场部和研发部.由于交换机组成的是广播网,交 ...

  2. 开源虚拟化KVM(三)管理虚拟网络

    六,管理虚拟网络 [x] Linux网桥基本概念 [x] qemu-kvm支持的网络 [x] 向虚拟机添加虚拟网络连接 [x] 基于NAT的虚拟网络 [x] 基于网桥的虚拟网络 [x] 用户自定义的隔 ...

  3. Cisco VLAN ACL配置

    什么是ACL? ACL全称访问控制列表(Access Control List),主要通过配置一组规则进行过滤路由器或交换机接口进出的数据包, 是控制访问的一种网络技术手段, ACL适用于所有的被路由 ...

  4. Linux实战教学笔记55:开源虚拟化KVM(三)管理虚拟网络

    六,管理虚拟网络 [x] Linux网桥基本概念 [x] qemu-kvm支持的网络 [x] 向虚拟机添加虚拟网络连接 [x] 基于NAT的虚拟网络 [x] 基于网桥的虚拟网络 [x] 用户自定义的隔 ...

  5. 通过python基于netconf协议获取网络中网元的配置数据,助力企业网络控制自动化轻松实现!

    摘要:在当今信息化时代,大多数企业都需要网络支撑企业的ICT运行,提升企业运行效率,针对企业网络中的网元设备(包括交换机,路由器,防火墙等),很多企业希望根据自身的业务特点定制网络管理,比如可以实现网 ...

  6. OpenStack neutron vlan 模式下的网络包流向

    时间:2015-01-15 18:09:41 1.什么是Neutron? Neutron是OpenStack的network project ,是NaaS(networking-as-a-servic ...

  7. 云原生应用管理,像管理手机APP一样管理企业应用

    我们在使用智能手机的时候,手机APP从应用市场一键安装,安装好即点即用,当有新版本一键升级,如果不想用了长按图标删除,整个过程非常简单,小朋友都能熟练掌握.而对于企业应用,由于结构复杂.可用性要求高. ...

  8. CISCO VLAN ACL

    对于cisco VLAN ACL 首先得定义 standard ACL或 extented ACL用于抓取流量 注意这里的抓取流量不是最终的对流量的操作,而是决定什么样的流量用VLAN ACL 来处理 ...

  9. 管理IPv6网络连接

    以下操作建立在Linux功能-管理IPv4网络连接之上,请先完成该部分操作后进行以下测试. 1. 修改 net1,配置 IPv6 地址为 2001:X/64 ,网关为 2001:254 [root@d ...

随机推荐

  1. scrapy2_初窥Scrapy

    递归知识:oop,xpath,jsp,items,pipline等专业网络知识,初级水平并不是很scrapy,可以从简单模块自己写. 初窥Scrapy Scrapy是一个为了爬取网站数据,提取结构性数 ...

  2. PHP_php.ini_说明详解

    这个文件必须命名为''php.ini''并放置在httpd.conf中的PHPIniDir指令指定的目录中.最新版本的php.ini可以在下面两个位置查看:http://cvs.php.net/vie ...

  3. PHP ob系列函数详解

    一. 相关函数简介:    1.Flush:刷新缓冲区的内容,输出.    函数格式:flush()    说明:这个函数经常使用,效率很高.    2.ob_start :打开输出缓冲区    函数 ...

  4. QT 初阶 1.3 节 控件的几何排列

    #include "mainwindow.h" #include <QApplication> #include <QHBoxLayout> #includ ...

  5. dedecms笔记

    截取字符串 方法一: [field:title function="cn_substr(@me,10)"/] 方法二: {dede:arclist typeid=’9′ title ...

  6. maven可选依赖(Optional Dependencies)和依赖排除(Dependency Exclusions)

    我们知道,maven的依赖关系是有传递性的.如:A-->B,B-->C.但有时候,项目A可能不是必需依赖C,因此需要在项目A中排除对A的依赖.在maven的依赖管理中,有两种方式可以对依赖 ...

  7. PHP7的安装

    PHP7和HHVM比较PHP7的在真实场景的性能确实已经和HHVM相当, 在一些场景甚至超过了HHVM.HHVM的运维复杂, 是多线程模型, 这就代表着如果一个线程导致crash了, 那么整个服务就挂 ...

  8. [c#基础]AutoResetEvent

    摘要 AutoResetEvent:msdn的描述是通知正在等待的线程已发生事件.此类不能被继承.也就是说它有那么一个时间点,会通知正在等待的线程可以做其它的事情了. AutoResetEvent 该 ...

  9. Linux 下 netbeans 字体抗锯齿正解

    转自:http://leenjewel.blog.163.com/blog/static/601937922010124444051/ 说来这个不难,主要是我看网上有的写的不是很明确,甚至有的写的根本 ...

  10. (准备写)URAL1824 Ifrit Bomber 题解

    http://acm.timus.ru/problem.aspx?space=1&num=1824 1824. Ifrit Bomber Time limit: 0.5 second Memo ...