【实验】小区拨号 PPPoE & DHCP & telnet & NAT(PAT) & OSPF & ACL 综合实验(感谢王老板 / RexJmes 的投稿)

感谢 “ 王老板 / RexJmes ” 的投稿,欢迎大家踊跃投稿(实验写进 Word 文档,发至  即可)哟 ~~

设计了一个小实验,模拟小区宽带拨号,普通用户的大部分特性都做了,诸如 DHCP & PPPoE & telnet 等,以及 OSPF 单区域实验。还是挺好玩的,我自己设计自己做了一会儿,简单是简单,但是特性很多,注意点很多。我还在里面留了两个小坑,不注意的话就不满足需求了,所以还挺好玩儿的。喜欢的朋友拿去玩儿一把,所有的 GNS3 都能做。

实验拓扑:

小区拨号 PPPoE & DHCP & telnet & NAT(PAT) & OSPF & ACL 综合实验(感谢王老板 / RexJmes 的投稿)
小区拨号 PPPoE & DHCP & telnet & NAT(PAT) & OSPF & ACL 综合实验(感谢王老板 / RexJmes 的投稿)

实验需求:

  • 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 了,输出结果如下图所示。

PC telnet R1
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 通网关,输出结果如下图所示。

PC 可以得到地址,同时可以 ping 通网关
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 上的输出结果如下图所示。

在 R1 上看 OSPF 邻居关系
在 R1 上看 OSPF 邻居关系

此时 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,输出结果如下图所示。

PC 可以 ping 通 8.8.8.8,但是 ping 不通 61.1.1.1
PC 可以 ping 通 8.8.8.8,但是 ping 不通 61.1.1.1

 

本文完。如有疑问,欢迎在下方留言;如本文有什么错误,欢迎在下方留言指正,谢谢。

 

其他相关文章:

打赏作者
这里是 “ CCIE 工程师社区 ” 官方的捐款通道,您是否可以考虑请我们喝杯咖啡呢?

您的支持将鼓励我们继续创作!

[微信] 扫描二维码打赏

[支付宝] 扫描二维码打赏

Was this article helpful?

Related Articles

Leave A Comment?

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据