Routing – Can’t Ping Past Router in CORE Network Emulator

Networkpingrouterrouting

I created a very simple network in CORE Network Emulator with Host h1, Router R1, Router R2, and Host h2 (screen shot).

I got into the shell for h1, and tried to ping the other devices. I can ping both IP addresses of R1, but attempts to ping anything beyond it, i.e. R2 fails.

When I "log into" R1 I can ping the IP address of R2 that is connected to R1, but not the IP address on the other side (which connects to h2).

What am I missing?

Screen Shot

Here is the config in the CORE/IMUNES format:

node n1 {
    type router
    model router
    network-config {
    hostname R1
    !
    interface eth1
     ip address 10.0.1.1/24
     ipv6 address 2001:1::1/64
    !
    interface eth0
     ip address 10.0.0.1/24
     ipv6 address 2001:0::1/64
    !
    }
    canvas c1
    iconcoords {371.0 308.0}
    labelcoords {371.0 340.0}
    interface-peer {eth0 n3}
    interface-peer {eth1 n2}
}

node n2 {
    type router
    model router
    network-config {
    hostname R2
    !
    interface eth1
     ip address 10.0.2.1/24
     ipv6 address 2001:2::1/64
    !
    interface eth0
     ip address 10.0.1.2/24
     ipv6 address 2001:1::2/64
    !
    }
    canvas c1
    iconcoords {598.0 305.0}
    labelcoords {598.0 337.0}
    interface-peer {eth0 n1}
    interface-peer {eth1 n4}
}

node n3 {
    type router
    model host
    network-config {
    hostname h1
    !
    interface eth0
     ip address 10.0.0.10/24
     ipv6 address 2001:0::10/64
    !
    }
    canvas c1
    iconcoords {201.0 465.0}
    labelcoords {201.0 497.0}
    interface-peer {eth0 n1}
}

node n4 {
    type router
    model host
    network-config {
    hostname h2
    !
    interface eth0
     ip address 10.0.2.10/24
     ipv6 address 2001:2::10/64
    !
    }
    canvas c1
    iconcoords {753.0 460.0}
    labelcoords {753.0 492.0}
    interface-peer {eth0 n2}
}

link l1 {
    nodes {n3 n1}
    bandwidth 0
}

link l2 {
    nodes {n1 n2}
    bandwidth 0
}

link l3 {
    nodes {n2 n4}
    bandwidth 0
}

canvas c1 {
    name {Canvas1}
}

option global {
    interface_names no
    ip_addresses yes
    ipv6_addresses no
    node_labels yes
    link_labels yes
    show_api no
    background_images no
    annotations yes
    grid yes
    traffic_start 0
}

option session {
}

Best Answer

You don't have any type of routing configured. Routers need to know where to send packets, otherwise they will simply drop the packets Routers learn where networks are in three ways:

  1. Directly connected networks
  2. Statically configured routes
  3. Through a dynamic routing protocol

You routers know about the networks that are directly connected to them, but they need to be told about networks that are not directly connected to them. You can either put in static routes to the other networks, or you can run a common routing protocol between the routers.