综合实验
实验目的:
主要是通过dynamips(模拟路由器和交换机)和微软virtualpc(模拟多台客户端和服务器),以及真实电脑(通过物理网卡桥接路由器和真实网络,虚拟网连接模拟的交换机和vpc)三者来搭建如上图所示一个比较典型的网络环境。
实验内容:
- 路由器的NAT,DHCP ,ACL
- 交换机vlan,三层交换机vlan间通信。
设备连接说明:
在dynamips中模拟出一个路由器,三交换机,4个pc(最多9个,看个人需要添加)。
WAN网络是通过路由器e0/1口和真实电脑的网卡桥接,然后配置一个和真机相同网段的ip地址(10.0.0.254/8,默认网关:10.0.0.2 DNS:10.0.0.2)来实现的(真实电脑的网络拓扑是 ADSL 路由器(10.0.0.2/8) 交换机 真实电脑,这是一个比较常见的小型企业网组网方式)。
交换机的客户端同一颜色的表示属于同一vlan,实验中有3个vlan。P0/0-3表式通过模拟器桥接的网卡,其中P0/0表示真机的物理网卡;P0/1-3表示虚拟网卡(Microsoft Loopback Adapter)。
pc1- 4是用dynamips 模拟出来虚拟机 只能进行设置ip 和进行简单的ping等操作,Virtual pc 则是用windows virtual pc 模拟出来的,可以是xp或者是windows server 2003,可以进行和真实电脑一样的操作
实验第一部分:
不划分vlan,在路由器上设置nat,dhcp,使得连接在交换机AS-1的F0/4口和AS-2的F0/3口上的virtual pc 能自动获取ip地址并能访问internet.
1.实现路由器的NAT
路由器配置:
代码语言:javascript复制Router(config)#host R-nat
R-nat(config)#int e0/1 //配置外网网卡连接wan
R-nat(config-if)#ip add 10.0.0.254 255.0.0.0
R-nat(config-if)#no shut
R-nat(config-if)#ip nat outside //指定nat外部
R-nat(config-if)#no shut
R-nat(config)#int e0/0
R-nat(config-if)#ip add 192.168.100.1 255.255.255.0 //配置内网ip
R-nat(config-if)#ip nat inside //指定nat 内部
R-nat(config-if)#no shut
R-nat(config)#ip nat pool shangwang 10.0.0.254 10.0.0.254 netmask 255.0.0.0 //配置nat
R-nat(config)#access-list 1 permit 192.168.100.0 0.0.0.255
R-nat(config)#ip nat inside source list 1 pool shangwang overload
//上面这条命令可以用 ip nat inside source list 1 interface e0/1 overload 替代,这样对直接和端口进行PAT,方式更加灵活,适用于WAN口为动态ip
R-nat(config)#ip route 0.0.0.0 0.0.0.0 10.0.0.2 //配置静态路由
交换机配置
没有什么特别的配置,就是修改名字,便于记忆
验证配置:
此时可以将virtual pc启动,网卡选择“Microsoft Loopback Adapter”配置ip地址为:192.168.100.25 网关:192.168.100.1 DNS:10.0.0.2 如果配置正确应该能ping通外部网站和浏览网页。
2.配置路由器的DHCP
代码语言:javascript复制R-nat(config)#service dhcp
R-nat(config)#ip dhcp pool no-vlan //配置作用域“no-vlan”
R-nat(dhcp-config)#network 192.168.100.0 255.255.255.0 //地址范围
R-nat(dhcp-config)#default-router 192.168.100.1 // 默认网关
R-nat(dhcp-config)#dns-server 10.0.0.2 //DNS服务器
R-nat(dhcp-config)#lease 1 //租期1天
R-nat(config)#ip dhcp excluded-address 192.168.100.1 192.168.100.15 //指定保留的ip地址
验证配置:
此时将virtual pc设置为自动获取ip地址,配置正确vpc将获取到ip地址等配置信息,并能顺利访问Internet,可以在特权模式使用 debug dhcp 命令后,再停用启动vpc上的本地连接,以观察客户端获取ip地址过程
代码语言:javascript复制R-nat#sh ip dhcp binding //查看客户端获取的ip地址
Bindings from all pools not associated with VRF:
IP address Client-ID/ Lease expiration Type
Hardware address/
User name
192.168.100.22 0100.03ff.f8da.ff Mar 02 2002 12:05 AM Automatic
//0100.03ff.f8da.ff 开头1位为0 表示是设备MAC地址,为1 表示以太网中的广播地址或者组播地址
第二部实验:
1.划分vlan
上图中
代码语言:javascript复制vlan 2(sales): AS-1的f0/1(pc1) f0/2(pc2); AS-2的f0/2(pc4) ip范围:192.168.2.1-254/24
vlan 3 (manag):AS-1的f0/3(virtual pc); AS-2的f0/1(pc3) ip范围:192.168.3.1-254/24
vlan 4 (server) : AS-1的f0/4(virtual pc); AS-2的f0/3(virtual pc) ip范围:192.168.4.1-254/24
交换机配置:
DL-3-S:
代码语言:javascript复制DL-3-S#vlan database
DL-3-S(vlan)#vtp server //设置VTP服务器
DL-3-S(vlan)#vtp domain lab.com //设置VTP域
DL-3-S(vlan)#vtp pruning //设置VTP域裁剪
DL-3-S(vlan)#vtp password cisco //设置VTP密码
DL-3-S(vlan)#vlan 2 name sales //添加VLAN
DL-3-S(vlan)#vlan 3 name manage
DL-3-S(vlan)#vlan 4 name server
DL-3-S(vlan)#exit
DL-3-S(config)#interface f0/1 //设置VLAN trunk
DL-3-S(config-if)#switchport mode trunk
DL-3-S(config)#interface f0/2
DL-3-S(config-if)#switchport mode trunk
DL-3-S(config)#exit
AS-1: //配置接入交换机
代码语言:javascript复制AS-1#vlan database
AS-1(vlan)#vtp client //设置VTP客户端模式
AS-1(vlan)#vtp domain lab.com
AS-1(vlan)#vtp password cisco
AS-1(vlan)#exit
。。。。。。
AS-1(config)#interface range f0/1 -2 //组接口
AS-1(config-if-range)#switchport access vlan 2 //加入VLAN 2
AS-1(config)#interface f0/3
AS-1(config-if)#switchport access vlan 3
AS-1(config-if)#interface f0/4
AS-1(config-if)#switchport access vlan 4
AS-1(config-if)#interface f0/0
AS-1(config-if)#switchport mode trunk //设置VLAN trunk
AS-2:
代码语言:javascript复制AS-2#vlan database
AS-2(vlan)#vtp client
AS-2(vlan)#vtp domain lab.com
AS-2(vlan)#vtp password cisco
AS-1(vlan)#exit
。。。。。。
AS-2(config)#interface range f0/1
AS-2(config-if-range)#switchport access vlan 3
AS-2(config)#interface f0/2
AS-2(config-if)#switchport access vlan 2
AS-2(config-if)#interface f0/3
AS-2(config-if)#switchport access vlan 4
AS-2(config-if)#interface f0/0
AS-2(config-if)#switchport mode trunk
验证配置:
代码语言:javascript复制AS-1#sh vlan-switch //显示vlan端口
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Fa0/5, Fa0/6, Fa0/7, Fa0/8
Fa0/9, Fa0/10, Fa0/11, Fa0/12
Fa0/13, Fa0/14, Fa0/15
2 sales active Fa0/1, Fa0/2
3 manage active Fa0/3
4 server active Fa0/4
AS-1#sh vtp status //显示vtp 信息
VTP Version : 2
Configuration Revision : 1
Maximum VLANs supported locally : 256
Number of existing VLANs : 8
VTP Operating Mode : Client
VTP Domain Name : lab.com
VTP Pruning Mode : Enabled
VTP V2 Mode : Disabled
VTP Traps Generation : Disabled
MD5 digest : 0xA7 0x0D 0x82 0x77 0xB6 0xF6 0xB4 0x66
Configuration last modified by 0.0.0.0 at 3-1-02 00:22:00
然后给各个虚拟机设置对应vlan的ip地址,如果配置成功同一vlan的计算机能够相互ping,不同vlan间不能通信。
2.实现vlan间相互通信
DL-3-S:
代码语言:javascript复制DL-3-S(config)#int vlan 1
DL-3-S(config-if)#ip address 192.168.100.2 255.255.255.0
DL-3-S(config)#int vlan 2
DL-3-S(config-if)#ip address 192.168.2.1 255.255.255.0
DL-3-S(config)#int vlan 3
DL-3-S(config-if)#ip address 192.168.3.1 255.255.255.0
DL-3-S(config)#int vlan 4
DL-3-S(config-if)#ip address 192.168.4.1 255.255.255.0
验证配置:
此时vlan 2 3 4虽然不是同一个网段,但是属于各自vlan的虚拟pc可以相互ping,
3.实现各个vlan通过路由器NAT访问外网
交换机DL-3-S:
DL-3-S(config)#ip route 0.0.0.0 0.0.0.0 192.168.100.1 //添加交换机到路由器的默认路由
路由器
代码语言:javascript复制R-nat#conf t //在路由器上为各个vlan设置回程路由
R-nat(config)#ip route 192.168.2.0 255.255.255.0 192.168.100.2
R-nat(config)#ip route 192.168.3.0 255.255.255.0 192.168.100.2
R-nat(config)#ip route 192.168.4.0 255.255.255.0 192.168.100.2
//此时各个vlan 包括vlan1 也能和其他三个vlan相互 ping
//为各个vlan所属的网段配置PAT以便,vlan中的各个客户端可以访问internet
R-nat(config)#access-list 1 permit 192.168.2.0 0.0.0.255
R-nat(config)#access-list 1 permit 192.168.3.0 0.0.0.255
R-nat(config)#access-list 1 permit 192.168.4.0 0.0.0.255
//192.168.100.0在试验第一部分中已经做过了,所以不需要,现在也只在acl中允许相应vlan的通讯
验证配置:
此时可以在vpc 1上(ip:192.168.2.4/24 默认网关:192.168.2.1)ping通公网ip地址;在virtual pc (p0/1 ip:192.168.3.4/24 默认网关:192.168.3.1 DNS:10.0.0.2)上访问Internet.
4 .为各个vlan 配置独立的DHCP服务
路由器上的配置:
代码语言:javascript复制R-nat(config)#ip dhcp pool vlan-2 //vlan2配置 DHCP
R-nat(dhcp-config)# network 192.168.2.0 255.255.255.0
R-nat(dhcp-config)# dns-server 10.0.0.2 // DNS服务器
R-nat(dhcp-config)# default-router 192.168.2.1 //默认网关
R-nat(dhcp-config)#netbios-name-server 192.168.100.254 // WINS服务器
R-nat(dhcp-config)#lease 0 6 //有效期0天 6小时
。。。。。。。
R-nat(config)#ip dhcp pool vlan-3 //vlan3配置 DHCP
R-nat(dhcp-config)# network 192.168.3.0 255.255.255.0
R-nat(dhcp-config)# dns-server 10.0.0.2
R-nat(dhcp-config)# default-router 192.168.3.1
R-nat(dhcp-config)#netbios-name-server 192.168.100.254
R-nat(dhcp-config)#lease 0 6
。。。。。
R-nat(config)#ip dhcp pool vlan-4 //vlan4配置 DHCP
R-nat(dhcp-config)# network 192.168.4.0 255.255.255.0
R-nat(dhcp-config)# dns-server 10.0.0.2
R-nat(dhcp-config)# default-router 192.168.4.1
R-nat(dhcp-config)#netbios-name-server 192.168.100.254
R-nat(dhcp-config)#lease 0 6
.。。。。
//配置各个DHCP作用域保留的ip地址
代码语言:javascript复制R-nat(config)#ip dhcp excluded-address 192.168.2.1 192.168.2.5
R-nat(config)#ip dhcp excluded-address 192.168.3.1 192.168.3.5
R-nat(config)#ip dhcp excluded-address 192.168.4.1 192.168.4.5
DS-3-S上为各个vlan配置DHCP中继代理,默认情况下vlan是隔绝广播的
DL-3-S(config-if)#int vlan 2
DL-3-S(config-if)#ip help
DL-3-S(config-if)#ip helper-address 192.168.100.1
DL-3-S(config-if)#int vlan 3
DL-3-S(config-if)#ip helper-address 192.168.100.1
DL-3-S(config-if)#int vlan 4
DL-3-S(config-if)#ip helper-address 192.168.100.1
DL-3-S(config-if)#exit
DL-3-S(config)#exit
验证配置:
启动一台virtual pc ,让它通过虚拟网卡和交换机AS-1的f0/3口相连,ip地址选择自动获取
在命令提示符下 ipconfig /all
代码语言:javascript复制 ……
Dhcp Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
IP Address. . . . . . . . . . . . : 192.168.3.6
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.3.1
DHCP Server . . . . . . . . . . . : 192.168.100.1
DNS Servers . . . . . . . . . . . : 10.0.0.2
显示DHCP服务器为 192.168.100.1 为刚才设置的DHCP代理。
实验第二部分配置完成后的ip说明图
代码语言:javascript复制Vlan 2 (黑色 sales) ip: 192.168.2.1-192.168.2.254
Vlan 3 (红色 manag) ip: 192.168.3.1-192.168.3.254
Vlan 4 (绿色 server) ip: 192.168.4.1-192.168.4.254
Pc1- 4是用dynamips 模拟出来虚拟机 只能进行设置ip 和进行简单的ping等操作Virtual pc 则是用windows virtual pc 模拟出来的,可以是xp或者是windows server 2003
实验第三部分:
该部分将实现对各个vlan通过ACL控制其访问权限,并且在交换机的F0/3上通过p0/3连接一台virtual pc (windows server 2003, 它上面安装了 ftp,web服务),然后通过指定端口映射,将服务器发的发布到外网(10.0.0.0/8网段,真实电脑所在的网段),为交换机设置管理ip。
P0/1-3表示虚拟网卡(Microsoft Loopback Adapter)它使得virtual pc能和模拟出来的交换机之间可以相互通信。
连接图和交换机端口如下图所示:
代码语言:javascript复制Vlan 2 (黑色 sales 销售)
Pc1: 192.168.2.11 Pc2: 192.168.2.12 Pc4: 192.168.2.14
Vlan 3 (红色 manag 经理)
P0/1 : 192.168.3.254 Pc3: 192.168.3.13
Vlan 4 (绿色 server 服务器,p0/2上连接的是财务电脑)
Server ip: 192.168.4. 2/24 财务电脑ip:192.168.4.14/24
1.ACL设置
1.1
要求:除了vlan 4中财务电脑其他电脑都能访问Internet;客户端只有服务器电脑能telnet到路由器。
代码语言:javascript复制R-nat(config)#access-list 101 permit tcp host 192.168.4.2 host 192.168.4.14 eq 23 log
R-nat(config)#access-list 101 deny tcp 192.168.0.0 0.0.7.255 host 192.168.4.14 eq 23 log
R-nat(config)#int e0/0 //只允许服务器telnet 路由器
R-nat(config-if)#ip access-group 101 in //到路由器内部端口
交换机
代码语言:javascript复制DL-3-L(config)#access-list 10 deny host 192.168.4.14 //拒绝财务电脑
DL-3-L(config)#int vlan 1
DL-3-L(config-if)#ip access-group 10 out //应用到和路由器相连端口
//本来还打算使用自反访问控制列表的,不过研究了半天没有弄太清楚!!等有机会在研究了
2.通过端口映射发布简单服务器
将virtual pc windows server 2003 (安装www,ftp服务)通过p0/3网卡和交换机AS-2,
ip地址为:192.168.4.2 网关:192.168.2.1 dns:10.0.0.2
路由器设设置:
代码语言:javascript复制R-nat(config)# ip nat inside source static tcp 192.168.4.2 80 10.0.0.254 80 //发布www
R-nat(config)# ip nat inside source static tcp 192.168.4.2 21 10.0.0.254 21 //发布ftp
备注 常用协议及其端口
代码语言:javascript复制Tcp: telnet 23 smtp 25 http 80 ftp 21 dns 53 https 443 pop3 110
Udp: snmp 161 tftp 69 dns 53
Icmp: ping
几条常用的NAT命令:
代码语言:javascript复制clear ip nat translation * 清除NAT转换表中的所有条目
clear ip nat translation inside local-ip global-ip 清除包含内部转换的简单转换条目
clear ip nat translation outside local-ip global-ip 清除包含外部转换的简单转换条目
注:大家在配置好动态NAT转换后,如果想清除掉NAT 的配置,直接用NO命令有些时候会出现提示,说你的NAT正在使用中,这个时候,我们通常要去用clear ip nat tran *命令来清除掉NAT的转换条目后,再回来清除掉整个NAT的配置,就可以了。
3.为交换机设置管理ip,实现跨交换机telnet
为了方便记忆,我们在三层交换机上设置一个专门的管理vlan 110 name admin(默认情况是vlan 1)
这个vlan的ip地址段式 192.168.0.0/24
三层交换机配置:
代码语言:javascript复制DL-3-S(vlan)#vlan 110 name admin //创建管理vlan
DL-3-S(vlan)#exit
……..
DL-3-S(config)#int vlan 110
DL-3-S(config-if)#ip address 192.168.0.1 255.255.255.0 //设置管理ip地址,其实这个可以不设置
客户端可以起通过telnet其他vlan三层ip实现管理
交换机配置
代码语言:javascript复制AS-1(config)#ip route 0.0.0.0 0.0.0.0 192.168.0.1 //为该交换机vlan设置默认路由,指向三
AS-1(config)#int vlan 110 层交换机对应的vlan ip,网上最流行的一AS-1(config-if)#ip address 192.168.0.2 255.255.255.0 个教材就是 为二次交换机设置默认网关,
……. 在我的实验中是没有成功的,有的资料上
说设置默认网关和设置默认路由是一样的功能(可能是虚拟机的问题)
AS-2(config)#ip route 0.0.0.0 0.0.0.0 192.168.0.1
AS-2(config)#int vlan 110
AS-2(config-if)#ip address 192.168.0.3 255.255.255.0
验证配置:
这个时候启动AS-2交换机上的virtual pc(ip:192.168.4.2/24),就能够成功telnet到AS-1上。
还有个比较怪异的方法,就是如果你不在2层交换机上配置默认路由,客户端可以先telnet到三层交换机的192.168.4.1上(就是你客户端电脑的默认网关),然后再用一次telnet到AS-1的管理ip上。因为这个时候客户端虽然不能和二层交换机管理ip通信,但是三个交换机的管理ip是可以相互通信的。