一、 概要
掌握思科交换机和路由器配置,静态路由配置,虚拟局域网VLAN 配置,路由器实现Vlan间通信,SSH技术,NAT技术,实现中小型企业网的网络配置,具体需求如下:
1.vlan 10的第一个计算机地址通过 R2的DHCP服务器获得
2.R2上做NAT
3.做静态路由,使得所有计算机可以访问服务器,但是R3上不可以写静态路由
4.不同vlan之间计算机不能访问
5.所有计算机不能ping通R2
6.只有vlan 20可以 远程SSH R2,其他不行。
二、网络拓扑图
三、设计思路
如上图所示,配置各端口信息。
首先让所有设备能够互相通信,PC0要动态获取IP,而与DHCP服务器又不在同一个局域网,因而需要在R1上做DHCP中继。
R3上不能写内网的静态表,因此需要在R2上做NAT,将所有内网地址转化到R2 的 F0/1接口上200.100.100.2。
在R1 f0/1上划分虚拟接口,可以使不同VLAN相互访问,题目要求不能不同VLAN不能访问,需要做ACL。
计算机不能ping通R2,只有VLAN20能SSH访问R2,通过ACL列表扩展,禁止所有地址到R2的ICMP协议,R2的22端口只对VLAN20开放。
四、核心设计
1.在交换机上创建VLAN,并设置接口模式,
与PC端相连的都是access,其余接口都是trunk模式,这里以S1交换机为例演示两种设置
Switch(config)#vlan 10------------------直接创建vlan 10
Switch(config)#vlan 20------------------直接创建vlan 20
Switch(config)#interface f0/1----------锁定接口f0/1
Switch(config-if)#switchport mode access---将接口改为接入接口
Switch(config-if)#switchport access vlan 10---将接口化为vlan10
Switch(config)#interface f0/3----------锁定接口f0/3
Switch(config-if)#switchport mode access---将接口改为接入接口
Switch(config-if)#switchport access vlan 20---将接口化为vlan20
Switch(config)#interface f0/2----------锁定接口f0/2
Switch(config-if)#switchport mode trunk------将接口改变成trunk接口
2.在R1上划分虚拟接口,设置接口地址
Router(config-if)#int f0/1.10-------------------开启虚拟接口f0/1.10
Router(config-subif)#encapsulation dot1Q 10-----封装dot1Q,划进vlan10
Router(config-subif)#ip add 192.168.1.230 255.255.255.0----配置网关地址
Router(config-if)#int f0/1.20-------------------开启虚拟接口f0/1.20
Router(config-subif)#encapsulation dot1Q 20-----封装dot1Q,划进vlan10
Router(config-subif)#ip add 192.168.2.230 255.255.255.0----配置网关地址
Router(config-if)#int f0/1.30-------------------开启虚拟接口f0/1.10
Router(config-subif)#encapsulation dot1Q 30-----封装dot1Q,划进vlan30
Router(config-subif)#ip add 192.168.3.230 255.255.255.0----配置网关地址
3.在R2上做NAT,将三个192网段的以及R1的172网段转化到200.100.100.2上
Router(config)#access-list 1 permit 192.168.1.0 0.0.0.255
Router(config)#access-list 1 permit 192.168.2.0 0.0.0.255
Router(config)#access-list 1 permit 192.168.3.0 0.0.0.255
Router(config)#access-list 1 permit 172.16.1.0 0.0.0.255
Router(config)#ip nat inside source list 1 interface f0/1 overload
Router(config)#interface f0/0
Router(config-if)#ip nat inside------------------------定义inside接口
Router(config)#interface f0/1
Router(config-if)#ip nat outside-----------------------定义outside接口
4.简单配置R3,服务器地址,服务器网关地址为10.1.1.3
要实现ping通服务器,还需要在R1,R2上做静态路由表
R1:
Router(config-if)#ip route 200.100.100.0 255.255.255.0 f0/0
Router(config-if)#ip route 10.1.1.0 255.255.255.0 f0/0
R2:
Router(config-if)#ip route 192.168.1.0 255.255.255.0 f0/0
Router(config-if)#ip route 192.168.2.0 255.255.255.0 f0/0
Router(config-if)#ip route 192.168.3.0 255.255.255.0 f0/0
---------------这样整个网络基本ping通了,接下来写DHCP ---------------------------
5.在R2上写DHCP,由于R2和PC0不在一个局域网,需要在R1上做DHCP中继
R2:
Router(config)#ip dhcp pool 0813-------------建立一个dhcp池
Router(dhcp-config)#network 192.168.1.0 255.255.255.0-----规定地址池网段
Router(dhcp-config)#default-router 192.168.1.230----------默认路由器
Router(dhcp-config)#dns-server 8.8.8.8--------------------DNS服务器地址
Router(dhcp-config)#exit
Router(config)#ip dhcp excluded-address 192.168.1.1 192.168.1.32
R1:
Router(config)#int f0/1.10
Router(config-subif)#ip helper-address 172.16.1.2--------写DHCP服务器的地址
6.不同VLAN不能访问,在各个虚拟接口上设置ACL,这里以VLAN10为例
Router(config)#access-list 10 deny 192.168.2.0 0.0.0.255
Router(config)#access-list 10 deny 192.168.3.0 0.0.0.255
Router(config)#access-list 10 permit any
Router(config)#int f0/1.10
Router(config-subif)#ip access-group 10 out
7.所有主机不能ping通R2,即使用ACL扩展列表禁止ICMP协议
R2(config)#access-list 100 deny icmp 192.168.1.0 0.0.0.0 host 172.16.1.2--
--------拒绝192.168.1.0/24 ping 172.16.1.2
R2(config)#access-list 100 deny icmp 192.168.2.0 0.0.0.0 host 172.16.1.2--
--------拒绝192.168.2.0/24 ping 172.16.1.2
R2(config)#access-list 100 deny icmp 192.168.3.0 0.0.0.0 host 172.16.1.2---
--------拒绝192.168.3.0/24 ping 172.16.1.2
R2(config)#int f0/0
R2(config-if)#ip access-group 100 in --------------------进方向调用
8.只有VLAN20能远程SSH访问R2,做法同上
开启SSH服务
R2(config)#username AAA password 123---------------------设置本地用户密码
R2(config)#ip domain-name xxx ---------------------设置域名
R2(config)#crypto key generate rsa ---------------------设置加密秘钥
The name for the keys will be: R1.xxx
Choose the size of the key modulus in the range of 360 to 2048 for your
General Purpose Keys. Choosing a key modulus greater than 512 may take
a few minutes.
How many bits in the modulus [512]: 1024------------------秘钥长度
% Generating 1024 bit RSA keys, keys will be non-exportable...[OK]
R1(config)#line vty 0 4 --------------------------------开启telnet 0 4
*?? 1 1:29:40.893: %SSH-5-ENABLED: SSH 1.99 has been enabled
R1(config-line)#login local-------------------------------使用本地账号密码登录
R1(config-line)#transport input ssh-----------------------开启SSH
设置ACL
R2(config)#access-list 100 permit tcp 192.168.2.0 0.0.0.255 host 172.16.1.2 eq 22----
允许VLAN20 SSH R2
R2(config)#access-list 100 deny tcp 192.168.1.0 0.0.0.255 host 172.16.1.2 eq 22----拒绝VLAN10 SSH R2
R2(config)#access-list 100 deny tcp 192.168.3.0 0.0.0.255 host 172.16.1.2 eq 22----拒绝VLAN30 SSH R2
R2(config)#access-list 100 permit ip any any
四、实验截图
1.Ping通服务器
2.不能Ping R2
3.同一VLAN可以访问,不同VLAN不能访问。
4.DHCP
5.SSH
五、调试过程中的问题
实验中遇到的问题:一是单臂路由的设计使不同网段能够访问,而本次的需求是不能访问,第一个想到的是能不能在交换机上做ACL,上网查了资料发现有些交换机是可以的,但是本次模拟器交换机做不了,所以只能在R1路由器虚拟接口上做ACL;二是DHCP中继的问题,这里很清楚服务器是172.16.1.2,但是在哪个接口上做中继呢,开始是在int f0/1上,行不通转到int f0/0,还是不行,最后才试到int f0/1.10上面,也弄清了DHCP中继的原理;最后是做SSH的时候虽然写了ACL,但是任何主机都能SSH访问R2,排查了很久才找到原因,在做所有主机不能Ping R2的时候,因为ACL最后默认deny any,导致不能Ping通服务器,又加了一条permit ip any any 。而这条规则顺序先于SSH规则,所以SSH写的规则都没用,删除这一条,并重新写到最后一条规则,SSH访问控制成功,实验完成。