This article explains how to login to MS-PICs via telnet.
Junos OS hides the internal address that is assigned to the CPU PIC (MS-MPC/ MS-MIC).
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