ACL-NAT-VLAN-DHCP综合实验配置
实验拓扑图:
实验目的:
(一)禁止pc3上网,其他局域网内主机不受影响
(二)使局域网内所有主机都能上网。(只有一个公网地址)
(三)局域网内主机ip地址自动获取。
(四)r1提供单臂路由和dhcp功能,实现vlan间通信
结合上面的要求,要让所有主机都能上网,并只有一个公网地址,所以要用NAT,因为要禁止pc3上网,要配置ACL,因为所有主机的ip地址是从dhcp自动获取,所以限制pc3不能基于ip地址(如果是静态分配的地址,那pc3也可以更改ip地址),可以划分vlan来实现。
因为要禁止pc3,所以把pc3单独放到vlan2里。然后禁止vlan2所有成员也就禁止了pc3,就算pc3更改ip地址也不能上网。
基本信息配置(略)
r1(config)#in f0/0
r1(config-if)#no ip add //主接口不能有ip地址
r1(config-if)#no shut //主接口必须激活,否则子接口不能激活
r1(config-if)#in f0/0.1 //进入子接口
r1(config-subif)#encapsulation dot1Q 1 //封装类型为dot1q并给vlan1使用
r1(config-subif)#ip add 192.168.1.1 255.255.255.0 //配ip地址,也是vlan的网关地址
r1(config-subif)#no shut //激活子接口
r1(config-subif)#in f0/0.2
r1(config-subif)#encapsulation dot1Q 2 //封装类型为dot1q并给vlan2使用
r1(config-subif)#ip add 192.168.2.1 255.255.255.0
r1(config-subif)#no shut
r1(config-subif)#in f0/0.3
r1(config-subif)#encapsulation d 3 //封装类型为dot1q并给vlan3使用
r1(config-subif)#ip add 192.168.3.1 255.255.255.0
r1(config-subif)#no shut
r1(config-subif)#exi
r1(config)#ip dhcp pool v1 //建一个名为v1的ip地址池
r1(dhcp-config)#network 192.168.1.0 /24 //要分配的ip地址池
r1(dhcp-config)#default-router 192.168.1.1 //网关地址
r1(dhcp-config)#lease 4 //租约为4天
r1(dhcp-config)#exi
r1(config)#ip dhcp pool v2
r1(dhcp-config)#netw 192.168.2.0 /25
r1(dhcp-config)#default-router 192.168.2.1
r1(dhcp-config)#lease 4
r1(dhcp-config)#exi
r1(config)#ip dhcp pool v3
r1(dhcp-config)#netw 192.168.3.0 /24
r1(dhcp-config)#default-router 192.168.3.1
r1(dhcp-config)#lease 4
r1(dhcp-config)#exi
r1(config)#ip dhcp excluded-address 192.168.1.1 //指定不分发的ip地址
r1(config)#ip dhcp excluded-address 192.168.2.1
r1(config)#ip dhcp excluded-address 192.168.3.1
vlan划分规划:vlan1(sw1和sw3)vlan2(pc3)vlan3(pc2和pc4)
sw1(config)#in vlan 1
sw1(config-if)#ip add dhcp //ip地址从dhcp获取
sw1(config-if)#exi
sw1(config)#vlan 2 //新建vlan2
sw1(config-vlan)#name v2 //给vlan2取名
sw1(config-vlan)#vlan 3
sw1(config-vlan)#name v3
sw1(config-vlan)#exi
sw1(config)#in f1/2
sw1(config-if)#switchport mode access //接口模式设为访问端口
sw1(config-if)#switchport access vlan 3 //接口加入vlan 3
sw1(config-if)#exi
sw1(config)#in f1/0
sw1(config-if)#swi m trunk //接口模式为中继端口
sw1(config-if)#swi t en d //封装类型为dot1q
sw1(config-if)#exi
sw1(config)#in f1/15
sw1(config-if)#swi m t
sw1(config-if)#swi t en d //必须和对端的封装类型一样
sw1(config-if)#exi
sw1(config)#vtp m server //vtp服务端
sw1(config)#vtp domain sw //vtp域名
sw1(config)#vtp pass abc //vtp密码
sw1(config)#vtp pruning //vtp修剪
sw2(config)#in f1/15
sw2(config-if)#swi m t
sw2(config-if)#swi t en d
sw2(config-if)#exi
sw2(config)#in vlan 1
sw2(config-if)#ip add dhcp
sw2(config-if)#exi
sw2(config)#vtp m c
sw2(config)#vtp domain sw
sw2(config)#vtp pass abc
sw2(config)#vtp pru
sw2(config)#in f1/1
sw2(config-if)#swi m a
sw2(config-if)#swi a v 3
sw2(config-if)#exi
sw2(config)#in f1/0
sw2(config-if)#swi m a
sw2(config-if)#swi a v 2
sw2(config-if)#exi
所有pc的配置一样,如下:
pc2(config)#in f0/0
pc2(config-if)#ip add dhcp //从dhcp获取
pc2(config-if)#no shut
pc2(config-if)#exi
测试:
pc2(config)#do p 192.168.3.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.3.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/26/64 ms
pc2(config)#do p 192.168.2.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.2.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/41/76 ms
相同vlan间能通信,不同vlan间也能通信。
r1(config)#in s1/0
r1(config-if)#ip add 219.146.0.1 255.255.255.0
r1(config-if)#no shut
r1(config-if)#exi
r2(config)#in s1/0
r2(config-if)#ip add 219.146.0.2 255.255.255.0
r2(config-if)#no shut
r2(config-if)#exi
测试pc2和外网的连通性:
pc2(config)#do p 219.146.0.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 219.146.0.2, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
不能通信,因为路由没有私有地址的路由表
r1(config)#access-list 10 permit 192.168.1.0 0.0.0.255 //新建列表10,允许192.168.1.0网段的地址
r1(config)#access-list 10 permit 192.168.2.0 0.0.0.255 //添加列表10的项。允许192.168.2.0网段的地址
r1(config)#access-list 10 permit 192.168.3.0 0.0.0.255 //添加列表10的项。允许192.168.3.0网段的地址
r1(config)#in s1/0
r1(config-if)#ip nat out //标记为外部接口
r1(config-if)#in f0/0.1 //必须进入子接口,应用在主接口上没有作用
r1(config-subif)#ip nat in //标记为内部接口
r1(config-subif)#in f0/0.2
r1(config-subif)#ip nat in
r1(config-subif)#in f0/0.3
r1(config-subif)#ip nat in
r1(config-subif)#exi
测试:
r1(config)#ip nat inside source list 10 interface s1/0 overload
pc2(config)#do p 219.146.0.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 219.146.0.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 60/113/188 ms
pc3(config)#do p 219.146.0.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 219.146.0.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 28/65/148 ms
现在所有内网主机都能和外网通信。
现在要禁止pc3的上网服务,这里以telnet为例:
r1(config)#access-list 110 deny tcp 192.168.2.0 0.0.0.255 any eq telnet //拒绝192.168.2.0网段的主机和任何人telnet。
r1(config)#access-list 110 permit ip a a //允许所有人的所有服务
r1(config)#in f0/0.2
r1(config-subif)#ip access-group 110 in //必须在子接口应用
r1(config-subif)#exi
测试:
pc3(config)#do telnet 219.146.0.2
Trying 219.146.0.2 ...
% Destination unreachable; gateway or host down
已经不能telnet,测试一下其他服务:
pc3(config)#do p 219.146.0.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 219.146.0.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 20/113/220 ms
可以,说明已经做成功了。
再测试一下其他主机:
pc2(config)#do telnet 219.146.0.2
Trying 219.146.0.2 ... Open
User Access Verification
Password:
r2>
r2>
r2>exi
[Connection to 219.146.0.2 closed by foreign host]
没问题。实验完成。
常用调试命令:
show vtp status: 查看vtp状态
show vlan-switch brief 查看vlan信息
show ip access-lists 查看ip访问列表
show access-lists 查看所有访问列表
show ip nat translations 查看所有活动的转换条目
show ip nat statisics 查看所有静态转换条目
clear ip nat translation * 清除所有动态的转换条目