感谢 “ 王老板 / RexJmes ” 的投稿,欢迎大家踊跃投稿(实验写进 Word 文档,发至 paper@ccie.lol 即可)哟 ~~ |
设计了一个小实验,模拟小区宽带拨号,普通用户的大部分特性都做了,诸如 DHCP & PPPoE & telnet 等,以及 OSPF 单区域实验。还是挺好玩的,我自己设计自己做了一会儿,简单是简单,但是特性很多,注意点很多。我还在里面留了两个小坑,不注意的话就不满足需求了,所以还挺好玩儿的。喜欢的朋友拿去玩儿一把,所有的 GNS3 都能做。
实验拓扑:

实验需求:
- Q1.1:PC 通过 R1 DHCP 获得地址,路由器模拟 PC 关闭路由功能;
- Q1.2:R1 上配置 DHCP Server(网关地址不允许分配),PC 能够 telnet 上 R1:
USERNAME = cisco password = Cisco123 enable password = Enable
- Q1.3:PC 可以访问 8.8.8.8,但是任何情况下都不允许访问 61.1.1.1,不允许在 PC 及 R1 上做任何路由过滤策略;
- Q2.1:R1 与 server 建立 OSPF 邻居(OSPF AS 1234,Area 0,Router-id = LOOPBACK0),并宣告 loopback 地址,不允许宣告 192 网段;
- Q2.2:R1 PPPoE 拨号上 server:
PPPOE name = cisco pppoe passsword = CISCO
实验过程:
Q1.1:PC 通过 R1 DHCP 获得地址,路由器模拟 PC 关闭路由功能:
PC>en // 特权模式 PC#conf t // 配置模式 PC(config)#int e0/0 // 进入接口E0/0 PC(config-if)#ip add dhcp // 以DHCP的方式获取地址 PC(config-if)#no sh // 接口保持开启状态 PC(config)#no ip routing // 关闭路由功能 PC(config)#end // 退出配置 PC#WR // 保存
Q1.2:R1 上配置 DHCP Server(网关地址不允许分配),PC 能够 telnet 上 R1:
PC 能够 telnet R1,同时给出了 username 和 password 就需要配置本地用户名和密码了。
另外 DHCP 分配地址,不允许把网关的地址分配出去,就要在 DHCP POOL 里面去除掉网关地址,虽然理论上来说 DHCP 协议是不会把已经分配的地址二次分配的,但是在某些情况下(网络延时等)这种情况还是会发生的,所以根据需求,就要在 DHCP POOL 里做出一个排除列表。
R1 基础配置:
interface Loopback0 ip address 1.1.1.1 255.255.255.255 interface Ethernet0/0 ip address 192.168.1.1 255.255.255.0 no shutdown
R1 telnet 部分:
R1#conf t R1(config)#username cisco password Cisco // 配置本地用户密码 R1(config)#enable secret level 15 Enable // 配置 enable 的 15 级权限及密码 R1(config)# R1(config)#line vty 0 4 // 进入 VTP 接口 R1(config-line)#login local // 调用本地用户 R1(config-line)#transport input all // 允许所有入向流量
测试:等 PC 拿到地址后就可以 telnet R1 了,输出结果如下图所示。

R1 DHCP 部分:
ip dhcp pool PC // 建 DHCP POOL,命名为 PC network 192.168.1.0 255.255.255.0 // PC POOL 池内使用的地址范围 default-router 192.168.1.1 // 这些地址默认网关 exit // 退出 ip dhcp excluded-address 192.168.1.1 // 在 DHCP 池中除去网关地址
测试:PC 可以得到地址,同时可以 ping 通网关,输出结果如下图所示。

Q1.3:PC 可以访问 8.8.8.8,但是任何情况下都不允许访问 61.1.1.1,不允许在 PC 及 R1 上做任何路由过滤策略:
留在最后做。
Q2.1:R1 与 server 建立 OSPF 邻居(OSPF AS 1234,Area 0,Router-id = LOOPBACK0),并宣告 loopback 地址,不允许宣告 192 网段:
R1 与 server 建立 OSPF 邻居,这里要注意的是并不是 E 0/1 接口之间进行邻居的建立,因为是 R1 进行 PPPoE 拨号的话,就是在 dialer 口下做,也可以直接宣告。
R1 上 PPPoE client 端配置:
R1# interface Dialer0 // 进 dialer0 口 ip address negotiated // 协商方式获得地址 ip mtu 1492 // MTU 1492 encapsulation ppp // 接口封装 PPP dialer pool 1 // 接口建立 dialer pool 1 ppp chap hostname cisco // PPP 用户名 ppp chap password 0 CISCO // PPP 密码 interface Ethernet0/1 // 进入 E0/1 口 pppoe enable // 启用 PPPoE pppoe-client dial-pool-number 1 // PPPoE 调用 dialer pool 1
这里因为所有的接口都要从 E 0/1 出去,而 E 0/1 又是调用 dialer 口的 PPP 配置,所以要加条默认到 dialer 口上:
R1# ip route 0.0.0.0 0.0.0.0 Dialer0
要求 PC 能够访问 8.8.8.8,但是不允许宣告 192 网段,这就需要做 NAT,严格来说是 PAT(Rikcy 注:在锐捷的文档里,你会发现锐捷把 PAT 称作 NAPT)。
PAT 配置:
R1# access-list 10 permit any // 建立 ACL列表 10,匹配所有流量 ip nat inside source list 10 interface Dialer0 overload // PAT 所有符合 ACL 列表 10 的从 dialer0 口出去 interface Ethernet0/0 // 进入 E 0/0 ip nat inside // PAT 进方向 interface Dialer0 // 进入 dialer0 口 ip nat outside // PAT 出方向
建立并宣告 OSPF:
R1: router ospf 1234 // 启用 ospf AS 号 1234 router-id 1.1.1.1 // RouterID 为 loopback0 network 1.1.1.1 0.0.0.0 area 0 // 宣告 loopback0 到 area 0 区域 network 100.100.100.0 0.0.0.255 area 0 // 宣告 100 网段到 area 0 区域
Q2.2:R1 PPPoE 拨号上 server:
建立 OSPF 邻居,建立 PPPoE 的 server 端。
server 端的基础配置:
interface Loopback0 ip address 2.2.2.2 255.255.255.255 interface Loopback1 ip address 8.8.8.8 255.255.255.255 interface Loopback2 ip address 61.1.1.1 255.255.255.255 interface Ethernet0/1 ip address 100.100.100.1 255.255.255.0
server 端的 OSPF 配置:
Server# router ospf 1234 router-id 2.2.2.2 network 2.2.2.2 0.0.0.0 area 0 network 100.100.100.0 0.0.0.255 area 0
server 端的 PPPoE 配置:
首先建立一个地址池,建立地址池的方式有很多,我这次用的是 DHCP 分配的方式,所以先建立 DHCP 池。
server 端的 PPPoE 配置如下:
ip dhcp pool R1 network 100.100.100.0 255.255.255.0 default-router 100.100.100.1 ip dhcp excluded-address 100.100.100.1
在 server 端建立 PPPoE 拨号的用户名和密码:
username cisco password CISCO
server 端的 PPPoE 配置:
bba-group pppoe global // BBA 协议 建立 PPPOE 组 virtual-template 1 // 调用接口 virtual-template 1 interface Ethernet0/1 pppoe enable group global // 启用 PPPOE,并调用 PPPOE 组 interface Virtual-Template1 // 进入 virtual-template 1 接口 ip unnumbered Ethernet0/1 // 接口匹配 E 0/1 接口 peer default ip address dhcp-pool R1 // 接口默认调用 DHCP-pool 池 1 内的地址 ppp authentication chap // 启用 PPP 认证
测试:建立成功后,R1 的 E 0/1 口能够拿到 server 分配的地址,同时两边建立 OSPF 邻居,R1 上的输出结果如下图所示。

此时 PC 上也能 ping 通 8.8.8.8 。
Q1.3:PC 可以访问 8.8.8.8,但是任何情况下都不允许访问 61.1.1.1,不允许在 PC 及 R1 上做任何路由过滤策略:
路由过滤,由于不允许在 PC 和 R1 上做过滤策略,那么需要在 server 上做。
Server# access-list 100 deny ip any host 61.1.1.1 // 建立 ACL 列表 100,deny 掉所有地址去往主机 61.1.1.1 的流量 access-list 100 permit ip any any // 放行其他流量
将此策略挂载到接口 Virtual-Template1 下:
interface Virtual-Template1 ip access-group 100 in
测试:PC 可以 ping 通 8.8.8.8,但是 ping 不通 61.1.1.1,输出结果如下图所示。

本文完。如有疑问,欢迎在下方留言;如本文有什么错误,欢迎在下方留言指正,谢谢。
其他相关文章:
- 【实验】PPPoE
- 【实验】DHCPv4
- 【实验】DHCPv6
- PPPoE 报文格式请看:《【转】链路层常见报文格式及长度汇总》
发表评论?