Simple logical-system configuration

If you have at least one Juniper router for your lab, you could expand the topology with logical systems. In this post I will show you a very simple setup for logical systems with back-to-back cross-cable or via switches.

Our goal is the following topology with just one physical Juniper Router:

Example Topology
Example Topology

To achieve this, we use cross-cables between two fast-ethernet or gigabit-ethernet interfaces.  You could also use a switch, but this not really necessary:

Example cabling
Example cabling

On ethernet interfaces you configure 802.1q vlan-tagging. This give you the option to configure multiple logical interfaces between the routers. In the following configuration we use fe-0/2/2 and fe-0/2/3 connected by a cross-cable. We also add loopback units for every logical-system and apply a simple OSPF configuration.

The configuration looks like this:

interfaces {
    fe-0/2/2 {
        description "back to back to fe-0/2/3";
        vlan-tagging;
    }
    fe-0/2/3 {
        description "back to back to fe-0/2/2";
        vlan-tagging;
    }
}
logical-systems {
    R1 {
        interfaces {
            fe-0/2/2 {
                unit 50 {
                    description "R1 to R2";
                    vlan-id 50;
                    family inet {
                        address 10.0.1.1/30;
                    }
                }
                unit 51 {
                    description "R1 to R3";
                    vlan-id 51;
                    family inet {
                        address 10.0.1.5/30;
                    } 
                }
            }
            lo0 {
                unit 1 {
                    family inet {
                        address 10.0.2.1/32;
                    }
                }
            }
        }
        protocols {
            ospf {
                area 0.0.0.0 {
                    interface fe-0/2/2.50;
                    interface fe-0/2/2.51;
                    interface lo0.1 {
                        passive;
                    }
                }
            }
        }
    }
    R2 {
        interfaces {
            fe-0/2/2 {
                unit 52 {
                    description "R2 to R3";
                    vlan-id 52;
                    family inet {
                        address 10.0.1.9/30;
                    }
                }
            }
            fe-0/2/3 {
                unit 50 {
                    description "R2 to R1";
                    vlan-id 50;
                    family inet {
                        address 10.0.1.2/30;
                    }
                }
            }
            lo0 {
                unit 2 {
                    family inet {
                        address 10.0.2.2/32;
                    }
                }
            }
        }
        protocols {
            ospf {
                area 0.0.0.0 {
                    interface fe-0/2/2.52;
                    interface fe-0/2/3.50;
                    interface lo0.2 {
                        passive;
                    }
                }
            }
        }
    }
    R3 {
        interfaces {
            fe-0/2/3 {
                unit 51 {
                    description "R3 to R1";
                    vlan-id 51;
                    family inet {
                         address 10.0.1.6/30;
                    }
                }
                unit 52 {
                    description "R3 to R2";
                    vlan-id 52;
                    family inet {
                         address 10.0.1.10/30;
                    }
                }
            }
            lo0 {
                unit 3 {
                    family inet {
                        address 10.0.2.3/32;
                    }
                }
            }
        }
        protocols {
            ospf {
                area 0.0.0.0 {
                    interface fe-0/2/3.51;
                    interface fe-0/2/3.52;
                    interface lo0.3 {
                        passive;
                    }
                }
            }
        }
    }
}

For every command you must add the option „logical-system <NAME>“ to issue the command from the point of view of the logical-sysems. Now we can check the OSPF operation:

admin@router> show route logical-system R1
inet.0: 9 destinations, 9 routes (9 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

10.0.1.0/30 *[Direct/0] 00:08:59
 > via fe-0/2/2.50
10.0.1.1/32 *[Local/0] 00:08:59
 Local via fe-0/2/2.50
10.0.1.4/30 *[Direct/0] 00:08:59
 > via fe-0/2/2.51
10.0.1.5/32 *[Local/0] 00:08:59
 Local via fe-0/2/2.51
10.0.1.8/30 *[OSPF/10] 00:08:09, metric 2
 > to 10.0.1.2 via fe-0/2/2.50
 to 10.0.1.6 via fe-0/2/2.51
10.0.2.1/32 *[Direct/0] 00:12:16
 > via lo0.1
10.0.2.2/32 *[OSPF/10] 00:08:09, metric 1
 > to 10.0.1.2 via fe-0/2/2.50
10.0.2.3/32 *[OSPF/10] 00:08:09, metric 1
 > to 10.0.1.6 via fe-0/2/2.51
224.0.0.5/32 *[OSPF/10] 00:12:18, metric 1
 MultiRecv

admin@router> ping 10.0.2.2 logical-system R1
PING 10.0.2.2 (10.0.2.2): 56 data bytes
64 bytes from 10.0.2.2: icmp_seq=0 ttl=64 time=1.224 ms
64 bytes from 10.0.2.2: icmp_seq=1 ttl=64 time=1.088 ms
^C
--- 10.0.2.2 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max/stddev = 1.088/1.156/1.224/0.068 ms

admin@router> ping 10.0.2.3 logical-system R1
PING 10.0.2.3 (10.0.2.3): 56 data bytes
64 bytes from 10.0.2.3: icmp_seq=0 ttl=64 time=1.110 ms
64 bytes from 10.0.2.3: icmp_seq=1 ttl=64 time=1.032 ms
^C
--- 10.0.2.3 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max/stddev = 1.032/1.071/1.110/0.039 ms

admin@router>

As you can see we can succesfully ping every loopback from R1.

Hint: You must use different loopback units on every logical-system! Otherwise you get a commit error.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.