Description

This article explains how to login to MS-PICs via telnet.

Symptoms

Junos OS hides the internal address that is assigned to the CPU PIC (MS-MPC/ MS-MIC).

Solution

Hardware details:

labroot@MX480-r2020> show chassis hardware detail | match MS-MPC
FPC 1 REV 13 750-038768 CACP8365 MS-MPC
CPU BUILTIN BUILTIN MS-MPC-PMB
PIC 0 BUILTIN BUILTIN MS-MPC-PIC
PIC 1 BUILTIN BUILTIN MS-MPC-PIC
PIC 2 BUILTIN BUILTIN MS-MPC-PIC
PIC 3 BUILTIN BUILTIN MS-MPC-PIC


labroot@MX480-r2020> show tnp addresses
Name TNPaddr MAC address IF MTU E H R
master 0x1 02:00:00:00:00:04 em0 1500 0 0 3
master 0x1 02:00:01:00:00:04 em1 1500 0 1 3
re0 0x4 02:00:00:00:00:04 em0 1500 0 0 3
re0 0x4 02:00:01:00:00:04 em1 1500 0 1 3
fpc1 0x11 02:00:00:00:00:11 em0 1500 5 0 3
fpc2 0x12 02:00:00:00:00:12 em0 1500 4 0 3
fpc3 0x13 02:00:00:00:00:13 em0 1500 5 0 3
fpc5 0x15 02:00:00:00:00:15 em0 1500 4 0 3
fpc1.pic0 0x111 02:00:10:00:01:11 em0 1500 3 0 3
fpc1.pic1 0x211 02:00:10:00:02:11 em0 1500 2 0 3
fpc1.pic2 0x311 02:00:10:00:03:11 em0 1500 3 0 3
fpc1.pic3 0x411 02:00:10:00:04:11 em0 1500 3 0 3

bcast 0xffffffff ff:ff:ff:ff:ff:ff em0 1500 0 0 3
bcast 0xffffffff ff:ff:ff:ff:ff:ff em1 1500 0 1 3


The IP address of the PIC is calculated from the above output:

fpc1.pic0 0x111 => (hex) 0x80.00.01.11 = (decimal) 128.0.1.17
fpc1.pic2 0x211 => (hex) 0x80.00.02.11 = (decimal) 128.0.2.17
fpc1.pic3 0x311 => (hex) 0x80.00.01.11 = (decimal) 128.0.3.17
fpc1.pic4 0x411 => (hex) 0x80.00.02.11 = (decimal) 128.0.4.17

labroot@MX480-r2020> start shell user root

root@MX480-r2020% telnet -Ji fpc1.pic0
Trying 128.0.1.17...
Connected to fpc1.pic0.
Escape character is '^]'.

ms10 (ttyp0)
login: root

root@ms10% mspdbg-cli -ps
MSPMAND-CLI>

To login via the CLI:

PIC IP addresses 128.0.1.17,128.0.2.17,128.0.3.17 and 128.0.4.17 belong to a special routing-instance. Check the instance name with the CLI command, show route private . The instance name is __juniper_private1__.
 
labroot@MX480-r2020> show route private

__juniper_private1__.inet.0: 5 destinations, 9 routes (5 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

10.0.0.0/8         *[Direct/0] 1d 23:38:37
                    > via em0.0
                    [Direct/0] 1d 23:38:37
                    > via em1.0
10.0.0.4/32        *[Local/0] 1d 23:38:37
                      Local
128.0.0.0/2        *[Direct/0] 1d 23:38:37
                    > via em0.0
                    [Direct/0] 1d 23:38:37
                    > via em0.0
                    [Direct/0] 1d 23:38:37
                    > via em1.0
                    [Direct/0] 1d 23:38:37
                    > via em1.0
128.0.0.1/32       *[Local/0] 1d 23:38:37
                      Local
128.0.0.4/32       *[Local/0] 1d 23:38:37
                      Local

To access PICs, telnet to the PIC IP address with the routing instance name:
 
telnet routing-instance __juniper_private1__ 128.0.1.17

telnet routing-instance __juniper_private1__ 128.0.2.17

telnet routing-instance __juniper_private1__ 128.0.3.17

telnet routing-instance __juniper_private1__ 128.0.4.17

labroot@MX480-r2020> telnet routing-instance __juniper_private1__ 128.0.1.17
Trying 128.0.1.17...
Connected to 128.0.1.17.
Escape character is '^]'.

ms10 (ttyp0)

login: root
root@ms10%
root@ms10% exit

There is an easy way to access via the shell (no root required)
 
root@MX480-r2020% netstat -rn | grep pc-

128.0.1.17/32 S/user 1 ucst 569 4 pc-1/0/0.16383
128.0.2.17/32 S/user 1 ucst 570 4 pc-1/1/0.16383
128.0.3.17/32 S/user 1 ucst 572 4 pc-1/2/0.16383
128.0.4.17/32 S/user 1 ucst 574 4 pc-1/3/0.16383


root@MX480-r2020% telnet -Ji 128.0.1.17
Trying 128.0.1.17...
Connected to 128.0.1.17.
Escape character is '^]'.

ms10 (ttyp0)

login: root
root@ms10% exit

Related Information