如何将 4 个路由器与 1 个交换机连接?

网络工程 转变 路由器
2021-07-20 21:32:31

几天前,我在我的工作场所收到了我的前辈的挑战。这是他给我的拓扑图: 拓扑

问题是,我如何让每台电脑都能互相ping通?我尝试了 IGRP 和 InterVLAN 路由,但都不起作用。我什至多次重新加载路由器和交换机。提前致谢。

这是我目前的配置:

-Router-A-
Router>en
Router#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#router eigrp 100
Router(config-router)#network 10.10.0.0
Router(config-router)#network 10.10.1.0
Router(config-router)#network 10.10.2.0
Router(config-router)#network 10.10.3.0
Router(config-router)#network 192.168.0.0
Router(config-router)#no auto-summary
Router(config-router)#ex

-Router-B-
Router#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#router eigrp 100
Router(config-router)#network 10.10.0.0
Router(config-router)#network 10.10.1.0
Router(config-router)#network 10.10.2.0
Router(config-router)#network 10.10.3.0
Router(config-router)#network 192.168.0.0
Router(config-router)#no auto-summary
Router(config-router)#ex
Router(config)#

-Router-C-
Router#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#router eigrp 100
Router(config-router)#network 10.10.0.0
Router(config-router)#network 10.10.1.0
Router(config-router)#network 10.10.2.0
Router(config-router)#network 10.10.3.0
Router(config-router)#network 192.168.0.0
Router(config-router)#no auto-summary
Router(config-router)#ex
Router(config)#

-Router-D-
Router#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#router eigrp 100
Router(config-router)#network 10.10.0.0
Router(config-router)#network 10.10.1.0
Router(config-router)#network 10.10.2.0
Router(config-router)#network 10.10.3.0
Router(config-router)#network 192.168.0.0
Router(config-router)#no auto-summary
Router(config-router)#ex
Router(config)#

我的交换机配置:

Switch(config-if)#ex
Switch(config)#int fa0/1
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan1
                                        ^
% Invalid input detected at '^' marker.

Switch(config-if)#switchport access vlan 1
Switch(config-if)#ex
Switch(config)#int fa0/2
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 1
Switch(config-if)#ex
Switch(config)#int fa0/3
Switch(config-if)#switchport mode access vlan 1
                                         ^
% Invalid input detected at '^' marker.

Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 1
Switch(config-if)#ex
Switch(config)#int fa0/4
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 1
Switch(config-if)#ex
Switch(config)#
3个回答

这里有两个奇怪的挑战。

  1. 连接到单个(!)VLAN 上的中央交换机的路由器具有不兼容的接口地址,即。每个路由器接口都驻留在单独的 IP 网络中,因此它们不能相互通信。您要么需要合并面向内的接口地址,要么使用相互兼容的辅助地址。
  2. 路由器远端的PC都使用来自同一IP网络192.168.0.0/24的IP地址。当他们尝试通信时,他们不会使用路由器/网关,而是尝试直接使用他们的第 2 层连接,即。ARP 目标并直接发送帧。

2. 问题可以通过完全绕过路由器并在 PC 之间使用公共 VLAN 来克服 - 首选解决方案

或者

每个路由器都需要在一个狂野的方案中对 PC 进行源/目标 NAT:例如,PC0 可以将 PC1 寻址为 192.168。129 .1 路由到路由器 4(将源地址 NAT 转换为 192.168. 128 .2),通过中央交换机到达路由器 5(将目标地址 NAT 转换为 192.168. 0 .1) - 这是疯帽子解决方案. 显然,每台 PC 都需要将其路由器用作默认网关,并且每台路由器都需要知道(经过 NAT 处理的)PC 网络的路由。

在此处输入图片说明

为路由配置 CoreSwitch

  • 开启ip路由
  • 每个端口上没有交换机端口
  • 分配IP地址
  • 在每个端口上启用 eigrp asn 1

通过他们的 /30 10.10.x.0/30 网络获取 EIGRP ASN 1 上的所有路由器,不要通告 192.168.0.0 子网,它会搞砸一切。

  • 为连接到 CoreSwitch 的接口分配 IP 地址
  • 写描述
  • 在与 CoreSwitch 和环回的连接上启用 eigrp asn 1,'network 10.10.x.0 0.0.0.3','network 1.1.1.1 0.0.0.0'
  • 给每台路由器分配一个loopback,例如RA loopback0是1.1.1.1/32,RB是2.2.2.2/32

通过从路由器 ping 路由器确保通过 10.10.x.0/30 地址的连接

  • 从每个路由器ping所有路由器的环回以确保连接
  • 使用每个路由器环回作为具有扩展 ping 命令的 ping 源

*环回将与 nat 一起使用

  • 地址 192.168.0.0/24 子网上的主机

每个路由器内部接口的网关IP地址可以是192.168.0.254/24

  • 在每个路由器的内部接口上分配网关 IP 地址
  • 在主机上分配默认网关
  • 从每个主机 ping 到它们的默认网关
  • ping 默认网关的环回确保默认网关正常工作

最后一步也是唯一棘手的部分,NATing 我为内部-> 外部流量重载 NAT,并在每个网关上设置静态 NAT,并将其环回作为外部接口,用于从外部-> 内部流量与每个网关的连接

这样,路由器 gig/30 接口不必用于静态 NAT,仍可用于其他连接

如果每个 LAN 上存在多个主机,则可以为每个静态 NAT 创建和通告环回,这不是很好,但它可以工作,例如。1.1.1.1, 1.1.1.2...1.1.1.n, 2.2.2.1...2.2.2.n

静态 NAT 和 NAT 过载

首先进行过载,您可以通过从相应主机 ping CoreSwitch 的接口来检查它,然后进行静态 NAT 并从 CoreSwitch ping 到每个主机

超载:

RA(config)# interface gi0/2
RA(config-if)# ip nat inside
RA(config)# interface gi0/1
RA(config-if)# ip nat outside
RA(config)# access-list 1 permit 192.168.0.0 0.0.0.255  #Will match and 192.168.0.0/24 address
RA(config)# ip nat inside source list 1 interface gi0/1 
#Any matched address will be translated to gi0/1's external interface address solving the problem of 192.168.0.0/24 being non-routable

从每个主机 Ping CoreSwitch 以确保它正常工作

静态

RA(config)# int loopback0
RA(config-if)ip nat outside
RA(config)# ip nat inside source static 192.168.0.1 1.1.1.1
        #you will need to change 192.168.0.1 to 192.168.0.2..192.168.0.4 for each router

证明在翻译中,因为与回送的连通性已经被证明。

在从 RA 的 PC1 ping 之后:

RC#show ip nat tran
Pro Inside global      Inside local       Outside local      Outside global
icmp 3.3.3.3:1415      192.168.0.3:1415   2.2.2.2:1415       2.2.2.2:1415
--- 3.3.3.3            192.168.0.3        ---                ---

所有主机都应该通过静态转换连接到所有其他主机,通过每个路由器环回到所需的内部主机,以及每个路由器外部接口的过载,以实现内部连接。

路由器 RA 的相关配置最终看起来像这样:

RA#show run
Building configuration...

hostname RA
!
interface Loopback0
 ip address 1.1.1.1 255.255.255.255
 ip nat outside
 ip virtual-reassembly in
!
interface GigabitEthernet0/1
 description to CoreSwitch
 ip address 10.10.1.1 255.255.255.252
 ip nat outside
 ip virtual-reassembly in
 duplex full
 speed auto
 media-type rj45
!
interface GigabitEthernet0/2
 description to PC1
 ip address 192.168.0.254 255.255.255.0
 ip nat inside
 ip virtual-reassembly in
 duplex full
 speed auto
 media-type rj45
!
!
router eigrp 1
 network 1.1.1.1 0.0.0.0
 network 10.10.1.0 0.0.0.3
!
ip nat inside source list 1 interface GigabitEthernet0/1 overload
ip nat inside source static 192.168.0.1 1.1.1.1
!
access-list 1 permit 192.168.0.0 0.0.0.255
!
end

从 PC1 ping 2.2.2.2 后 在此处输入图片说明 在此处输入图片说明

从 RB 后面的 PC0 到 CoreSwitch 上的 10.10.2.2: 在此处输入图片说明

- router eigrp 100
network 10.10.0.0 0.0.0.3 
- IP address /Mask on the router interfaces
- default route
- PC configuration