ecjtu-Network-lab6

华东交通大学计算机网络实验六 Cisco Packet Tracer V8.0.0

(一)校园网设计示例1(必做内容)

(1)某学院有教职工50人,平均分布在教学楼1和教学楼2,学生400人,平均分布在宿舍楼1和宿舍楼2,有一个数据中心服务器。
(2)每栋教学楼和宿舍楼分别设置为不同的VLAN网段,教学楼通过汇聚路由器连接到学院的核心路由器,宿舍楼通过三层交换机连接到学院的核心路由器。数据中心服务器作为一个独立网段连接到核心路由器。
(3)学院核心路由器通过serial接口连接到ISP的路由器,从而连接到互联网。
(4)采用合适的路由配置策略(静态路由、RIP协议、OSPF协议),使得学院网络内部互联互通。
(5)在学院核心路由器上配置合适的NAT,使得宿舍楼1和宿舍楼2所属子网范围能访问外网,而教学楼1和教学楼2所属子网范围不能访问外网。
(6)在学院核心路由器上设置标准ACL或扩展ACL,允许教学楼的用户只可以访问数据中心服务器的WWW服务和FTP服务。允许宿舍楼的用户可以访问外网的资源,也能访问教学楼的资源,其余的都不可以访问。

请根据以上需求,给出学院的具体网络设计方案,各楼栋分布与节点数需求,画出网络拓扑结构设计图,给出VLAN 及 所有IP 地址规划,完成设备选型,详细实验配置等。并将以上所有内容记录在实验报告上。

0x01:按照拓扑图添加好设备,并标明接口和IP等等

image

注意其中核心路由器Router1,我们要先关闭电源,添加接口模块 NM-2FE2WWIC-1T
image

0x02:下面便是配置计算机IP、网关、掩码和路由器端口了

image

注意右上角三层交换机这里的节点IP地址是没有给出的,
这里我们根据下面的网关命名习惯推算出此处网关为10.1.1.254/24
image

其他的PC和server简单的配置一下IP、网关、掩码就行,没有什么特别的地方。

配置[Router2]的f0/1.1和f0/1.2两个子端口的命令:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Router>en
Router#conf t
Router(config)#int fa0/1 //开启端口fa0/1
Router(config-if)#no shut
Router(config-if)#int fa0/1.1
Router(config-subif)#encapsulation dot1q 2
//重要指令,dot1Q为这个接口配置802.1Q协议 ,最后的2是设置为vlan2的意思
Router(config-subif)#ip add 192.168.2.254 255.255.255.0
Router(config-subif)#no shut
Router(config-subif)#int fa0/1.2
Router(config-subif)#encapsulation dot1q 3
Router(config-subif)#ip add 192.168.3.254 255.255.255.0
Router(config-subif)#no shut
Router(config)#int fa0/0
Router(config-if)#ip address 192.168.4.100 255.255.255.0
Router(config-if)#no shut

设置交换机[Switch 1]的f0/1为trunk模式(Switch 2同理),划分VLAN:

1
2
3
4
5
6
7
8
9
10
11
Switch>en
Switch#conf t
Switch(config)#int fa0/1
Switch(config-if)#switchport mode trunk
Switch(config-if)#switchport trunk allowed vlan all
Switch(config)#int fa0/2
Switch(config-if)#switchport access vlan 2
Switch(config-if)#no shut
Switch(config-if)#int fa0/3
Switch(config-if)#switchport access vlan 3
Switch(config-if)#no shut

配置三层交换机MS1:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Switch>en
Switch#conf t
Switch(config)#vlan 10
Switch(config-vlan)#exit
Switch(config)#vlan 20
Switch(config-vlan)#exit
Switch(config)#int fa0/2
Switch(config-if)#switchport access vlan 20
Switch(config-if)#int fa0/1
Switch(config-if)#switchport access vlan 10
Switch(config-if)#exit
Switch(config)#int vlan 10
Switch(config-if)#ip address 10.1.2.100 255.255.255.0
Switch(config-if)#no shut
Switch(config-if)#int vlan 20
Switch(config-if)#ip address 10.1.1.254 255.255.255.0
Switch(config-if)#no shut

配置三层交换机MS2:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Switch>en
Switch#conf t
Switch(config)#int fa0/1
Switch(config-if)#switchport access vlan 5 //这里写vlan 4或者vlan 5都可以,虚接口
Switch(config-if)#exit
Switch(config)#int vlan 4
Switch(config-if)#ip add 172.16.4.254 255.255.255.0
Switch(config-if)#no shut
Switch(config-if)#int vlan 5
Switch(config-if)#ip add 172.16.5.254 255.255.255.0
Switch(config-if)#no shut
Switch(config)#int vlan 10
Switch(config)#int fa0/2
Switch(config-if)#switchport access vlan 10
Switch(config-if)#exit
Switch(config)#int vlan 10 //配置一个vlan10虚接口作为路由出口
Switch(config-if)#ip add 172.16.1.100 255.255.255.0
Switch(config-if)#no shut
Switch(config-if)#exit

0x03:动态路由-OSPF协议:

关于ospf、bgp中的Router-ID和loopback接口:

动态路由协议OSPF 、BGP 在运行过程中需要为该协议指定一个Router id,作为此路由器的唯一标识,并要求在整个自治系统内唯一。由于router id 是一个32 位的无符号整数,这一点与IP地址十分相像。而且IP 地址是不会出现重复现象的,所以通常将路由器的router id指定为与该设备上的某个接口的地址相同。由于loopback 接口的IP 地址通常被视为路由器的标识,所以也就成了router id的最佳选择。

0x0301:关于ospf中区域area的划分如下,中间的终端路由器为area 0作为骨干网络连接其他网络:

image

0x0301:动态路由配置命令:

Router ISP:

1
2
3
4
5
6
7
8
9
10
11
12
13
Router(config)#int loopback0 //设置回环接口
Router(config-if)#ip address 1.1.1.1 255.255.255.0
Router(config-if)#no shut
Router(config-if)#exit
Router(config)#router ospf 1
Router(config-router)#router-id 1.1.1.1 //设置路由ID
Router(config-router)#network 202.121.241.0 0.0.0.255 area 1
Router(config-router)#network 219.220.240.0 0.0.0.255 area 1
Router(config-router)#network 1.1.1.0 0.0.0.255 area 1
Router(config-router)#network 5.5.5.0 0.0.0.255 area 0 //5.5.5.0为核心网络号
Router(config-router)#log-adjacency-changes //开启日志提示
Router(config-router)#exit
Router(config)#ip route 0.0.0.0 0.0.0.0 202.121.241.8

Router1:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Router>en
Router#conf t
Router(config)#int loopback0
Router(config-if)#ip add 5.5.5.5 255.255.255.0
Router(config-if)#no shut
Router(config-if)#exit
Router(config)#router ospf 5
Router(config-router)#router-id 5.5.5.5
Router(config-router)#network 5.5.5.0 0.0.0.255 area 0
Router(config-router)#network 202.121.241.0 0.0.0.255 area 1
Router(config-router)#network 10.1.2.0 0.0.0.255 area 2
Router(config-router)#network 192.168.4.0 0.0.0.255 area 3
Router(config-router)#network 172.16.1.0 0.0.0.255 area 4
Router(config-router)#log-adjacency-changes //开启日志功能

Router2:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Router(config)#int loopback0
Router(config-if)#ip add 3.3.3.3 255.255.255.0
Router(config-if)#no shut
Router(config-if)#exit
Router(config)#router ospf 3
Router(config-router)#router-id 3.3.3.3
Router(config-router)#network 5.5.5.0 0.0.0.255 area 0
Router(config-router)#network 192.168.4.0 0.0.0.255 area 3
Router(config-router)#network 192.168.2.0 0.0.0.255 area 3
Router(config-router)#network 192.168.3.0 0.0.0.255 area 3
Router(config-router)#network 3.3.3.0 0.0.0.255 area 3
Router(config-router)#log-adjacency-changes //开启日志功能
Router(config-router)#exit
Router(config)#ip route 0.0.0.0 0.0.0.0 192.168.4.101
Router(config)#end
Router#

MS1:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Switch>en
Switch#conf t
Switch(config)#int loopback0
Switch(config-if)#ip add 2.2.2.2 255.255.255.0
Switch(config-if)#no shut
Switch(config-if)#exit
Switch(config)#ip routing
Switch(config)#router ospf 2
Switch(config-router)#router-id 2.2.2.2
Switch(config-router)#network 2.2.2.0 0.0.0.255 area 2
Switch(config-router)#network 10.1.2.0 0.0.0.255 area 2
Switch(config-router)#network 10.1.1.0 0.0.0.255 area 2
Switch(config-router)#network 5.5.5.0 0.0.0.255 area 0
Switch(config-router)#log-adjacency-changes
Switch(config-router)#exit
Switch(config)#ip route 0.0.0.0 0.0.0.0 10.1.2.101

MS2:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Switch#conf t
Switch(config)#int loopback0
Switch(config-if)#ip add 4.4.4.4 255.255.255.0
Switch(config-if)#no shut
Switch(config-if)#exit
Switch(config)#ip routing
Switch(config)#router ospf 4
Switch(config-router)#router-id 4.4.4.4
Switch(config-router)#network 4.4.4.0 0.0.0.255 area 4
Switch(config-router)#network 172.16.1.0 0.0.0.255 area 4
Switch(config-router)#network 5.5.5.0 0.0.0.255 area 0
Switch(config-router)#network 172.16.4.0 0.0.0.255 area 4
Switch(config-router)#network 172.16.5.0 0.0.0.255 area 4
Switch(config-router)#log-adjacency-changes
Switch(config-router)#exit
Switch(config)#
Switch(config)#ip route 0.0.0.0 0.0.0.0 172.16.1.101 //缺省路由

连通效果图:
image

0x04:至此所有设备均可以完成通讯,剩下的就是NAT协议和ACL策略组的布置了

标准IP访问控制列表,一个标准IP访问控制列表匹配IP协议包钟的源地址或源地址中的一部分,
可对匹配的协议包采取拒绝或允许两个操作。编号范围是从1~99.

扩展IP访问控制列表,扩展IP访问控制列表比标准IP访问控制列表具有更多的匹配项,
包括协议类型、源地址、目的地址、源端口、目的端口、建立连接的和IP优先级等。
编号范围是从100~199

1
2
3
4
这里我们再看看该实验的要求:
(5)在学院核心路由器上配置合适的NAT,使得宿舍楼1和宿舍楼2所属子网范围能访问外网,而教学楼1和教学楼2所属子网范围不能访问外网。
(6)在学院核心路由器上设置标准ACL或扩展ACL,允许教学楼的用户只可以访问数据中心服务器的WWW服务和FTP服务。
允许宿舍楼的用户可以访问外网的资源,也能访问教学楼的资源,其余的都不可以访问。

这里WWW服务即TCP协议端口默认为80,FTP文件传输协议默认端口为21。

因为要使宿舍楼1宿舍楼2能访问外网,而教学楼1教学楼2不能访问外网,
所以我们只需要对教学楼所属网段设置对应的动态NAT即可

此处注意nat相关的标准访问控制列表acl只能是路由器接口in方向

我们创建一个动态NAT的地址池为:202.121.241.9~202.121.241.100 (子网掩码/24)
对于核心路由器Router 1:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#access-list 10 permit 172.16.0.0 0.0.255.255
Router(config)#access-list 10 deny any
Router(config)#int fa1/0
Router(config-if)#ip access-group 10 in
Router(config-if)#exit
//创建一个地址池,地址池命名为nat-pool_1
Router(config)#ip nat pool nat-pool_1 202.121.241.9 202.121.241.100 netmask 255.255.255.0
//设置地址池nat-pool_1到inside方向,附加访问控制列表10
Router(config)#ip nat inside source list 10 pool nat-pool_1
Router(config)#int fa1/0
//设置接口fa1/0为NAT内接口
Router(config-if)#ip nat inside
//设置接口s0/3/0为NAT外接口
Router(config-if)#int s0/3/0
Router(config-if)#ip nat outside
Router(config-if)#exit

测试刚刚配置的动态NAT,让宿舍楼1和宿舍楼2的PC与外网设备通信,通过以下指令查看动态路由结果:
这里可以发现第一列inside global 中出现了我们建好的地址池中的IP

1
2
3
4
Router#sh ip nat translations 
Pro Inside global Inside local Outside local Outside global
icmp 202.121.241.10:1 172.16.5.22:1 219.220.240.101:1 219.220.240.101:1
icmp 202.121.241.9:2 172.16.4.22:2 219.220.240.101:2 219.220.240.101:2

这里我们完成了宿舍楼通过NAT访问外网,下面设置的ACL将令教学楼1和教学楼2不能访问外网。
对于核心路由器Router 1:

1
2
3
4
5
6
7
8
9
Router#en
Router#conf t
Router(config)#access-list 102 permit ip 172.16.0.0 0.0.255.255 any
Router(config)#access-list 102 deny ip 192.168.0.0 0.0.255.255 any
Router(config)#access-list 102 permit ip any any
Router(config)#int s0/3/0
Router(config-if)#ip access-group 102 out
Router(config-if)#exit
Router(config)#

下面设置只能访问数据中心的80和21端口。
对于核心路由器Router 1:

1
2
3
4
5
6
7
8
9
Router#en
Router#conf t
Router(config)#access-list 101 permit tcp any 10.1.0.0 0.0.255.255 eq 80
Router(config)#access-list 101 permit tcp any 10.1.0.0 0.0.255.255 eq 21
Router(config)#access-list 101 deny ip any any
Router(config)#int fa1/1
Router(config-if)#ip access-group 101 out
Router(config-if)#exit
Router(config)#

个人疏忽,其实还有教学楼与宿舍楼不能互通,并且宿舍楼不能访问数据中心,只需要在101策略组最后一条前加上一条:

access-list 101 deny ip 172.16.0.0 0.0.255.255 any

在Router1的f0/0接口上加上一个103策略组:


Router#conf t


Router(config)#access-list 103 deny ip 192.168.0.0 0.0.255.255 172.16.0.0 0.0.255.255

Router(config)#access-list 103 permit ip any any
Router(config)#int fa0/0

Router(config-if)#ip access-group 103 in
Router(config-if)#exit

最终效果:

PC0:外网设备
PC1:教学楼1设备
PC2:教学楼2设备
PC3:宿舍楼1设备
PC4:宿舍楼2设备

image

使用浏览器访问数据中心datacenter的80端口:

PC1:教学楼1设备
PC2:教学楼2设备
在上图中PC1和PC2不能直接通过ICMP(ping命令)访问datacenter,保证数据中心安全。

image
image

0x05:至此我们完成了实验六所有的实验要求

所有命令、截图都为本人完成,仅供参考,拒绝转载。

By Auspic1ous 大二菜鸡