Few days ago, I got an challenge from my Senior at my workplace. Here's the representation of the topology that he gave to me : Topology

The question is, how I make each pc could ping each other? I tried IGRP and InterVLAN routing and both doesn't work. I even reloading my Router and Switch several times. Thanks in advance.

Here's my current configuration :

-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)#

My switch configuration :

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)#
  • You need to add the router and switch configurations. – Cown Aug 10 at 6:35
  • I get it. But which configuration? I tried both with IGRP and InterVLAN but doesn't work – Specter Aug 10 at 6:36
  • No you misunderstand, you need to edit your question to include the configuration of your switch and routers. You can add the text and format it as code using {} around it. – Cown Aug 10 at 6:46
  • Oh, okay. I'm sorry. Brb, updating it. – Specter Aug 10 at 6:48
  • 1
    If the PCs could change IP addresses to be in seperate subnets (for example 192.168.1.10/24, 192.168.2.10/24, 192.168.3.10/24, 192.168.4.10/24), then the solution could be "simple and clean" by enabling routing on the switch (turning it into a L3-switch) with a) 4 VLANs and 4 SVIs (ìnterface vlan) or b) routed ports (no switchport, ip address ...). – Marc 'netztier' Luethi Aug 10 at 10:12
up vote 1 down vote accepted

enter image description here

Configure CoreSwitch for routing

  • turn on ip routing
  • no switchport on each port
  • assign ip addresses
  • enable eigrp asn 1 on each port

Get all routers on EIGRP ASN 1 through their /30 10.10.x.0/30 networks, don't advertise 192.168.0.0 subnets, it will screw up everything.

  • assign ip addresses to interfaces that connect to CoreSwitch
  • write descriptions
  • enable eigrp asn 1 on connections to CoreSwitch and loopbacks, 'network 10.10.x.0 0.0.0.3', 'network 1.1.1.1 0.0.0.0'
  • Assign each router a loopback, eg RA loopback0 is 1.1.1.1/32, RB is 2.2.2.2/32

Ensure connectivity through 10.10.x.0/30 addresses by pinging routers from routers

  • ping all all routers loopbacks from each router to ensure connectivity
  • use each routers loopback as the source of the ping with extended ping commands

*loopbacks will be used with nat

  • Address hosts on 192.168.0.0/24 subnets

Gateway IP address on each router's internal interface can be 192.168.0.254/24

  • assign gateway IP addresses on each router's internal interface
  • assign default gateways on hosts
  • ping from each host to their default gateway
  • ping default gateway's loopback ensure default gateway is working

Last step and the only tricky part, the NATing I overloaded NAT for interal->external traffic and set static NATs on each gateway with their loopback as the external interface for connections from the external->internal taffic with respect to each gateway

This way router gig/30 interfaces don't have to be used for static NATing and can still be used for other connections

a loopback can be created and advertised for each static NAT if more than one host exists on each LAN, not that nice but it works eg. 1.1.1.1, 1.1.1.2...1.1.1.n, 2.2.2.1...2.2.2.n

Static NAT and NAT overload

Do the overload first and you can check it by pinging the CoreSwitch's interface from the respective host, then do static NAT and ping from the CoreSwitch to each host

Overload:

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 from each Host to ensure this is working properly

Static:

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

The proof is in the translation because connectivity to the loopbacks was already proven.

After a ping from PC1 off of RA:

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        ---                ---

All hosts should have connectivity to all other hosts through static translation through each routers loopbacks to the desired internal host and overloading of each routers external interface for internal connections going out.

The relevant configuration for Router RA ends up looking like this:

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

After a ping from PC1 to 2.2.2.2 enter image description here enter image description here

And from PC0 behind RB to 10.10.2.2 on the CoreSwitch: enter image description here

  • Can I use FastEthernet instead GigabitEthernet? – Specter Aug 11 at 15:04
  • Yes FastE and GigE differ mainly at the physical layer and will have no effect on an implementation like this – trogdor Aug 11 at 15:19
  • When I checked with 'show ip nat tran', the Outside Global show IP Addresses from 10.10.x.0/30 network instead the IP from loopback. Is there anything I missed? – Specter Aug 12 at 4:05
  • I think what you're seeing should be the case on the host router that you are pinging out from. The router you are pinging the loopback on to reach the host behind it should have the loopback as the outside global. – trogdor Aug 12 at 4:43
  • I was wrong, I tested more and included the results of my NAT translations in my answer. The addresses are the same in the translations no matter which direction the traffic is going through the router if the loopbacks are being pinged. – trogdor Aug 12 at 6:04

There are two - odd - challenges here.

  1. The routers connected to the central switch on a single(!) VLAN have incompatible interface addresses, ie. the each router interface resides in a separate IP network, so they can't talk to each other. You either need to consolidate the inward-facing interface addresses or use secondary addresses that are compatible with each other.
  2. The PCs on the routers' far ends all use IP addresses from the same IP network 192.168.0.0/24. When they try to communicate they will not use a router/gateway but try to use their layer-2 connection directly, ie. ARP the destination and send a frame directly.

The problem in 2. can be overcome by either bypassing the routers completely and use a common VLAN between the PCs - preferred solution

or

Each router needs to source/destination NAT the PCs in a wild scheme: e.g. PC0 could address PC1 as 192.168.129.1 which is routed to Router 4 (which NATs the source address to 192.168.128.2), across the central switch to Router 5 (which NATs the destination address to 192.168.0.1) - this is the mad hatter solution. Obviously, each PC needs to use its router as default gateway and each router needs to know the routes to the (NATed) PC networks.

- router eigrp 100
network 10.10.0.0 0.0.0.3 
- IP address /Mask on the router interfaces
- default route
- PC configuration 
  • 2
    Can you explain little bit more clear about that default route? – Specter Aug 10 at 8:29
  • My eng is not very good. So i'm not sure it will be very "clear" in explanation :D ip route 0.0.0.0 0.0.0.0 Fa0/0 (exit interface) – EmmaG Aug 10 at 8:58

Your Answer

 
discard

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.